Географическая проекция
Географическая проекция преобразует долготу и широту в координаты x и y. В Vega-Lite она размещает как отдельные точки с географическими координатами, так и области из GeoJSON — например, страны или штаты. Проекция задаётся на уровне отдельного представления рядом с encoding. Затем поля сопоставляются с каналами longitude и latitude, а для фигур между границами доступны также longitude2 и latitude2.
В примере проекция albersUsa размещает аэропорты США по широте и долготе:
Другие географические примеры доступны в галерее Vega-Lite.
Содержание страницы
Свойства проекции
| Свойство | Тип | Описание |
|---|---|---|
type |
ProjectionType, ExprRef | Картографическая проекция. Регистр не учитывается: например, "albers" и "Albers" обозначают один тип. Допустимые типы перечислены ниже.По умолчанию: equalEarth. |
center |
Vector2<number>, ExprRef | Центр проекции: массив из двух элементов — долготы и широты в градусах. По умолчанию: [0, 0]. |
clipAngle |
number, ExprRef | Угловой радиус круга обрезки проекции в градусах. При null вместо обрезки по малому кругу используется разрез по антимеридиану. |
clipExtent |
Vector2<Vector2<number>>, ExprRef | Прямоугольная область обрезки окна проекции в пикселях: [[x0, y0], [x1, y1]], где x0 — левая, y0 — верхняя, x1 — правая, y1 — нижняя граница. При null обрезка по окну не выполняется. |
fit |
Fit, Fit[], ExprRef | Геометрия GeoJSON для подгонки проекции: объект Feature, FeatureCollection, массив Feature или массив таких определений. |
parallels |
number[], ExprRef | Для конических проекций — две стандартные параллели, определяющие компоновку карты. Значение по умолчанию зависит от выбранной конической проекции. |
pointRadius |
number, ExprRef | Радиус в пикселях для геометрий GeoJSON Point и MultiPoint по умолчанию. Задаёт постоянный радиус. Для изменения радиуса по данным см. соответствующий параметр преобразований GeoPath и GeoShape.По умолчанию: 4.5. |
precision |
number, ExprRef | Порог адаптивного пересэмплирования проекции в пикселях; соответствует расстоянию в алгоритме Дугласа — Пекера. Если не задан, используется текущая точность проекции. По умолчанию: √0.5 ≈ 0.70710…. |
rotate |
Vector2<number>, Vector3<number>, ExprRef | Поворот по трём осям сферы: массив из двух или трёх чисел [lambda, phi, gamma], задающих углы в градусах (рыскание, тангаж и крен).По умолчанию: [0, 0, 0]. |
scale |
number, ExprRef | Коэффициент масштаба проекции, переопределяющий автоматическую подгонку. Стандартный масштаб зависит от проекции. Коэффициент линейно связан с расстояниями между спроецированными точками, но одинаковые значения не эквивалентны для разных проекций. |
translate |
Vector2<number>, ExprRef | Смещение проекции: массив из двух элементов [tx, ty]. |
Для подробного изучения параметров воспользуйтесь демонстрацией в документации проекций Vega.
Для отдельных видов проекций из библиотеки d3-geo-projection поддерживаются дополнительные параметры: coefficient, distance, fraction, lobes, parallel, radius, ratio, spacing и tilt.
Все свойства проекций необязательны; стандартные значения описаны в параметрах проекций Vega. Если проекция не указана явно, Vega-Lite добавляет её автоматически для примитива geoshape, поля типа geojson или каналов latitude и longitude.
Виды проекций
Vega-Lite включает следующие проекции библиотеки d3-geo:
| Тип | Описание |
|---|---|
albers |
Равновеликая коническая проекция Альберса. Настройка "conicEqualArea", ориентированная на США. |
albersUsa |
Составная проекция для 48 смежных штатов США, Гавайев и Аляски. Аляска показана с масштабом 0.35 относительно её истинной относительной площади. |
azimuthalEqualArea |
Равновеликая азимутальная проекция. |
azimuthalEquidistant |
Равноудалённая азимутальная проекция. |
conicConformal |
Равноугольная коническая проекция. Стандартные параллели [30°, 30°] дают плоский верх. |
conicEqualArea |
Равновеликая коническая проекция Альберса. |
conicEquidistant |
Равноудалённая коническая проекция. |
equalEarth |
Проекция Equal Earth, разработанная Бояном Шавричем и соавторами в 2018 году. |
equirectangular |
Равнопромежуточная цилиндрическая проекция (plate carrée), подобная непосредственному использованию долготы и широты. |
gnomonic |
Гномоническая проекция. |
identity |
Тождественная проекция. Также поддерживает логические параметры reflectX и reflectY. |
mercator |
Сферическая проекция Меркатора. Стандартный clipExtent даёт квадратную карту мира, обрезанную примерно по широтам ±85°. |
orthographic |
Ортографическая проекция. |
stereographic |
Стереографическая проекция. |
transverseMercator |
Поперечная сферическая проекция Меркатора. Стандартный clipExtent даёт квадратную карту мира, обрезанную примерно по широтам ±85°. |
Настройка проекции по умолчанию
// Спецификация представления верхнего уровня
{
...,
"config": { // Объект конфигурации
"projection": { ... }, // - Конфигурация проекции
...
}
}
Свойство projection объекта config определяет стандартные свойства и преобразования для разных видов проекций. Конфигурация может содержать любые свойства проекции, перечисленные выше.