将三维点对象转换成二维点对象。
命名空间:
SuperMap.Realspace程序集: SuperMap.Realspace (in SuperMap.Realspace)
版本: dll
语法
C# |
---|
public Point GlobeToPixel( Point3D point ) |
参数
- point
- Type: SuperMap.Data..::.Point3D
将被转换的三维点坐标对象,该点对象包含了经纬度和海拔高度信息。
返回值
转换后的二维点对象。备注
当指定的三维点对象不在当前相机范围内的时候,改方法将返回(-1,-1),表示此点不可见。
示例
以下代码示范了如何将三维点对象转换成二维点对象。
假设已有存在地形数据 GlobalTerrain.sct 。
CopyC#
public void TestGlobeToPixel(Scene sceneObject) { //进行三维地图场景的设置 sceneObject.Atmosphere.IsVisible = true; sceneObject.TerrainExaggeration = 3; //地形图层到三维场景中 TerrainLayers terrainLayers = sceneObject.TerrainLayers; TerrainLayer terrainLayer = terrainLayers.Add(@"..\..\FrameData\GlobalTerrain\GlobalTerrain.sct", true); terrainLayer.IsVisible = true; //将三维点对象转换成二维点对象 Double altitudeValue = sceneObject.GetAltitude(126, 31); Point3D point3D = new Point3D(126, 31, altitudeValue); Point point = sceneObject.GlobeToPixel(point3D); Console.WriteLine("转换后的屏幕点对象为:" + point.ToString()); sceneObject.Refresh(); }