Spec-Zone.ru › MapLibre GL JS

ProjectionData<MainMatrix extends mat4 = mat4, FallbackMatrix extends mat4 = MainMatrix>

ProjectionData<MainMatrix extends mat4 = mat4, FallbackMatrix extends mat4 = MainMatrix> = object

Этот тип содержит все данные, необходимые для проецирования тайла на экран в системе шейдеров MapLibre. Содержит данные, используемые как для проекции Меркатора, так и для проекции глобуса.

Параметры типа

Параметр типа Тип по умолчанию
MainMatrix extends mat4 mat4
FallbackMatrix extends mat4 MainMatrix

Свойства

clipAntimeridian

clipAntimeridian: boolean

Определяет, следует ли отбрасывать фрагменты линий за пределами экстента тайла по оси X: true для тайла с масштабом (zoom) 0 в проекции глобуса, иначе false. Тайл z0 охватывает весь мир, поэтому его буфер оборачивается вокруг планеты на сам тайл, дважды отрисовывая геометрию вблизи антимеридиана. Отсечение с помощью трафарета (stencil clipping) не может устранить это перекрытие одних и тех же пикселей, поэтому линии отсекаются во фрагментном шейдере (полигоны заливки отсекаются во время разбиения). Имя uniform-переменной: u_projection_clip_antimeridian.


clippingPlane

clippingPlane: [number, number, number, number]

Уравнение плоскости, пересекающей горизонт планеты. Предполагается, что планета является единичной сферой. Используется проекцией глобуса для отсечения. Имя uniform-переменной: u_projection_clipping_plane.


fallbackMatrix

fallbackMatrix: FallbackMatrix

Резервная матрица (fallback matrix), проецирующая текущий тайл в соответствии с проекцией Меркатора. Используется проекцией глобуса для анимированного перехода к проекции Меркатора. Имя uniform-переменной: u_projection_fallback_matrix.


mainMatrix

mainMatrix: MainMatrix

Основная матрица проекции. Для проекции Меркатора она обычно проецирует координаты внутри тайла 0..EXTENT на экран, для проекции глобуса — проецирует единичную сферу планеты на экран. Имя uniform-переменной: u_projection_matrix.


projectionTransition

projectionTransition: number

Значение в диапазоне 0..1, указывающее интерполяцию между проекциями Меркатора (0) и глобуса (1). Используется проекцией глобуса для скрытия перехода между проекциями на больших масштабах. Имя uniform-переменной: u_projection_transition.


tileMercatorCoords

tileMercatorCoords: [number, number, number, number]

Экстент текущего тайла в меркаторском квадрате. Используется проекцией глобуса. Первые два компонента представляют собой смещение по X и Y, последние два — масштаб по X и Y. Имя uniform-переменной: u_projection_tile_mercator_coords.

Преобразование координат внутри тайла в диапазоне 0..EXTENT выполняется следующим образом:

Пример

vec2 mercator_coords = u_projection_tile_mercator_coords.xy + in_tile.xy * u_projection_tile_mercator_coords.zw;

© MapLibre contributors
Licensed under the 3-Clause BSD License.
https://maplibre.org/maplibre-gl-js/docs/API/type-aliases/ProjectionData/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API