Zrozumienie i korzystanie z trybów wysokości

AltitudeMode to właściwość, która określa położenie elementu mapy w pionie. Określa, czy obiekt jest renderowany względem terenu, względem obiektów nadziemnych (takich jak budynki) czy na bezwzględnej wysokości nad poziomem morza.

AltitudeMode to właściwość, która określa, gdzie elementy dodawane do mapy 3D, takie jak znaczniki, linie łamane, wielokąty i modele, są renderowane względem powierzchni Ziemi. Dodatkowo AltitudeMode określa, gdzie kamera jest ustawiana podczas animacji flyCameraTo i flyCameraAround.

Z tego przewodnika dowiesz się, jak skutecznie korzystać z AltitudeMode, oraz poznasz czynniki, które wpływają na sposób renderowania elementów.

Numeryczne modele terenu

Umiejscowienie funkcji jest regulowane przez 2 podstawowe numeryczne modele terenu (NMT), które są dostępne w interfejsie API:

  • Numeryczny model terenu (NMT) / „Teren”: widok „gołej ziemi” pokazujący wysokość terenu bez obiektów nadziemnych.
  • Cyfrowy model powierzchni (CMP) / „Siatka”: reprezentacja powierzchni, która obejmuje wysokość terenu oraz obiekty nadziemne, takie jak budynki i drzewa.

Obraz poniżej pokazuje różnicę między renderowaniem obszaru miejskiego za pomocą NMT i CMP:

Obraz przedstawiający widoki Koloseum w DTM i DSM obok siebie

Opcje AltitudeMode

Wybór AltitudeMode określa, jak wartość wysokości funkcji (jeśli jest podana) jest interpretowana względem numerycznych modeli terenu.

  • ABSOLUTE: renderuje obiekt względem średniego poziomu morza, obliczonego za pomocą EGM96.
  • CLAMP_TO_GROUND: renderuje obiekt bezpośrednio na NMT (terenie), ignorując podaną wysokość i podążając za terenem.
  • RELATIVE_TO_GROUND: renderuje obiekt względem powierzchni NMT (terenu).
  • RELATIVE_TO_MESH: renderuje obiekt względem CMP (siatki) – najwyższej powierzchni, w tym gruntu, budynków i wody.

Wartości wysokości w trybach względnych

W przypadku korzystania z trybów względnych (RELATIVE_TO_GROUND lub RELATIVE_TO_MESH) podana wartość wysokości jest przesunięciem od wybranej powierzchni bazowej, a nie stałą wysokością nad poziomem morza. Na przykład wysokość 100 spowoduje umieszczenie funkcji 100 metrów nad NMT lub CMP.

Jeśli dane funkcji nie zawierają wysokości, tryb względny, taki jak RELATIVE_TO_MESH, umieści funkcję bezpośrednio na siatce lub powierzchni. W przypadku linii łamanych i wielokątów połączenia między punktami będą jednak liniami prostymi, co może spowodować, że linia będzie przechodzić przez siatkę między punktami, jeśli nie użyjesz interpolacji.