了解和使用海拔模式

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

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

以下指南提供了有关如何有效使用 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 是最高表面,包括地面、建筑物和水体。

以下示例可让您更改折线的 AltitudeMode,以观察各种模式如何影响半城市环境中复杂几何图形上折线的渲染:

相对模式下的高程值

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

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

后续步骤

  • 如需详细了解 AltitudeMode,包括有关 AltitudeMode 和 标记的信息,请阅读 架构中心 主题。