d3-geo-многоугольник
Вырезание и геометрические операции для сферических многоугольников.
Установка
Если вы используете NPM, npm install d3-geo-polygon. В противном случае, загрузите последнюю версию. Вы также можете загрузить напрямую с unpkg. Поддерживаются среды AMD, CommonJS и vanilla. В vanilla среде экспортируется глобальная переменная d3.
<script src="https://unpkg.com/d3-geo@1"></script>
<script src="https://unpkg.com/d3-geo-polygon@1"></script>
<script>
// new projection
var projection = d3.geoDodecahedral();
// polyhedral projections don’t need SVG or canvas clipping anymore
var projection = d3.geoPolyhedralCollignon();
// arbitrary polygon clipping on any projection
var projection = d3.geoEquirectangular()
.preclip(d3.geoClipPolygon({
type: "Polygon",
coordinates: [[[-10, -10], [-10, 10], [10, 10], [10, -10], [-10, -10]]]
}));
</script> Справочник API
d3.geoClipPolygon(polygon) Исходный код
Учитывая GeoJSON многоугольник или многомногоугольник, возвращает функцию обрезки, подходящую для проекции.preclip.
clip.polygon()
Учитывая функцию clipPolygon, возвращает GeoJSON многоугольник.
Проекции
d3-geo-polygon добавляет обрезку многоугольников к полиэдральным проекциям из d3-geo-projection. Таким образом, он заменяет следующие символы:
d3.geoPolyhedral(tree, face) Исходный код
Определяет новую полиэдральную проекцию. tree — это остовное дерево узлов граней многоугольника; каждому узлу присваивается матрица преобразования node.transform. Функция face возвращает соответствующий узел для заданных лямбда и фи в радианах.
polyhedral.tree() возвращает остовное дерево полиэдра, по которому можно определить центры граней, многоугольники, общие рёбра и т. д.
d3.geoPolyhedralButterfly() Исходный код
Проекция бабочки гномонической.
d3.geoPolyhedralCollignon() Исходный код
Проекция бабочки Коллиньона.
d3.geoPolyhedralWaterman() Исходный код
Проекция бабочки, вдохновлённая дизайном Стива Уотермена.
Вводятся новые проекции:
d3.geoPolyhedralVoronoi([parents], [polygons], [faceProjection], [faceFind]) Исходный код
Возвращает полиэдральную проекцию, основанную на многоугольниках, расположенных в дереве в соответствии со списком parents. polygons — это GeoJSON FeatureCollection гео-Вороного ячеек, которые должны указывать соответствующие сайты (см. d3-geo-voronoi). Необязательная faceProjection передается в d3.geoPolyhedral() — обратите внимание, что гномоническая проекция на сайтах многоугольников — единственная faceProjection, которая работает в общем случае.
С помощью .parents([parents]), .polygons([polygons]), .faceProjection([faceProjection]) можно установить и прочитать соответствующие параметры. Используйте .faceFind(voronoi.find) для более быстрых результатов.
d3.geoCubic() Исходный код
Кубическая проекция.
d3.geoDodecahedral() Исходный код
Двенадцатигранник проекция.
d3.geoIcosahedral() Исходный код
Икосаэдрическая проекция.
d3.geoAirocean() Исходный код
Проекция Эйроушен Бакминстера Фуллера (также известная как «Димаксион»), основанная на очень специфической конфигурации икосаэдра, которая позволяет отображать континенты непрерывно. Преобразование треугольника Фуллера, сформулированное Робертом У. Греем (и реализованное Филиппом Ривьером), делает проекцию почти равноплощадной.
d3.geoCahillKeyes() Исходный код
d3.geoCahillKeyes
Проекция Кахилла-Кейза, разработанная Джином Кейзом (1975), основана на восьмиугольном дизайне Бернарда Дж. С. Кахилла 1909 года. Реализация Мэри Джо Грасы (2011), перенесённая в D3 Энрико Спиньелли (2013).
d3.geoTetrahedralLee() Исходный код
d3.geoLeeRaw
Конформная тетраэдрическая проекция Ли.
По умолчанию угол равен +30°, вершина вверх (-30° для нижней вершины, вершина вниз).
По умолчанию используется аспект projection.rotate([30, 180]) и имеет Северный полюс в центре треугольника — используйте projection.rotate([-30, 0]) для Южного аспекта.
d3.geoCox() Исходный код
d3.geoCoxRaw
Конформная проекция Кокса.
© 2010–2018 Michael Bostock
Licensed under the BSD License.
https://github.com/d3/d3-geo-polygon