Как использовать режимы высоты

AltitudeMode – свойство, определяющее вертикальное размещение элемента карты. Она определяет, как отрисовывается объект: относительно рельефа, относительно наземных объектов (например, зданий) или на абсолютной высоте над уровнем моря.

Свойство AltitudeMode определяет, где относительно поверхности Земли будут отрисовываться элементы, которые вы добавляете на 3D-карту, например маркеры, ломаные линии, многоугольники и модели. Кроме того, AltitudeMode определяет положение камеры во время анимации flyCameraTo и flyCameraAround.

В этом руководстве рассказывается, как эффективно использовать AltitudeMode и какие факторы влияют на отрисовку элементов.

Цифровые модели рельефа

Размещение объектов регулируется двумя базовыми цифровыми моделями рельефа (DEM), доступными в API:

  • Цифровая модель рельефа (ЦМР) / "Земля". Вид "голой земли", показывающий высоту подстилающей местности с удаленными надземными объектами.
  • Цифровая модель поверхности (ЦМП) или сетка. Представление поверхности, включающее высоту рельефа и наземные объекты, такие как здания и деревья.

На изображении ниже показана разница между визуализацией городской территории в ЦМР и ЦММ.

Изображение, на котором рядом показаны цифровая модель рельефа и цифровая модель поверхности Колизея

AltitudeMode варианта

Выбор AltitudeMode определяет, как значение высоты объекта (если оно указано) интерпретируется относительно цифровых моделей рельефа.

  • ABSOLUTE – объект отображается относительно среднего уровня моря, рассчитанного с помощью EGM96.
  • CLAMP_TO_GROUND – объект отображается непосредственно на цифровой модели рельефа (на земле) без учета заданной высоты и в соответствии с рельефом.
  • RELATIVE_TO_GROUND – объект отображается относительно поверхности цифровой модели рельефа (земли).
  • RELATIVE_TO_MESH – объект отображается относительно цифровой модели поверхности (сетки), то есть самой высокой поверхности, включая землю, здания и воду.

Значения высоты в относительных режимах

При использовании относительных режимов (RELATIVE_TO_GROUND или RELATIVE_TO_MESH) указанное значение высоты является смещением относительно выбранной базовой поверхности, а не фиксированной высотой над уровнем моря. Например, если указать высоту 100, объект будет размещен на высоте 100 м над ЦМР или ЦМП.

Если в данных объекта не указана высота, то при использовании относительного режима, например RELATIVE_TO_MESH, объект будет размещен непосредственно на поверхности. Однако для ломаных линий и многоугольников соединения между точками будут прямыми линиями, которые могут проходить через сетку между точками, если вы не используете интерполяцию.