了解和使用海拔模式

AltitudeMode 是用于定义地图元素垂直位置的属性。它决定了对象是相对于地形、相对于地面特征(如建筑物)还是相对于海平面的绝对高度进行渲染。

AltitudeMode 属性用于确定您添加到 3D 地图中的元素(例如标记、多段线、多边形和模型)相对于地球表面的渲染位置。此外,AltitudeMode 控制相机在 flyCameraTo 和 flyCameraAround 动画期间的位置。

以下指南介绍了如何有效使用 AltitudeMode,以及影响元素呈现方式的因素。

数字高程模型

地图项放置由 API 中可访问的两个底层数字高程模型 (DEM) 控制:

  • 数字地形模型 (DTM)/“地面”:“裸地”视图,显示底层地形的高程,移除了地面上的对象。
  • 数字表面模型 (DSM)/“网格”:一种表面表示,包括地形海拔以及建筑物和树木等地面特征。

下图显示了城市区域的 DTM 和 DSM 渲染之间的差异:

显示罗马斗兽场 DTM 和 DSM 视图并排对比的图片

AltitudeMode 个选项

AltitudeMode 的选择决定了如何相对于数字高程模型解读地图项的海拔高度值(如果提供)。

  • ABSOLUTE:相对于平均海平面(使用 EGM96 计算得出)渲染对象。
  • CLAMP_TO_GROUND:直接在 DTM(地面)上渲染对象,忽略提供的任何海拔高度并遵循地形。
  • RELATIVE_TO_GROUND:相对于 DTM(地面)表面渲染对象。
  • RELATIVE_TO_MESH:相对于 DSM(网格)渲染对象,DSM 是最高表面,包括地面、建筑物和水体。

相对模式下的海拔高度值

使用相对模式(RELATIVE_TO_GROUND 或 RELATIVE_TO_MESH)时,提供的高度值是相对于所选基准表面的偏移量,而不是固定的海拔高度。例如,如果高度为 100,则地图项将位于 DTM 或 DSM 上方 100 米处。

如果地图项数据不包含海拔高度,则 RELATIVE_TO_MESH 等相对模式会将地图项直接放置在网格/表面顶部。不过,对于多段线和多边形,点之间的连接将是直线,如果您不使用插值,这可能会导致线穿过点之间的网格。