三维场景类。
命名空间:
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
SuperMap.Realspace..::.Scene