将三维点对象转换成二维点对象。

命名空间:  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();
}

版本信息

SuperMap iObjects .NET


请参见