该枚举定义了高度模式类型常量,高度模式用于指示 SuperMap 组件产品解析三维数据海拔高度值的方式。目前 SuperMap 组件产品提供了如下几种高度模式:贴地表模式(ClampToGround)、距地相对高度模式(RelativeToGround)、绝对海拔模式(Absolute)、相对地下模式(RelativeToUnderground)、地下相对模式(RelativeUnderGround)、地下绝对模式(AbsoluteUnderGround)、依对象模式(ClampToObject)、修改地形模式(ModifyTerrain),其中贴地表模式(ClampToGround)为 SuperMap 组件产品默认的高度模式。

命名空间:  SuperMap.Data
程序集:  SuperMap.Data (in SuperMap.Data)
版本: dll

语法

C#
public enum AltitudeMode

成员

成员名称描述
ClampToGround

贴地表模式。

使用该高度模式时,三维数据的海拔高度将完全被忽略(即所有三维对象的 Z 值不起作用),各三维对象将依据其经纬度信息,根据地形起伏状态附着在地形表面,即相对于地形表面的高度为零。如下图所示,当前高度模式为地表层高度模式,将三维面几何对象(GeoRegion3D 对象,对应下图绿色面对象)添加到具有地形数据的三维场景中,此时,三维面几何对象的海拔高度信息将被忽略,该三维面对象根据经纬度坐标信息,根据地形起伏贴合在起伏的地形表面。

此高度模式为 SuperMap 组件产品默认的高度模式。

当矢量点、线、面对象的高度模式为次高度模式时,不支持设置最大最小可见距离。

RelativeToGround

相对地表模式。

该模式下的海拔高度值是以经纬度坐标值正下方的地平面(即地形表面)为基准的海拔高度。例如,在山区中架设电线杆,每根电线杆的高度假设为25米,选择距地相对高度模式,就可以实现与客观现实一致的效果,即每根电线杆的底端位置随着地形上下起伏,效果如下图所示,其中,黄色的垂直线表示电线杆,黄色的水平线表示电线。

Absolute

绝对海拔模式。

该模式将忽略地形的实际海拔高度,其海拔高度值是相对于海平面的海拔高度,若三维数据包含精确的海拔高度值,该高度模式将非常有用。如下图所示,当前高度模式为绝对高度模式,将三维面几何对象(GeoRegion3D 对象,对应下图绿色面对象)添加到具有地形数据的三维场景中,该三维面几何对象边界节点的高程值均为 5800 米,则该对象将忽略地形起伏,在距离水平面 5800 米高度处显示,具体显示效果如下图所示。

RelativeUnderGround

地下相对模式。

该高度模式以地形表面为基准,与 RelativeToGround 高度模型正好相反,用于地下场景的浏览。

当属性几何对象风格的高度模式设置为该高度模式(GeoStyle3D.AltitudeMode = AltitudeMode.RelativeUnderGround)时,再将其底部高程属性设置为负值时,即GeoStyle3D.BottomAltitude设置为负值,则可将关联的几何对象放置于地表以下,如 GeoStyle3D.BottomAltitude = -100 时,将对象放置于地表以下 100 米处,基准面为地形表面。

AbsoluteUnderGround

地下绝对模式。

该模式将忽略地形的实际海拔高度,其海拔高度值是相对于海平面的海拔高度。

当设置为此模式时,位于地下的物体可以通过调节地表透明度或者挖方来实现可见。

ClampToObject

依对象模式。

该模式使用与倾斜摄影模型场景中,矢量面的高度模式。

当设置矢量面图层选择集的高度模式为此模式时,选中OSGB倾斜摄影模型,矢量面将会依附在倾斜摄影模型表面。

当设置矢量面图层高度模式为此模式时,整个矢量面图层将会依附在倾斜摄影模型表面。

ModifyTerrain

修改地形模式。

该模式用来修改地形,修改当前矢量面区域的地形。

当设置为此模式时,矢量面当前位置的地形高度,会根据矢量面自身的底部高程值来抬高或者压低当前的地形。

备注

下图给出了不同高度模式对应的基准面以及高度值(Z 值)设置后对应的几何对象所放置的高度区域,由下图可知,Absolute 高度模式的海拔高度基准面为海平面,正方向与下图中箭头方向一致;ClampToGround 模式下,对象将附着在地形表面,RelativeToGround、RelativeToUnderground 高度模式的海拔高度基准面为地形表面,正方向与下图中箭头方向一致。

版本信息

SuperMap iObjects .NET


请参见