public class SceneInfo
extends java.lang.Object
implements java.io.Serializable
三维场景信息类。
三维场景的主体是一个模拟地球的三维球体(SuperMap 以半径为6378137 米的球体来模拟地球),该球体具有地理参考,球体上的点采用经纬度进行定位,并且可以通过三维场景提供的球体上的经纬网格,方便地浏览;同时,使用全球的遥感影像图作为背景覆盖在球体表面,增强三维球体模拟的逼真性;除此之外,三维场景还模拟了地球所处的环境,包括:宇宙的星空,地球的大气环境,地球表面的雾环境等。三维场景还提供了相机的设置,相机可以用来控制对球体的观测角度、方位和观测范围,从而以不同的视角呈现球体的不同部位。
各种三维数据将依据地理参考信息添加到三维球体上,能够添加到三维场景中的数据包括:二维矢量数据集、三维几何对象、影像数据、地形数据、第三方三维模型数据以及KML文件。
SuperMap Deskpro .NET 新建的三维窗口中的默认存在的三维场景如下图所示:
限定符和类型 | 字段和说明 |
---|---|
Atmosphere |
atmosphere
大气环境。
|
Camera |
camera
当前场景的相机对象,相当于视点。
|
double |
cameraFOV
场景相机的视角,单位为度,范围为0-90度。
|
Fog |
fog
雾对象。
|
double |
fogVisibleAltitude
三维场景中雾的可见高度,即离地球表面的海拔距离。
|
LatLonGrid |
latLonGrid
地球经纬网设置。
|
java.util.List<Layer3D> |
layers
三维图层集合。
|
double |
maxCameraDistance
场景相机的最大距离,单位为米。
|
double |
minCameraDistance
场景相机的最小距离,单位为米。
|
java.lang.String |
name
三维场景的名称。
|
boolean |
scaleLegendVisible
比例尺是否可见。
|
SceneType |
sceneType |
ScreenLayer |
screenLayer
屏幕图层。
|
double |
terrainExaggeration
地形所夸大的比例。
|
TrackingLayer3D |
trackingLayer
三维跟踪图层。
|
java.lang.String |
xml
三维场景的 XML 形式的描述。
|
限定符和类型 | 方法和说明 |
---|---|
SceneInfo |
copy()
拷贝副本。
|
boolean |
equals(java.lang.Object obj)
判断指定对象跟当前
SceneInfo 对象是否相等。 |
java.util.List<Geometry> |
getClipRegions() |
int |
hashCode()
获取
SceneInfo 对象的哈希码。 |
void |
setClipRegions(java.util.List<Geometry> clipRegions) |
public java.lang.String name
三维场景的名称。
public Atmosphere atmosphere
大气环境。
public Camera camera
当前场景的相机对象,相当于视点。
public double cameraFOV
场景相机的视角,单位为度,范围为0-90度。
public Fog fog
雾对象。
public double fogVisibleAltitude
三维场景中雾的可见高度,即离地球表面的海拔距离。
public boolean scaleLegendVisible
比例尺是否可见。true 表示比例尺可见,false 表示不可见。
public LatLonGrid latLonGrid
地球经纬网设置。
public double maxCameraDistance
场景相机的最大距离,单位为米。
public double minCameraDistance
场景相机的最小距离,单位为米。
public ScreenLayer screenLayer
屏幕图层。
一个三维场景有且只有一个屏幕图层,屏幕图层可以添加任何三维几何对象, 屏幕图层上的几何对象不随三维场景中球体的旋转、倾斜等操作而变化, 屏幕图层上的对象相对于三维窗口是静止的,可以用于在三维窗口中显示静止的内容。
public double terrainExaggeration
地形所夸大的比例。
下面两幅图分别为设置地形夸大比例前和设置地形夸大比例后的效果。
叠加了影像数据的地形数据(没有进行地形夸张):
对地形数据进行夸张后(夸张系数为3):
public java.util.List<Layer3D> layers
三维图层集合。即三维场景中所包含的所有图层,集合的元素可以是任意一种三维图层。 关于三维图层的类型,请参见:Layer3DType
。
public TrackingLayer3D trackingLayer
三维跟踪图层。
public java.lang.String xml
public SceneType sceneType
public SceneInfo()
构造函数。
public SceneInfo(SceneInfo scene)
拷贝构造函数。
scene
- 三维场景对象。public final SceneInfo copy()
拷贝副本。生成一个跟本对象一样的新的 SceneStatus 对象。
public boolean equals(java.lang.Object obj)
判断指定对象跟当前 SceneInfo
对象是否相等。
equals
在类中 java.lang.Object
obj
- 跟当前 SceneInfo
对象进行比较的对象。public int hashCode()
获取 SceneInfo
对象的哈希码。
hashCode
在类中 java.lang.Object
public java.util.List<Geometry> getClipRegions()
public void setClipRegions(java.util.List<Geometry> clipRegions)