三维场景类。

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

语法

C#
public class Scene : IDisposable

备注

SuperMap iObjects .NET三维场景的主体是一个模拟地球的三维球体(SuperMap iObjects .NET 以半径为6378137 米的球体来模拟地球),该球体具有地理参考,球体上的点采用经纬度进行定位,并且可以通过三维场景提供的球体上的经纬网格,方便地浏览;同时,使用全球的遥感影像图作为背景覆盖在球体表面,增强三维球体模拟的逼真性;除此之外,三维场景还模拟了地球所处的环境,包括:宇宙的星空,地球的大气环境,地球表面的雾环境等。三维场景还提供了相机的设置,相机可以用来控制对球体的观测角度、方位和观测范围,从而以不同的视角呈现球体的不同部位。

各种三维数据将通过三维场景填加到三维场景的基本组织架构上,即三维数据会依据地理参考信息,填加到SuperMap iObjects .NET 提供的球体上。

能够添加到三维场景中的数据包括:二维矢量数据集、三维几何对象、影像数据、地形数据、第三方三维模型数据以及KML文件。

新建三维窗口中的默认存在的三维场景

示例

以下代码示范了将二维数据显示在三维场景中。

CopyC#
public void TestScene(DatasetVector targetDataset, Scene sceneObject)
{
    //进行三维地图场景的设置
    sceneObject.Atmosphere.IsVisible = true;
    Camera camera = new Camera(102, 31, 10000, AltitudeMode.RelativeToGround);
    sceneObject.Camera = camera;
    Fog fog = new Fog();
    fog.Mode = FogMode.LINEAR;
    fog.IsEnabled = true;
    sceneObject.Fog = fog;
    sceneObject.IsScaleLegendVisible = true;
    sceneObject.Name = "二维矢量数据的三维显示";

    //设置矢量数据集在三维场景中的显示风格,并进行显示
    Layer3DSettingVector layer3DSettingVector = new Layer3DSettingVector();
    GeoStyle3D geoStyle3D = new GeoStyle3D();
    geoStyle3D.MarkerColor = Color.Red;
    geoStyle3D.MarkerSize = 10;
    Layer3DSettingVector.Style = geoStyle3D;
    Layer3DDataset layer3DDatasetPoint = sceneObject.Layers.Add(targetDataset, layer3DSettingVector, true);
    layer3DDatasetPoint.UpdateData();

    //全幅显示三维地图场景
    sceneObject.ViewEntire();
    sceneObject.Refresh();

    //获取三维场景的XML形式的描述
    String descriptionScene = sceneObject.ToXML();
    Console.WriteLine("当前三维场景的信息:"+descriptionScene);
}

继承层次

System..::.Object
  SuperMap.Realspace..::.Scene

请参见