将屏幕点对象转换成三维点对象,该三维点对象包含了经纬度和海拔高度信息。
命名空间:
SuperMap.Realspace程序集: SuperMap.Realspace (in SuperMap.Realspace)
版本: dll
语法
C# |
---|
public Point3D PixelToGlobe( Point point ) |
参数
- point
- Type: System.Drawing..::.Point
将被转换的二维点坐标对象。
返回值
转换后的三维点对象。备注
若屏幕点不在地球范围内则返回的三维点经纬度和高度为Double.NaN 。
示例
以下代码示范了如何将屏幕点对象转换成三维点对象。
假设已有存在地形数据 GlobalTerrain.sct 。
CopyC#
public void TestPixelToGlobe(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; //将屏幕点对象转换成三维点对象 Point point = new Point(800, 600); Point3D point3D = sceneObject.PixelToGlobe(point); Console.WriteLine("转换后的三维点对象为:" + point3D.ToString()); sceneObject.Refresh(); }