类 Scene
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.realspace.Scene
-
- 所有已实现的接口:
- IDisposable
public class Scene extends com.supermap.data.InternalHandleDisposable
三维场景类。SuperMap iObjects Java 三维场景的主体是一个模拟地球的三维球体(SuperMap Objects Java 以半径为6378137 米的球体来模拟地球),该球体具有地理参考,球体上的点采用经纬度进行定位,并且可以通过三维场景提供的球体上的经纬网格,方便地浏览;同时,使用全球的遥感影像图作为背景覆盖在球体表面,增强三维球体模拟的逼真性;除此之外,三维场景还模拟了地球所处的环境,包括:宇宙的星空,地球的大气环境,地球表面的雾环境等。三维场景还提供了相机的设置,相机可以用来控制对球体的观测角度、方位和观测范围,从而以不同的视角呈现球体的不同部位。
各种三维数据将通过三维场景填加到三维场景的基本组织架构上,即三维数据会依据地理参考信息,填加到SuperMap Objects Java 提供的球体上。
能够添加到三维场景中的数据包括:二维矢量数据集、三维几何对象、影像数据、地形数据、第三方三维模型数据以及KML文件。
新建三维窗口中的默认存在的三维场景
- 示范代码:
- 以下代码示范了三维窗口的显示以及将二维数据显示在三维场景中, 假设 Space 数据源中存在一个名为 Capital_P 的矢量数据集。
public void TestScene(DatasetVector targetDataset, Scene sceneObject) { // 进行三维场景的设置 sceneObject.getAtmosphere().setVisible(true); Camera camera = new Camera(102, 31, 10000,AltitudeMode.RELATIVE_TO_GROUND, 0, 0); sceneObject.setCamera(camera); Fog fog = new Fog(); fog.setFogMode(FogMode.LINEAR); fog.setEnable(true); sceneObject.setFog(fog); sceneObject.setScaleLegendVisible(true); sceneObject.setName("二维矢量数据的三维显示"); // 返回显示在三维场景中的矢量数据集,并按照设置的风格显示在三维场景中 Layer3DSettingVector layer3DSettingVector = new Layer3DSettingVector(); GeoStyle3D geoStyle3D = new GeoStyle3D(); geoStyle3D.setMarkerColor(Color.RED); geoStyle3D.setMarkerSize(10); layer3DSettingVector.setStyle(geoStyle3D); Layer3DDataset layer3DDatasetPoint = sceneObject.getLayers().add(targetDataset, layer3DSettingVector, true); layer3DDatasetPoint.updateData(); // 全幅显示三维场景 sceneObject.viewEntire(); sceneObject.refresh(); // 返回三维场景的XML形式的描述 String descriptionScene = sceneObject.toXML(); System.out.println("当前三维场景的信息:" + descriptionScene); }
-
-
嵌套类概要
嵌套类 限定符和类型 类和说明 class
Scene.TerrainInfo
场景中的地形信息类。
-
方法概要
所有方法 静态方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 void
addFlownListener(FlownListener l)
添加一个用于接收飞行结束事件(FlownEvent
)的监听器。void
addSceneClosedListener(SceneClosedListener l)
添加一个用于接收三维场景关闭事件(SceneClosedEvent
)的监听器。void
addSceneOpenedListener(SceneOpenedListener l)
添加一个用于接收三维场景打开事件(SceneOpenedEvent
)的监听器。Slider
addSlider(String name)
添加指定的滑块对象。Splitter
addSplitter(String name)
添加分隔条对象。void
addTokenInfo(String token)
添加token信息。void
addTokenInfo(String token, String url)
添加token信息。void
addTokenInfo(String token, String url, CredentialType credentialType)
添加token信息。static Point3D
cartesianToGeographical(Point3D point, SceneType sceneType)
将指定场景类型的地理坐标转成笛卡尔坐标。static Rectangle2D
ceilBounds(Rectangle2D bounds, int level)
根据指定层数,计算指定地理范围(bounds)所对应行列缓存图片的外边框,该边框与三维缓存图片分块划分的边线一致。void
close()
关闭三维场景。double
computeSphericalArea(Point2Ds points)
计算由指定的点集合对象构成的多边形的球面面积。double
computeSphericalDistance(Point2D point1, Point2D point2)
计算指定两点间的球面距离。void
dispose()
释放该对象所占用的资源。void
ensureVisible(Layer3D layer3d)
根据合适的图层观察尺度来显示场景。void
ensureVisible(Rectangle2D visibleBounds)
根据给定的经纬度范围显示相应区域的场景。void
ensureVisible(Rectangle2D visibleBounds, int milliseconds)
根据指定的经纬度范围显示场景。void
ensureVisible(Rectangle2D visibleBounds, int milliseconds, double altitude)
根据给定的经纬度范围显示相应区域的场景,支持指定相机高度。static ArrayList<Point3D>
ENUToLonLat(ArrayList<Point3D> ptList, Point3D lonlat)
将以经纬度作为插入点的笛卡尔坐标系的模型转成经纬度坐标。static ArrayList<Point3D>
ENUToLonLat(ArrayList<Point3D> ptList, Point3D lonlat, SceneType sceneType)
将以经纬度作为插入点的笛卡尔坐标系的模型转成经纬度坐标,在指定场景的球体类型上加载。Selection3D[]
findSelection(boolean hasObjectSelected)
返回当前三维场景的选择集。void
fly(Camera camera)
根据指定的目标相机对象进行飞行。void
fly(Camera camera, boolean isDirect)
已过时。void
fly(Camera camera, int milliseconds)
将相机对象按照指定的时间飞行到指定的目的地。void
fly(Camera camera, int milliseconds, boolean isDirect)
已过时。void
fly(Geometry targetObject, FlyingMode flyingMode)
已过时。void
fly(Geometry targetObject, int milliseconds)
已过时。void
fly(LookAt lookAt)
根据指定的目标相机对象进行飞行。void
fly(LookAt lookAt, int milliseconds)
根据指定的目标相机对象和飞行时间进行飞行。void
flyCircle(Geometry geometry, double speedRatio)
围绕指定地点旋转飞行模式,飞行过程中可以控制飞行的速度。void
flyCircle(Geometry geometry, double speedRatio, boolean isCycle)
围绕指定地点旋转飞行(FlyingCircle模式),可以控制飞行速度以及设置是否循环旋转void
flyPlay(Geometry line, double speedRatio, double distance)
已过时。boolean
fromXML(String xml)
通过 XML 数据创建三维场景对象。static Point3D
geographicalToCartesian(Point3D point, SceneType sceneType)
将笛卡尔坐标转成指定场景类型的地理坐标。double
getAltitude(double longitude, double latitude)
返回地面上某点的海拔高度。Atmosphere
getAtmosphere()
返回大气环境对象。Point3D
getAutoLockOffset()
返回相机相对于锁定对象的偏移量。float
getBrightness()
获取场景的亮度。Camera
getCamera()
返回当前场景的相机对象。double
getCameraFOV()
返回场景相机的视角,单位为度,范围为0-180度。CameraFOVModeType
getCameraFOVMode()
返回视场角模式。Dataset
getClipRegionDataset()
返回裁剪数据集。boolean
getCollisionDetection()
返回场景是否开启碰撞检测。double
getCollisionDistanceThreshold()
返回场景碰撞检测距离。float
getConstrast()
获取场景的对比度。static Matrix
getENUTransformMatrix(Point3D point)
返回插入点经纬度矩阵。EnvironmentLight
getEnvironmentLight()
获取环境光贴图。Camera
getFirstPersonCamera()
返回第一人称相机参数,区别于getCamera()
方法。FlyManager
getFlyManager()
返回三维场景的飞行管理对象。Fog
getFog()
返回雾对象。double
getFogVisibleAltitude()
返回雾的可见高度,即离地球表面的海拔距离。double
getFPS()
返回当前场景的帧率,即帧/秒。float
getGamma()
获取场景的明度。GlobalImage
getGlobalImage()
返回 GlobalImage 对象。Graphics3DType
getGraphics3DType()
返回显示引擎类型。double
getHeight(double longitude, double latitude)
获取场景中地面和模型上指定点的海拔高度。double
getHeight(double longitude, double latitude, boolean trackingLayerHeightAvailable)
获取场景中地面和模型上指定点的海拔高度,设置跟踪图层是否参与拾取高度。float
getHue()
获取场景的色相。String
getIServerCacheDirectory()
返回iServer服务缓存路径。LatLonGrid
getLatLonGrid()
返回经纬网对象。Layer3Ds
getLayers()
返回 3D 图层集合对象。LookAt
getLookAt()
获取当前场景的相机对象。double
getMaxCameraDistance()
返回场景相机的最大距离,单位为米。double
getMinCameraDistance()
返回场景相机的最小距离,单位为米。ModelingObjectCollection
getModelingObjectCollection()
返回建模对象的集合。MultiViewportMode
getMultiViewportMode()
设置当前场景的多视口模式类型String
getName()
返回当前三维场景的名称。Ocean
getOcean()
返回海洋对象。OceanEffect
getOceanEffect()
获取海洋特效。ParallaxMode
getParallaxMode()
返回立体显示模式的视差模式。PrjCoordSys
getPrjCoordSys()
返回在平面三维模式时的投影坐标系对象。Query3D
getQuery3D()
返回空间查询对象。float
getSaturation()
获取场景的饱和度。SceneOverlapDisplayedOptions
getSceneOverlapDisplayedOptions()
返回场景压盖参数。SceneType
getSceneType()
返回场景类型。ScreenLayer3D
getScreenLayer()
返回屏幕图层。float
getShadowDarkness()
返回场景阴影浓度。float
getShadowDepthBias()
返回阴影深度偏移。double
getShadowDistance()
返回场景阴影可见距离。double
getShadowVisibleDistance()
返回阴影的可见距离,单位为米。double
getSkirtHeight()
返回IN地形裙边高度,单位为米。Sky
getSky()
Slider
getSlider(String name)
获取指定的滑块对象。int
getSliderCount()
获取场景中滑块对象的个数。Splitter
getSplitter(String name)
获取指定的分隔条对象。int
getSplitterCount()
获取当前场景中分隔条的个数。double
getStereoEyeAngle()
返回立体显示模式时两摄像机的交叉角度,单位为度。double
getStereoEyeSeparation()
返回立体显示模式时两摄像机的距离,单位为米。StereoMode
getStereoMode()
返回立体显示的模式。Sun
getSun()
返回太阳对象。float
getSunLightCascadeShadowMapLamda()
返回场景主光源的级联阴影的分割点lamda值。Color
getSunLightColor()
返回场景太阳光颜色。double
getSunLightIntensity()
返回场景太阳光强度。float
getSunLightShadowSharpness()
返回主光源产生的阴影边缘的锐化程度。double
getTerrainExaggeration()
返回地形所夸大的比例。Scene.TerrainInfo
getTerrainInfo()
获取场景中的地形信息,包括最大值,最小值。TerrainLayers
getTerrainLayers()
返回三维场景中的地形图层集合。Timer
getTimer()
返回用于控制场景渲染的定时器,用户可以用来模拟场景飞行以及修改更新的速度,目前是20毫秒执行一次刷新。TrackGeometry
getTrackGeometry(int action)
返回绘制跟踪类,支持对当前三维场景中绘制的几何对象(线、面)进行操作。TrackingLayer3D
getTrackingLayer()
返回 3D 跟踪图层对象。Underground
getUnderground()
返回 Underground 对象。Rectangle2D
getViewBounds()
返回当前场景的可视范围(Rectangle2D)。WalkingMode
getWalkMode()
返回场景漫游时的行走模式。Workspace
getWorkspace()
返回三维场景所关联的工作空间。Point
globeToPixel(Point3D point)
将三维点对象转换成屏幕点对象。boolean
isCreateSkirt()
获取场景是否创建地形裙边。boolean
isCrossVisible()
返回是否显示三维场景窗口中心位置标记。boolean
isDepthPrecisionOptimization()
返回场景是否开启深度优化,支持动态切换。String
iServerCacheDirectory()
返回服务器缓存文件路径。boolean
isFirstPersonView()
返回当前场景是否被设置为第一人称操作模式。boolean
isFullScreen()
已过时。boolean
isHDREnabled()
返回是否开启HDR。boolean
isOverlapDisplayed()
返回压盖时是否显示。boolean
isReceiveShadow()
获取场景是否接收阴影。boolean
isScaleLegendVisible()
返回比例尺是否可见。boolean
isStereoEnabled()
返回是否开启立体显示功能。boolean
isStereoModeSupported(StereoMode mode)
返回当前系统是否支持所传入的立体显示模式。boolean
isSunLightCameraTrackingEnabled()
返回场景中模拟太阳光源使用时间的时区是否随着相机位置改变而相应修改。boolean
isTransparencyOptimization()
返回场景是否开启透明优化,支持模型缓存、模型数据集、跟踪层对象。boolean
isZoomFlyPitching()
获取场景是否放大至地表时执行俯仰操作。static ArrayList<Point3D>
lonLatToENU(ArrayList<Point3D> ptList, Point3D lonlat)
将经纬度的点转成以经纬度作为插入点的ENU坐标。static ArrayList<Point3D>
lonLatToENU(ArrayList<Point3D> ptList, Point3D lonlat, SceneType sceneType)
将经纬度的点转成以经纬度作为插入点的ENU坐标,在椭球上加载。boolean
open(String name)
打开指定名称的三维场景。boolean
open(String iserverUrl, String strSceneName)
通过iServer数据服务打开三维场景。boolean
outputScenePicture(String path, int xResolution, int yResolution)
场景是否输出高分辨率图片。boolean
outputScenePicture(String path, int xResolution, int yResolution, boolean bHighPerformance)
场景是否输出高分辨率图片。BufferedImage
outputSceneToBitmap()
将三维场景输出为内存对象。void
pan(double offsetLongitude, double offsetLatitude)
根据给定的经向平移距离和纬向平移距离,平移三维场景。void
pitch(double angle)
根据给定的角度值,对三维场景进行倾斜,从而从不同角度观察三维场景中的对象。Point3D
pixelToGlobe(Point point)
将屏幕点对象转换成三维点对象,该三维点对象包含了经纬度和海拔高度信息。Point3D
pixelToGlobe(Point point, PixelToGlobeMode mode)
将屏幕点对象转换成三维点对象。boolean
projectionImagesToXML(String xmlPath)
视频投放的结果输出到xml文件static Point3D
pseudoCartesianToSpherical(Point3D point)
将伪直角坐标转换为经纬度坐标。void
refresh()
刷新三维场景。void
removeFlownListener(FlownListener l)
移除一个用于接收飞行结束事件(FlownEvent
)的监听器。ModelingObjectCollection
removeModelingObjectCollection()
移除建模对象的集合。void
removeSceneClosedListener(SceneClosedListener l)
移除一个用于接收三维场景关闭事件(SceneClosedEvent
)的监听器。void
removeSceneOpenedListener(SceneOpenedListener l)
移除一个用于接收三维场景打开事件(SceneOpenedEvent
)的监听器。boolean
removeSlider(String name)
移除指定的滑块对象。boolean
removeSplitter(String name)
移除指定的分隔条对象。void
render(Geometry geometry, Symbol symbol, GeoStyle3D geoStyle3D, Resources resources)
用于Java桌面三维符号管理器使用void
roll(double angle)
将三维场景绕场景中心进行一定角度的旋转。boolean
roll(Point2D center, double angle)
将三维场景绕某个中心点旋转。void
rollEye(double angle)
将三维场景绕视点进行一定角度的旋转。void
setAutoLockOffset(Point3D value)
设置相机相对于锁定对象的偏移量 通过调用该方法,可以在锁定目标对象时,改变相机对象相对于锁定对象的x轴、y轴、z轴偏移量,该偏移量暂时只适用于z轴。void
setAutoLockTarget(GeoModel value)
设置被锁定对象 当场景不断变化时,通过锁定跟踪对象,可使相机相对于被锁定对象的相对位置保持不变。void
setBrightness(float value)
设置场景的亮度。void
setCamera(Camera camera)
设置当前场景的相机对象。void
setCameraFOV(double value)
设置场景相机的视角,单位为度,范围为 0-180 度。void
setCameraFOVMode(CameraFOVModeType modeType)
设置视场角模式。void
setClipRegionDataset(Dataset dataset)
设置裁剪数据集。void
setCollisionDetection(boolean value)
设置场景是否开启碰撞检测。void
setCollisionDistanceThreshold(double value)
设置场景碰撞检测距离。void
setConstrast(float value)
设置场景的对比度。void
setCreateSkirt(boolean value)
设置场景是否创建地形裙边。void
setCrossVisible(boolean value)
设置是否显示三维场景窗口中心位置标记。void
setDepthPrecisionOptimization(boolean isDepthPrecisionOptimization)
设置场景是否开启深度优化,支持动态切换。void
setFirstPersonCamera(Camera camera)
设置第一人称相机参数,区别于setCamera()
方法。void
setFirstPersonView(boolean value)
设置当前场景是否被设置为第一人称操作模式。void
setFog(Fog fog)
设置雾对象。void
setFogVisibleAltitude(double value)
设置雾的可见高度,即离地球表面的海拔距离。void
setFullScreen(boolean value)
已过时。void
setGamma(float value)
设置场景的明度。void
setHDREnabled(boolean value)
设置是否开启HDR。void
setHTCMoveSpeed(double speed)
设置场景速度倍率。void
setHue(float value)
设置场景的色相。void
setImagePath(String imagePath)
设置图片路径。void
setIServerCacheDirectory(String value)
设置 iServer 服务缓存路径。void
setLookAt(LookAt lookAt)
设置当前场景的相机对象。void
setMaxCameraDistance(double value)
设置场景相机的最大距离,单位为米。void
setMinCameraDistance(double value)
设置场景相机的最小距离,单位为米。void
setModelingObjectCollection(ModelingObjectCollection modelingObjectCollection)
设置建模对象的集合.void
setMultiViewportMode(MultiViewportMode mode)
设置当前场景的多视口模式类型void
setName(String value)
设置当前三维场景的名称。void
setOverlapDisplayed(boolean value)
设置压盖时是否显示。void
setParallaxMode(ParallaxMode value)
设置立体显示模式的视差模式。void
setPrjCoordSys(PrjCoordSys tarPrjCoordSys)
设置在平面三维模式时的投影坐标系对象。void
setReceiveShadow(boolean value)
设置场景是否接收阴影。void
setSaturation(float value)
设置场景的饱和度。void
setScaleLegendVisible(boolean value)
设置比例尺是否可见。void
setSceneOverlapDisplayedOptions(SceneOverlapDisplayedOptions options)
设置场景压盖参数。void
setSceneType(SceneType value)
设置三维场景的类型。void
setServerCacheDirectory(String value)
设置服务器缓存文件路径。void
setShadowDarkness(float shadowDarkness)
设置场景阴影浓度。void
setShadowDepthBias(float depthBias)
设置阴影深度偏移。void
setShadowDistance(double shadowDistance)
设置场景阴影可见距离。void
setShadowVisibleDistance(double value)
设置阴影的可见距离,单位为米。void
setSkirtHeight(double skirtHeight)
设置TIN地形裙边高度,单位为米。void
setStereoEnabled(boolean value)
设置是否开启立体显示功能。void
setStereoEyeAngle(double value)
设置立体显示模式时两摄像机的交叉角度,单位为度。void
setStereoEyeSeparation(double value)
设置立体显示模式时两摄像机的距离,单位为米。void
setStereoMode(StereoMode value)
设置立体显示的模式。void
setSunLightCameraTrackingEnabled(boolean sunLightCameraTrackingEnabled)
设置场景中模拟太阳光源使用时间的时区是否随着相机位置改变而相应修改。void
setSunLightCascadeShadowMapLamda(float sunLightCascadeShadowMapLamda)
设置场景主光源的级联阴影的分割点lamda值。void
setSunLightColor(Color value)
设置场景太阳光颜色。void
setSunLightIntensity(double value)
设置场景太阳光强度。void
setSunLightShadowSharpness(float mainLightShadowSharpness)
设置主光源产生的阴影边缘的锐化程度。void
setTerrainExaggeration(double value)
设置地形所夸大的比例。void
setTransparencyOptimization(boolean isTransparencyOptimization)
设置场景是否开启透明优化,支持模型缓存、模型数据集、跟踪层对象。void
setWalkMode(WalkingMode walkMode)
设置场景漫游时的行走模式。void
setWorkspace(Workspace workspace)
设置三维场景所关联的工作空间。void
setZoomFlyPitching(boolean value)
设置场景是否放大至地表时执行俯仰操作。static Point3D
sphericalToCartesian(Point3D point)
将经纬度坐标转换为球面笛卡尔坐标。static Point3D
sphericalToPseudoCartesian(Point3D point)
将经纬度坐标转换为伪直角坐标。void
stopFly()
终止飞行操作,执行完后场景会处于静止状态。static Rectangle2D
toBounds(int level, int columnIndex, int rowIndex)
根据缓存层数,列索引和行索引返回对应的地理范围。String
toXML()
返回三维场景的的 XML 形式的描述。void
viewEntire()
全幅显示三维场景。void
zoom(double ratio)
根据给定的缩放比例,对三维场景进行缩放操作。
-
-
-
构造器详细资料
-
Scene
public Scene()
构造一个新的 Scene 对象。该构造函数创建的 Scene 对象,能够满足只需要解析场景的相关内容的使用。若需要进行显示,浏览等操作,请使用
SceneControl
。
-
Scene
public Scene(Workspace workspace)
根据指定的参数来构造一个 Scene 的新对象。该构造函数创建的 Scene 对象,能够满足只需要解析场景的相关内容的使用。若需要进行显示,浏览等操作,请使用
SceneControl
。- 参数:
workspace
- 指定的 workspace 对象。
-
-
方法详细资料
-
getTrackGeometry
public TrackGeometry getTrackGeometry(int action)
返回绘制跟踪类,支持对当前三维场景中绘制的几何对象(线、面)进行操作。- 参数:
action
- Action3D中的枚举值- 返回:
- 绘制跟踪类。Geometry仅在当前Action3D枚举为CREATE_POLYLINE时能获取成功。
- 从以下版本开始:
- 11.2.0。
-
isOverlapDisplayed
public boolean isOverlapDisplayed()
返回压盖时是否显示。这里的压盖,目前包含文本数据集、地标、专题图的文字的压盖。
- 返回:
- 压盖时是否显示。
-
setOverlapDisplayed
public void setOverlapDisplayed(boolean value)
设置压盖时是否显示。这里的压盖,目前包含文本数据集、地标、专题图的文字的压盖。
- 参数:
value
- 压盖时是否显示。
-
getFPS
public double getFPS()
返回当前场景的帧率,即帧/秒。该数值通常用于判断三维场景的显示效率。
注意:该值小于20时,场景就会出现延迟的现象。
- 返回:
- 当前场景的帧率,即帧/秒。
-
getTimer
public Timer getTimer()
返回用于控制场景渲染的定时器,用户可以用来模拟场景飞行以及修改更新的速度,目前是20毫秒执行一次刷新。- 返回:
- 用于控制场景渲染的定时器。
-
getCamera
public Camera getCamera()
返回当前场景的相机对象。Camera 相当于视点。- 返回:
- 当前场景的相机对象。
-
setCamera
public void setCamera(Camera camera)
设置当前场景的相机对象。Camera 相当于视点。- 参数:
camera
- 当前场景的相机对象。
-
getTerrainLayers
public TerrainLayers getTerrainLayers()
返回三维场景中的地形图层集合。- 返回:
- 三维场景中的地形图层集合。
-
getTerrainExaggeration
public double getTerrainExaggeration()
返回地形所夸大的比例。- 返回:
- 地形所夸大的比例。
- 默认值:
- 默认值为 1。
-
setTerrainExaggeration
public void setTerrainExaggeration(double value)
设置地形所夸大的比例。- 参数:
value
- 地形所夸大的比例。
-
getLatLonGrid
public LatLonGrid getLatLonGrid()
返回经纬网对象。- 返回:
- 经纬网对象。
-
getAtmosphere
public Atmosphere getAtmosphere()
返回大气环境对象。- 返回:
- 大气环境对象。
-
getOcean
public Ocean getOcean()
返回海洋对象。- 返回:
- 海洋对象。
-
getSun
public Sun getSun()
返回太阳对象。通过设置场景中的 Sun 等对象,用来实现对三维场景效果的渲染。- 返回:
- 太阳对象。
-
getSky
public Sky getSky()
-
getOceanEffect
public OceanEffect getOceanEffect()
获取海洋特效。- 返回:
- 海洋特效。
-
getEnvironmentLight
public EnvironmentLight getEnvironmentLight()
获取环境光贴图。- 返回:
- 环境光贴图
-
getUnderground
public Underground getUnderground()
返回 Underground 对象。- 返回:
- Underground 对象。
-
getGlobalImage
public GlobalImage getGlobalImage()
返回 GlobalImage 对象。- 返回:
- GlobalImage 对象。
-
isScaleLegendVisible
public boolean isScaleLegendVisible()
返回比例尺是否可见。true 表示比例尺可见,false 表示不可见。- 返回:
- 比例尺是否可见。
-
setScaleLegendVisible
public void setScaleLegendVisible(boolean value)
设置比例尺是否可见。true 表示比例尺可见,false 表示不可见。- 参数:
value
- 一个布尔值指定比例尺是否可见。
-
isCrossVisible
public boolean isCrossVisible()
返回是否显示三维场景窗口中心位置标记。- 返回:
- 是否显示三维场景窗口中心位置标记。
-
setCrossVisible
public void setCrossVisible(boolean value)
设置是否显示三维场景窗口中心位置标记。- 参数:
value
- 是否显示三维场景窗口中心位置标记。
-
findSelection
public Selection3D[] findSelection(boolean hasObjectSelected)
返回当前三维场景的选择集。该方法返回的是
Selection3D
类对象的数组,每一个Selection3D
类对象为三维场景中一个图层中所有处于选中状态的对象集合。- 参数:
hasObjectSelected
- 指定三维场景中是否有对象被选中。当设置为 true,该方法返回的是场景中有选择对象的图层的选择集;设置为 false 时,返回场景中所有图层的选择集。- 返回:
Selection3D
类对象数组,其中,每一个Selection3D
类对象为三维场景中一个图层中所有处于选中状态的对象集合。
-
getTrackingLayer
public TrackingLayer3D getTrackingLayer()
返回 3D 跟踪图层对象。- 返回:
- 3D 跟踪图层对象。
-
setModelingObjectCollection
public void setModelingObjectCollection(ModelingObjectCollection modelingObjectCollection)
设置建模对象的集合.- 参数:
modelingObjectCollection
- 建模对象集合。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getModelingObjectCollection
public ModelingObjectCollection getModelingObjectCollection()
返回建模对象的集合。- 返回:
- 建模对象集合。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
removeModelingObjectCollection
public ModelingObjectCollection removeModelingObjectCollection()
移除建模对象的集合。- 返回:
- 建模对象集合。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getWorkspace
public Workspace getWorkspace()
返回三维场景所关联的工作空间。- 返回:
- 三维场景所关联的工作空间。
-
setWorkspace
public void setWorkspace(Workspace workspace)
设置三维场景所关联的工作空间。- 参数:
workspace
- 三维场景所关联的工作空间。
-
getLayers
public Layer3Ds getLayers()
返回 3D 图层集合对象。- 返回:
- 3D 图层集合对象。
-
getScreenLayer
public ScreenLayer3D getScreenLayer()
返回屏幕图层。- 返回:
- 屏幕图层。
-
getFog
public Fog getFog()
返回雾对象。通过设置场景中的 Fog 等对象,用来实现对三维场景效果的渲染。- 返回:
- 雾对象。
-
setFog
public void setFog(Fog fog)
设置雾对象。- 参数:
fog
- 雾对象。
-
getAltitude
public double getAltitude(double longitude, double latitude)
返回地面上某点的海拔高度。单位为米。- 参数:
longitude
- 地面上某点的经度。单位为度。latitude
- 地面上某点的纬度。单位为度。- 返回:
- 如果有地形数据的情况下,返回地面上某点的海拔高度,否则没有地形数据时,返回0.0。不管地形拉伸倍数如何,返回的地形高度永远是实际的地形高度。
- 示范代码:
- 以下代码示范了如何返回地面上某点的海拔高度, 假设已有存在地形数据 GlobalTerrain.sct。
public void TestSceneGetAltitude(Scene sceneObject) { // 进行三维场景的设置 sceneObject.getAtmosphere().setVisible(true); sceneObject.setTerrainExaggeration(3); // 添加地形图层到三维场景中 TerrainLayers terrainLayers = sceneObject.getTerrainLayers(); TerrainLayer terrainLayer =terrainLayers.add("../../FrameData/GlobalTerrain/GlobalTerrain.sct", true); terrainLayer.setVisible(true); // 返回地面上某点的海拔高度 double altitudeValue = sceneObject.getAltitude(116, 39); System.out.println("地面上东经116度,北纬39度的海拔高度为:" + altitudeValue); }
-
setFogVisibleAltitude
public void setFogVisibleAltitude(double value)
设置雾的可见高度,即离地球表面的海拔距离。单位为米。- 参数:
value
- 雾的可见高度。单位为米。
-
getFogVisibleAltitude
public double getFogVisibleAltitude()
返回雾的可见高度,即离地球表面的海拔距离。单位为米。- 返回:
- 雾的可见高度。单位为米。
- 默认值:
- 默认值为 20000,单位为米。
-
fly
@Deprecated public void fly(Geometry targetObject, FlyingMode flyingMode)
已过时。
-
fly
public void fly(Camera camera)
根据指定的目标相机对象进行飞行。- 参数:
camera
- 指定的目标相机对象。- 示范代码:
- 以下代码示范了如何根据指定的目标相机对象进行飞行。
public void TestSceneFly() { // 显示三维窗口,构造一个相机对象,并飞行到该相机对象 SceneControl sceneControl = new SceneControl(); Scene sceneObject = sceneControl.getScene(); Camera camera = new Camera(102, 31, 10000, AltitudeMode.RELATIVE_TO_GROUND, 0, 0); sceneObject.fly(camera); // 释放占用的资源 sceneControl.dispose(); }
-
fly
public void fly(Camera camera, int milliseconds)
将相机对象按照指定的时间飞行到指定的目的地。- 参数:
camera
- 指定的目标相机对象。milliseconds
- 相机飞行到指定目的地所耗费的时间。单位为毫秒。- 示范代码:
- 以下代码示范了如何根据指定的目标相机对象在5秒的时间内飞行到该相机对象。
public void TestSceneFly() { // 显示三维窗口,构造一个相机对象,并以5秒的时间飞行到该相机对象 SceneControl sceneControl = new SceneControl(); Scene sceneObject = sceneControl.getScene(); Camera camera = new Camera(102, 31, 10000, AltitudeMode.RELATIVE_TO_GROUND, 0, 0); sceneObject.fly( ,5000); // 释放占用的资源 sceneControl.dispose(); }
-
fly
@Deprecated public void fly(Geometry targetObject, int milliseconds)
已过时。
-
fly
@Deprecated public void fly(Camera camera, boolean isDirect)
已过时。
-
fly
@Deprecated public void fly(Camera camera, int milliseconds, boolean isDirect)
已过时。
-
flyPlay
@Deprecated public void flyPlay(Geometry line, double speedRatio, double distance)
已过时。
-
flyCircle
public void flyCircle(Geometry geometry, double speedRatio)
围绕指定地点旋转飞行模式,飞行过程中可以控制飞行的速度。下图为几何对象围绕指定地点旋转飞行的效果图:
- 参数:
geometry
- 指定的目标几何对象speedRatio
- 指定的默认飞行速度的倍数- 示范代码:
- 以下代码示范了如何围绕指定的三维线几何对象以飞行速度的2倍进行飞行。
public void TestSceneFly() { // 显示三维窗口 SceneControl sceneControl = new SceneControl(); Scene sceneObject = sceneControl.getScene(); //构造两个三维点对象 Point3D point3DStart=new Point3D (-100,-100,-100); Point3D point3DEnd=new Point3D (100,100,100); //将两个三维点对象加入三维点对象集合 Point3Ds points3D = new Point3Ds(); points3D.add(point3DStart); points3D.add(point3DEnd); //用三维点对象集合构造一条三维线几何对象 GeoLine3D line3D = new GeoLine3D(points3D); //围绕指定的三维线几何对象以飞行速度的2倍进行飞行 sceneObject.flyCircle(line3D,2.0); // 释放占用的资源 sceneControl.dispose(); }
-
flyCircle
public void flyCircle(Geometry geometry, double speedRatio, boolean isCycle)
围绕指定地点旋转飞行(FlyingCircle模式),可以控制飞行速度以及设置是否循环旋转- 参数:
geometry
- 目标几何对象speedRatio
- 飞行默认速度的倍数isCycle
- 是否循环旋转
-
stopFly
public void stopFly()
终止飞行操作,执行完后场景会处于静止状态。除了飞行外,该方法还可终止惯性转到以及回归到正北方向的转动状态。
-
pixelToGlobe
public Point3D pixelToGlobe(Point point)
将屏幕点对象转换成三维点对象,该三维点对象包含了经纬度和海拔高度信息。若屏幕点不在地球范围内则返回的三维点经纬度和高度为 Double.NaN,即不是数字的值。
- 参数:
point
- 将被转换的屏幕点对象。- 返回:
- 转换后的三维点对象。
- 示范代码:
- 以下代码示范了如何将屏幕点对象转换成三维点对象, 假设已有存在地形数据 GlobalTerrain.sct。
public void testPixelToGlobe(Scene sceneObject) { // 进行三维场景的设置 sceneObject.getAtmosphere().setVisible(true); sceneObject.setTerrainExaggeration(3); // 地形图层到三维场景中 TerrainLayers terrainLayers = sceneObject.getTerrainLayers(); TerrainLayer terrainLayer =terrainLayers.add("../../FrameData/GlobalTerrain/GlobalTerrain.sct", true); terrainLayer.setVisible(true); // 将屏幕点对象转换成三维点对象 Point point = new Point(800, 600); Point3D point3D = sceneObject.pixelToGlobe(point); System.out.println("转换后的三维点对象为:" + point3D.toString()); sceneObject.refresh(); }
-
pixelToGlobe
public Point3D pixelToGlobe(Point point, PixelToGlobeMode mode)
将屏幕点对象转换成三维点对象。该方法可以用于判断所选择点位于模型之上或是地形之上。- 参数:
point
- 指定的屏幕点对象。mode
- 屏幕点对象转换为三维点对象的求交类型。- 返回:
- 返回三维点对象。
-
globeToPixel
public Point globeToPixel(Point3D point)
将三维点对象转换成屏幕点对象。当指定的三维点对象不在当前相机范围内的时候,改方法将返回(-1,-1),表示此点不可见。
- 参数:
point
- 将被转换的三维点坐标对象,该点对象包含了经纬度和海拔高度信息。- 返回:
- 转换后的屏幕点对象。
- 示范代码:
- 以下代码示范了如何将三维点对象转换成二维点对象, 假设已有存在地形数据 GlobalTerrain.sct。
public void TestGlobeToPixel(Scene sceneObject) { // 进行三维地图景场景的设置 sceneObject.getAtmosphere().setVisible(true); sceneObject.setTerrainExaggeration(3); // 将地形图层添加到三维场景中 TerrainLayers terrainLayers = sceneObject.getTerrainLayers(); TerrainLayer terrainLayer =terrainLayers.add("../../FrameData/GlobalTerrain/GlobalTerrain.sct", true); terrainLayer.setVisible(true); // 将三维点对象转换成二维点对象 double altitudeValue = sceneObject.getAltitude(126, 31); Point3D point3D = new Point3D(126, 31, altitudeValue); Point point = sceneObject.globeToPixel(point3D); System.out.println("转换后的屏幕点对象为:" + point.toString()); sceneObject.refresh(); }
-
dispose
public void dispose()
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
-
pan
public void pan(double offsetLongitude, double offsetLatitude)
根据给定的经向平移距离和纬向平移距离,平移三维场景。下图为对三维场景进行平移操作的效果图:
- 参数:
offsetLongitude
- 经向平移距离。单位为度。offsetLatitude
- 纬向平移距离。单位为度。
-
zoom
public void zoom(double ratio)
根据给定的缩放比例,对三维场景进行缩放操作。缩放比例的范围为负无穷大到1,其中当参数为(0,1)之间的数值时,场景按比例放大;参数为小于0数值时,场景按比例缩小,但在缩小到一定程度后不会再缩小。下图为对三维场景进行缩放操作的效果图:
- 参数:
ratio
- 缩放比例。缩放比例的范围为负无穷大到1,其中当参数为(0,1)之间的数值时,场景按比例放大;参数为小于0数值时,场景按比例缩小,但在缩小到一定程度后不会再缩小。- 示范代码:
- 以下代码示范了按照一定的比例缩放当前三维场景。
public void TestSceneZoom(Scene sceneObject) { // 按照一定的比例缩放当前三维场景 sceneObject.zoom(0.5); }
-
pitch
public void pitch(double angle)
根据给定的角度值,对三维场景进行倾斜,从而从不同角度观察三维场景中的对象。下图为对三维场景进行一定角度倾斜的效果图:
- 参数:
angle
- 角度。单位为度。
-
viewEntire
public void viewEntire()
全幅显示三维场景。下图为对三维场景进行全幅显示操作的效果图:
- 示范代码:
- 参见
Scene
类的示例。
-
refresh
public void refresh()
刷新三维场景。- 示范代码:
- 参见
Scene
类的示例。
-
fromXML
public boolean fromXML(String xml)
通过 XML 数据创建三维场景对象。- 参数:
xml
- XML 数据。- 返回:
- 创建成功则返回 true,否则返回 false。
-
getCameraFOV
public double getCameraFOV()
返回场景相机的视角,单位为度,范围为0-180度。- 返回:
- 场景相机的视角。单位为度。
-
setCameraFOV
public void setCameraFOV(double value)
设置场景相机的视角,单位为度,范围为 0-180 度。- 参数:
value
- 场景相机的视角。单位为度。- 默认值:
- 默认值为 45 度,单位为度。
-
getMaxCameraDistance
public double getMaxCameraDistance()
返回场景相机的最大距离,单位为米。- 返回:
- 场景相机的最大距离。单位为米。
-
setMaxCameraDistance
public void setMaxCameraDistance(double value)
设置场景相机的最大距离,单位为米。- 参数:
value
- 场景相机的最大距离。单位为米。
-
getMinCameraDistance
public double getMinCameraDistance()
返回场景相机的最小距离,单位为米。- 返回:
- 场景相机的最小距离。单位为米。
-
setMinCameraDistance
public void setMinCameraDistance(double value)
设置场景相机的最小距离,单位为米。- 参数:
value
- 场景相机的最小距离。单位为米。
-
open
public boolean open(String name)
打开指定名称的三维场景。- 参数:
name
- 指定的三维场景的名称。- 返回:
- 成功返回 true,否则返回 false。
-
open
public boolean open(String iserverUrl, String strSceneName)
通过iServer数据服务打开三维场景。- 参数:
iserverUrl
- iServer三维服务的URL。strSceneName
- 指定的三维场景名称。- 返回:
- 打开成功返回 true,否则返回 false。
-
close
public void close()
关闭三维场景。
-
setName
public void setName(String value)
设置当前三维场景的名称。- 参数:
value
- 当前三维场景的名称。
-
getName
public String getName()
返回当前三维场景的名称。- 返回:
- 当前三维场景的名称。
-
roll
public void roll(double angle)
将三维场景绕场景中心进行一定角度的旋转。下图为三维场景绕场景中心进行一定角度旋转的效果图:
- 参数:
angle
- 指定的角度。单位为度。
-
roll
public boolean roll(Point2D center, double angle)
将三维场景绕某个中心点旋转。下图为三维场景绕场景中心(即某个中心点)进行一定角度旋转的效果图:
- 参数:
center
- 指定的中心点,该点采用经纬度坐标来表示。angle
- 三维场景的旋转角度。单位为度。- 返回:
- 成功返回 true,否则返回 false。
-
rollEye
public void rollEye(double angle)
将三维场景绕视点进行一定角度的旋转。下图为三维场景绕视点进行一定角度旋转的效果图:
- 参数:
angle
- 指定的角度。单位为度。
-
computeSphericalDistance
public double computeSphericalDistance(Point2D point1, Point2D point2)
计算指定两点间的球面距离。- 参数:
point1
- 需要进行距离计算的一个点。point2
- 需要进行距离计算的另外一个点。- 返回:
- 指定两点间的球面距离,单位为米。
-
computeSphericalArea
public double computeSphericalArea(Point2Ds points)
计算由指定的点集合对象构成的多边形的球面面积。- 参数:
points
- 构成需要进行计算面积的多边形的点集合对象。- 返回:
- 由点集合对象构成的多边形的球面面积,单位为平方米。
-
ensureVisible
public void ensureVisible(Rectangle2D visibleBounds)
根据给定的经纬度范围显示相应区域的场景。- 参数:
visibleBounds
- 需要全幅显示的经纬度范围。- 示范代码:
- 以下代码示范了如何根据给定的经纬度范围显示相应区域的场景
public void TestSceneEnsureVisible(Scene sceneObject) { // 根据给定的经纬度范围显示相应区域的三维场景 Rectangle2D viewRegion = new Rectangle2D(100, 20, 106, 36); sceneObject.ensureVisible(viewRegion); }
-
ensureVisible
public void ensureVisible(Rectangle2D visibleBounds, int milliseconds)
根据指定的经纬度范围显示场景。- 参数:
visibleBounds
- 需要全副显示的经纬度范围。milliseconds
- 到达指定目的地所耗费的时间。单位为毫秒。
-
ensureVisible
public void ensureVisible(Rectangle2D visibleBounds, int milliseconds, double altitude)
根据给定的经纬度范围显示相应区域的场景,支持指定相机高度。- 参数:
visibleBounds
- 需要全幅显示的经纬度范围。milliseconds
- 到达指定目的地所耗费的时间。单位为毫秒。altitude
- 停留的相机高度。
-
ensureVisible
public void ensureVisible(Layer3D layer3d)
根据合适的图层观察尺度来显示场景。- 参数:
layer3d
- 需要显示的图层。
-
outputSceneToBitmap
public BufferedImage outputSceneToBitmap()
将三维场景输出为内存对象。- 返回:
BufferedImage
对象。
-
addFlownListener
public void addFlownListener(FlownListener l)
添加一个用于接收飞行结束事件(FlownEvent
)的监听器。- 参数:
l
- 一个用于接收飞行结束事件的监听器。
-
removeFlownListener
public void removeFlownListener(FlownListener l)
移除一个用于接收飞行结束事件(FlownEvent
)的监听器。- 参数:
l
- 一个用于接收飞行结束事件的监听器。
-
addSceneOpenedListener
public void addSceneOpenedListener(SceneOpenedListener l)
添加一个用于接收三维场景打开事件(SceneOpenedEvent
)的监听器。- 参数:
l
- 一个用于接收三维场景打开事件的监听器。
-
removeSceneOpenedListener
public void removeSceneOpenedListener(SceneOpenedListener l)
移除一个用于接收三维场景打开事件(SceneOpenedEvent
)的监听器。- 参数:
l
- 一个用于接收三维场景打开事件的监听器。
-
addSceneClosedListener
public void addSceneClosedListener(SceneClosedListener l)
添加一个用于接收三维场景关闭事件(SceneClosedEvent
)的监听器。- 参数:
l
- 一个用于接收三维场景关闭事件(SceneClosedEvent
)的监听器。
-
removeSceneClosedListener
public void removeSceneClosedListener(SceneClosedListener l)
移除一个用于接收三维场景关闭事件(SceneClosedEvent
)的监听器。- 参数:
l
- 一个用于接收三维场景关闭事件的监听器。
-
toBounds
public static Rectangle2D toBounds(int level, int columnIndex, int rowIndex)
根据缓存层数,列索引和行索引返回对应的地理范围。- 参数:
level
- 指定的缓存层数。columnIndex
- 指定的缓存图片的列索引。rowIndex
- 指定的缓存图片的行索引。- 返回:
- 某层数下指定行列缓存图片所对应的地理范围。
-
ceilBounds
public static Rectangle2D ceilBounds(Rectangle2D bounds, int level)
根据指定层数,计算指定地理范围(bounds)所对应行列缓存图片的外边框,该边框与三维缓存图片分块划分的边线一致。该方法主要用于规整需要生成缓存数据的范围。在手动生成局部缓存,然后结合 iServer 动态发布时,需要通过该方法对手动生成的缓存范围进行规整,以避免指定地理范围(bounds)的缓存图片的边界出现部分白图现象。
- 参数:
bounds
- 某层数下指定的生成缓存的地理范围。level
- 指定的层数。- 返回:
- 某层数下指定地理范围所对应行列缓存图片的地理范围,即行列缓存图片块划分的外边界。
-
isStereoEnabled
public boolean isStereoEnabled()
返回是否开启立体显示功能。- 返回:
- 是否开启立体显示功能。
- 默认值:
- 默认值为 false,即没有开启立体显示功能。
-
setStereoEnabled
public void setStereoEnabled(boolean value)
设置是否开启立体显示功能。只有将立体显示功能开启,所设置的立体显示效果才看通过场景进行观看。- 参数:
value
- 是否开启立体显示功能。- 示范代码:
- 以下代码示范了如何设置场景的立体显示效果。
public void setStereoDisplay() { // 显示三维窗口 SceneControl sceneControl = new SceneControl(); Scene sceneObject = sceneControl.getScene(); if(!sceneObject.isStereoEnabled()) { // 开启立体显示功能 sceneObject.setStereoEnabled(true); } // 设置场景的立体显示模式为四缓存式立体 sceneObject.setStereoMode(StereoMode.QUAD_BUFFER); // 设置场景的视差模式为正视差 sceneObject.setParallaxMode(ParallaxMode.POSITIVE_PARALLAX); // 设置两摄像机的距离 sceneObject.setStereoEyeSeparation(0.06); // 设置两摄像机的交叉角度 sceneObject.setStereoEyeAngle(-0.025); }
-
getStereoMode
public StereoMode getStereoMode()
返回立体显示的模式。- 返回:
- 立体显示的模式。
- 默认值:
- 默认值为
ANAGLYPHIC
-
setStereoMode
public void setStereoMode(StereoMode value)
设置立体显示的模式。- 参数:
value
- 立体显示的模式。- 示范代码:
- 请参见
setStereoEnabled()
方法的示例。
-
getStereoEyeSeparation
public double getStereoEyeSeparation()
返回立体显示模式时两摄像机的距离,单位为米。- 返回:
- 立体显示模式时两摄像机的距离。单位为米。
- 默认值:
- 默认值为 0.05,单位为米。
-
setStereoEyeSeparation
public void setStereoEyeSeparation(double value)
设置立体显示模式时两摄像机的距离,单位为米。两摄像机的距离在
正视差模式(POSITIVE_PARALLAX)
下的单位为厘米,因此正视差模式下,在大范围通过该方法设置两摄像机之间的距离没有效果。- 参数:
value
- 立体显示模式时两摄像机的距离。单位为米。- 示范代码:
- 请参见
setStereoEnabled()
方法的示例。
-
getStereoEyeAngle
public double getStereoEyeAngle()
返回立体显示模式时两摄像机的交叉角度,单位为度。该方法仅在正视差模式下有效,表示两摄像机的交叉角度大小,其意义在于调整双目视线的交点位置,可以增加或减弱景物的景深感。
- 返回:
- 立体显示模式时两摄像机的交叉角度。单位为度。
- 默认值:
- 默认值为 -0.012。单位为度。
-
setStereoEyeAngle
public void setStereoEyeAngle(double value)
设置立体显示模式时两摄像机的交叉角度,单位为度。- 参数:
value
- 立体显示模式时两摄像机的交叉角度。单位为度。- 示范代码:
- 请参见
setStereoEnabled()
方法的示例。
-
setParallaxMode
public void setParallaxMode(ParallaxMode value)
设置立体显示模式的视差模式。- 参数:
value
- 立体显示模式的视差模式。
-
getParallaxMode
public ParallaxMode getParallaxMode()
返回立体显示模式的视差模式。- 返回:
- 立体显示模式的视差模式。
- 默认值:
- 默认值为
POSITIVE_PARALLAX
-
isFullScreen
@Deprecated public boolean isFullScreen()
已过时。
-
setFullScreen
@Deprecated public void setFullScreen(boolean value)
已过时。
-
isStereoModeSupported
public boolean isStereoModeSupported(StereoMode mode)
返回当前系统是否支持所传入的立体显示模式。- 参数:
mode
- 指定的需要判断的立体显示模式。- 返回:
- 当前系统是否支持所传入的立体显示模式。
-
setIServerCacheDirectory
public void setIServerCacheDirectory(String value)
设置 iServer 服务缓存路径。- 参数:
value
- iServer服务缓存路径。
-
getIServerCacheDirectory
public String getIServerCacheDirectory()
返回iServer服务缓存路径。- 返回:
- 返回iServer服务缓存路径。
-
setAutoLockTarget
public void setAutoLockTarget(GeoModel value)
设置被锁定对象当场景不断变化时,通过锁定跟踪对象,可使相机相对于被锁定对象的相对位置保持不变。
- 参数:
value
- 锁定对象
-
setAutoLockOffset
public void setAutoLockOffset(Point3D value)
设置相机相对于锁定对象的偏移量通过调用该方法,可以在锁定目标对象时,改变相机对象相对于锁定对象的x轴、y轴、z轴偏移量,该偏移量暂时只适用于z轴。
通过为point3D对象的x、y、z赋值来设置相机相对于锁定对象的偏移量。
- 参数:
value
- 相机相对于锁定对象的偏移量。
-
getAutoLockOffset
public Point3D getAutoLockOffset()
返回相机相对于锁定对象的偏移量。通过调用该方法,可以在锁定目标对象时,改变相机相对于锁定对象的x轴、y轴和z轴偏移量,该偏移量暂时只适用于z轴。
- 返回:
- 相机相对于锁定对象的偏移量。
- 默认值:
- 该偏移量的默认值为x=0,y=0,z=0。
-
getFirstPersonCamera
public Camera getFirstPersonCamera()
返回第一人称相机参数,区别于getCamera()
方法。getCamera() 方法返回的是以屏幕中心点作为基准点的场景位置。
getFirstPersonCamera() 方法返回的是以当前场景的摄像机(即人眼观看的位置)为基准点操作,相对于前者该方法能够提供更加真实的操作感受,提供比前者更加广泛的可视范围。
- 返回:
- 当前场景的第一人称相机参数结构体。
-
setFirstPersonCamera
public void setFirstPersonCamera(Camera camera)
设置第一人称相机参数,区别于setCamera()
方法。setCamera() 方法是以屏幕中心点作为基准点设置场景位置的。
setFirstPersonCamera() 方法是以当前场景的摄像机(即人眼观看的位置)为基准点操作,相对于前者该方法能够提供更加真实的操作感受,提供比前者更加广泛的可视范围。
- 参数:
camera
- 欲设置的第一人称相机参数结构体。
-
isFirstPersonView
public boolean isFirstPersonView()
返回当前场景是否被设置为第一人称操作模式。- 返回:
- 当前场景是否被设置为第一人称操作模式。
-
setFirstPersonView
public void setFirstPersonView(boolean value)
设置当前场景是否被设置为第一人称操作模式。- 参数:
value
- 当前场景是否被设置为第一人称操作模式。
-
getFlyManager
public FlyManager getFlyManager()
返回三维场景的飞行管理对象。- 返回:
- 三维场景的飞行管理对象。
-
getShadowVisibleDistance
public double getShadowVisibleDistance()
返回阴影的可见距离,单位为米。- 返回:
- 阴影的可见距离。单位为米。
- 默认值:
- 默认值为2000,单位为米。
-
setShadowVisibleDistance
public void setShadowVisibleDistance(double value)
设置阴影的可见距离,单位为米。- 参数:
value
- 阴影的可见距离。单位为米。
-
getSceneType
public SceneType getSceneType()
返回场景类型。- 返回:
- 返回场景类型。
-
setSceneType
public void setSceneType(SceneType value)
设置三维场景的类型。可以选择球体模式(Globe)和平面模式(Flat)两种。- 参数:
value
- 三维场景的类型。
-
sphericalToCartesian
public static Point3D sphericalToCartesian(Point3D point)
将经纬度坐标转换为球面笛卡尔坐标。- 参数:
point
- 待转换的坐标值。- 返回:
- 笛卡尔坐标值。
-
sphericalToPseudoCartesian
public static Point3D sphericalToPseudoCartesian(Point3D point)
将经纬度坐标转换为伪直角坐标。- 参数:
point
- 待转换的坐标值。- 返回:
- 伪直角坐标。
-
pseudoCartesianToSpherical
public static Point3D pseudoCartesianToSpherical(Point3D point)
将伪直角坐标转换为经纬度坐标。- 参数:
point
- 待转换的坐标值。- 返回:
- 经纬度坐标。
-
setMultiViewportMode
public void setMultiViewportMode(MultiViewportMode mode)
设置当前场景的多视口模式类型- 参数:
mode
-
-
getMultiViewportMode
public MultiViewportMode getMultiViewportMode()
设置当前场景的多视口模式类型- 返回:
-
fly
public void fly(LookAt lookAt)
根据指定的目标相机对象进行飞行。- 参数:
lookAt
- 指定的LookAt相机对象。
-
fly
public void fly(LookAt lookAt, int milliseconds)
根据指定的目标相机对象和飞行时间进行飞行。- 参数:
lookAt
- 指定的LookAt相机对象。milliseconds
- 相机飞行到指定目的地所耗费的时间。单位为毫秒。
-
getLookAt
public LookAt getLookAt()
获取当前场景的相机对象。- 返回:
- 当前场景的相机对象。
-
setLookAt
public void setLookAt(LookAt lookAt)
设置当前场景的相机对象。- 参数:
lookAt
- 指定的相机对象。
-
removeSplitter
public boolean removeSplitter(String name)
移除指定的分隔条对象。- 参数:
name
- 指定的分隔条名称。- 返回:
- 布尔值,表示移除是否成功。
-
getSplitterCount
public int getSplitterCount()
获取当前场景中分隔条的个数。- 返回:
- 分隔条个数。
-
removeSlider
public boolean removeSlider(String name)
移除指定的滑块对象。- 参数:
name
- 指定的滑块名称。- 返回:
- 一个布尔值,表示移除是否成功。
-
getSliderCount
public int getSliderCount()
获取场景中滑块对象的个数。- 返回:
- 滑块对象的个数。
-
getHeight
public double getHeight(double longitude, double latitude)
获取场景中地面和模型上指定点的海拔高度。- 参数:
longitude
- 指定点的经度。latitude
- 指定点的纬度。- 返回:
- 指定点的海拔高度。
-
getHeight
public double getHeight(double longitude, double latitude, boolean trackingLayerHeightAvailable)
获取场景中地面和模型上指定点的海拔高度,设置跟踪图层是否参与拾取高度。- 参数:
longitude
- 指定点的经度。latitude
- 指定点的纬度。trackingLayerHeightAvailable
- 指定跟踪图层是否参与拾取高度。- 返回:
- 指定点的海拔高度。
-
getBrightness
public float getBrightness()
获取场景的亮度。- 返回:
- 场景的亮度。
-
setBrightness
public void setBrightness(float value)
设置场景的亮度。- 参数:
value
- 指定的亮度。
-
getConstrast
public float getConstrast()
获取场景的对比度。- 返回:
- 场景的对比度。
-
setConstrast
public void setConstrast(float value)
设置场景的对比度。- 参数:
value
- 指定的对比度。
-
getGamma
public float getGamma()
获取场景的明度。- 返回:
- 场景的明度。
-
setGamma
public void setGamma(float value)
设置场景的明度。- 参数:
value
- 指定的明度。
-
getHue
public float getHue()
获取场景的色相。- 返回:
- 场景的色相。
-
setHue
public void setHue(float value)
设置场景的色相。- 参数:
value
- 指定的色相。
-
getSaturation
public float getSaturation()
获取场景的饱和度。- 返回:
- 场景的饱和度。
-
setSaturation
public void setSaturation(float value)
设置场景的饱和度。- 参数:
value
- 指定的饱和度。
-
isCreateSkirt
public boolean isCreateSkirt()
获取场景是否创建地形裙边。当TIN地形存在裂缝时,创建裙边可避免显示裂缝,能够提升TIN地形效果。- 返回:
- 是否创建地形裙边.
-
setCreateSkirt
public void setCreateSkirt(boolean value)
设置场景是否创建地形裙边。当TIN地形存在裂缝时,创建裙边可避免显示裂缝,能够提升TIN地形效果。- 参数:
value
- 是否创建地形裙边。
-
isReceiveShadow
public boolean isReceiveShadow()
获取场景是否接收阴影。- 返回:
- 是否接收阴影。
-
setReceiveShadow
public void setReceiveShadow(boolean value)
设置场景是否接收阴影。- 参数:
value
- 是否接收阴影。
-
isZoomFlyPitching
public boolean isZoomFlyPitching()
获取场景是否放大至地表时执行俯仰操作。- 返回:
- 是否放大至地表时执行俯仰操作。
-
setZoomFlyPitching
public void setZoomFlyPitching(boolean value)
设置场景是否放大至地表时执行俯仰操作。- 参数:
value
- 是否放大至地表时执行俯仰操作。
-
getTerrainInfo
public Scene.TerrainInfo getTerrainInfo()
获取场景中的地形信息,包括最大值,最小值。- 返回:
- 场景中的地形信息。
-
iServerCacheDirectory
public String iServerCacheDirectory()
返回服务器缓存文件路径。- 返回:
- 服务器缓存文件路径。
-
setServerCacheDirectory
public void setServerCacheDirectory(String value)
设置服务器缓存文件路径。- 参数:
value
- 指定的服务器缓存文件路径。
-
outputScenePicture
public boolean outputScenePicture(String path, int xResolution, int yResolution)
场景是否输出高分辨率图片。- 参数:
path
- 指定的图片存放路径。xResolution
- 指定的分辨率x值。yResolution
- 指定的分辨率y值。- 返回:
- false表示出图失败,true表示成功。
-
outputScenePicture
public boolean outputScenePicture(String path, int xResolution, int yResolution, boolean bHighPerformance)
场景是否输出高分辨率图片。- 参数:
path
- 指定的图片存放路径。xResolution
- 指定的分辨率x值。yResolution
- 指定的分辨率y值。bIsHighPerformance
- 是否采用高性能模式出图(占用内存显存高,出图快)- 返回:
- false表示出图失败,true表示成功。
-
getViewBounds
public Rectangle2D getViewBounds()
返回当前场景的可视范围(Rectangle2D)。- 返回:
- 当前场景的可视范围
-
render
public void render(Geometry geometry, Symbol symbol, GeoStyle3D geoStyle3D, Resources resources)
用于Java桌面三维符号管理器使用- 参数:
geometry
-symbol
-geoStyle3D
-resources
-
-
setImagePath
public void setImagePath(String imagePath)
设置图片路径。- 参数:
imagePath
- 图片路径。
-
getPrjCoordSys
public PrjCoordSys getPrjCoordSys()
返回在平面三维模式时的投影坐标系对象。目前在平面三维模式下,投影坐标系对象中的投影类型只可以选择地理经纬坐标系和墨卡托投影坐标系。
- 返回:
- 在平面三维模式时的投影坐标系对象。
-
setPrjCoordSys
public void setPrjCoordSys(PrjCoordSys tarPrjCoordSys)
设置在平面三维模式时的投影坐标系对象。目前在平面三维模式下,投影坐标系对象中的投影类型只可以选择地理经纬坐标系和墨卡托投影坐标系。
- 参数:
tarPrjCoordSys
- 在平面三维模式时的投影坐标系对象。
-
ENUToLonLat
public static ArrayList<Point3D> ENUToLonLat(ArrayList<Point3D> ptList, Point3D lonlat)
将以经纬度作为插入点的笛卡尔坐标系的模型转成经纬度坐标。- 参数:
ptList
- 待转换的点列表。lonlat
- 指定插入点坐标。- 返回:
- 转换后的经纬度坐标列表。
-
lonLatToENU
public static ArrayList<Point3D> lonLatToENU(ArrayList<Point3D> ptList, Point3D lonlat)
将经纬度的点转成以经纬度作为插入点的ENU坐标。- 参数:
ptList
- 经纬度的三维点集。lonlat
- 输入一个经纬度的三维点作为插入点。- 返回:
- ENU坐标的三维点集。
-
isDepthPrecisionOptimization
public boolean isDepthPrecisionOptimization()
返回场景是否开启深度优化,支持动态切换。- 返回:
- 是否开启深度优化。
-
setDepthPrecisionOptimization
public void setDepthPrecisionOptimization(boolean isDepthPrecisionOptimization)
设置场景是否开启深度优化,支持动态切换。- 参数:
isDepthPrecisionOptimization
- 是否开启深度优化。
-
isTransparencyOptimization
public boolean isTransparencyOptimization()
返回场景是否开启透明优化,支持模型缓存、模型数据集、跟踪层对象。- 返回:
- 是否开启透明优化。
-
setTransparencyOptimization
public void setTransparencyOptimization(boolean isTransparencyOptimization)
设置场景是否开启透明优化,支持模型缓存、模型数据集、跟踪层对象。- 参数:
isTransparencyOptimization
- 是否开启透明优化
-
getCameraFOVMode
public CameraFOVModeType getCameraFOVMode()
返回视场角模式。- 返回:
- 场景视场角模式。
-
setCameraFOVMode
public void setCameraFOVMode(CameraFOVModeType modeType)
设置视场角模式。- 参数:
modeType
- 场景视场角模式。
-
setHTCMoveSpeed
public void setHTCMoveSpeed(double speed)
设置场景速度倍率。- 参数:
speed
- 场景速度倍率。
-
projectionImagesToXML
public boolean projectionImagesToXML(String xmlPath)
视频投放的结果输出到xml文件- 参数:
xmlPath
- xml文件全路径。- 返回:
- 一个bool值,返回true表示视频投放的结果输出到xml文件成功,返回false表示失败。
-
getClipRegionDataset
public Dataset getClipRegionDataset()
返回裁剪数据集。- 返回:
- 被裁剪的数据集。
-
setClipRegionDataset
public void setClipRegionDataset(Dataset dataset)
设置裁剪数据集。- 参数:
dataset
- 被裁剪的数据集。
-
addTokenInfo
public void addTokenInfo(String token)
添加token信息。- 参数:
token
- token值。
-
addTokenInfo
public void addTokenInfo(String token, String url)
添加token信息。- 参数:
token
- token值。url
- url地址。
-
addTokenInfo
public void addTokenInfo(String token, String url, CredentialType credentialType)
添加token信息。- 参数:
token
- token值。url
- url地址。credentialType
- 凭证类型。
-
getQuery3D
public Query3D getQuery3D()
返回空间查询对象。- 返回:
- 三维空间查询。
-
ENUToLonLat
public static ArrayList<Point3D> ENUToLonLat(ArrayList<Point3D> ptList, Point3D lonlat, SceneType sceneType)
将以经纬度作为插入点的笛卡尔坐标系的模型转成经纬度坐标,在指定场景的球体类型上加载。- 参数:
ptList
- 待转换的点列表。lonlat
- 指定插入点坐标。sceneType
- 球体类型,包含圆球和椭球。- 返回:
- 转换后的经纬度坐标列表。
-
lonLatToENU
public static ArrayList<Point3D> lonLatToENU(ArrayList<Point3D> ptList, Point3D lonlat, SceneType sceneType)
将经纬度的点转成以经纬度作为插入点的ENU坐标,在椭球上加载。- 参数:
ptList
- 经纬度的三维点集。lonlat
- 输入一个经纬度的三维点作为插入点。sceneType
- 球体类型,包含圆球和椭球。- 返回:
- ENU坐标的三维点集。
-
getENUTransformMatrix
public static Matrix getENUTransformMatrix(Point3D point)
返回插入点经纬度矩阵。- 参数:
point
- 椭球插入点的经纬度。- 返回:
- 插入点的经纬度矩阵。
-
cartesianToGeographical
public static Point3D cartesianToGeographical(Point3D point, SceneType sceneType)
将指定场景类型的地理坐标转成笛卡尔坐标。- 参数:
point
- 经纬度坐标sceneType
- 球体类型,包含圆球(GLOBE)和椭球(ELLIPSOIDWGS84)。- 返回:
- 笛卡尔坐标
-
geographicalToCartesian
public static Point3D geographicalToCartesian(Point3D point, SceneType sceneType)
将笛卡尔坐标转成指定场景类型的地理坐标。- 参数:
point
- 待转换的笛卡尔坐标sceneType
- 球体类型,包含圆球(GLOBE)和椭球(ELLIPSOIDWGS84)。- 返回:
- 地理坐标
-
getSkirtHeight
public double getSkirtHeight()
返回IN地形裙边高度,单位为米。- 返回:
- IN地形裙边高度。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setSkirtHeight
public void setSkirtHeight(double skirtHeight)
设置TIN地形裙边高度,单位为米。- 参数:
skirtHeight
- TIN地形裙边高度。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getSceneOverlapDisplayedOptions
public SceneOverlapDisplayedOptions getSceneOverlapDisplayedOptions()
返回场景压盖参数。获取压盖重叠间距,单位为像素;图标是否随文字显隐等设置。- 返回:
- 压盖参数。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setSceneOverlapDisplayedOptions
public void setSceneOverlapDisplayedOptions(SceneOverlapDisplayedOptions options)
设置场景压盖参数。支持设置压盖重叠间距,单位为像素;图标是否随文字显隐等设置。- 参数:
options
- 压盖参数。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getWalkMode
public WalkingMode getWalkMode()
返回场景漫游时的行走模式。- 返回:
- 场景漫游时的行走模式。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setWalkMode
public void setWalkMode(WalkingMode walkMode)
设置场景漫游时的行走模式。- 参数:
walkMode
- 场景漫游行走模式。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getCollisionDetection
public boolean getCollisionDetection()
返回场景是否开启碰撞检测。- 返回:
- 是否开启碰撞检测。返回true,表示开启碰撞检测,返回false;表示不开启碰撞检测。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setCollisionDetection
public void setCollisionDetection(boolean value)
设置场景是否开启碰撞检测。- 参数:
value
- 是否开启碰撞检测。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getCollisionDistanceThreshold
public double getCollisionDistanceThreshold()
返回场景碰撞检测距离。- 返回:
- 碰撞检测距离。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setCollisionDistanceThreshold
public void setCollisionDistanceThreshold(double value)
设置场景碰撞检测距离。- 参数:
value
- 碰撞检测距离。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getGraphics3DType
public Graphics3DType getGraphics3DType()
返回显示引擎类型。- 返回:
- 显示引擎类型。
-
getShadowDarkness
public float getShadowDarkness()
返回场景阴影浓度。- 返回:
- 场景阴影浓度。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setShadowDarkness
public void setShadowDarkness(float shadowDarkness)
设置场景阴影浓度。- 参数:
shadowDarkness
- 场景阴影浓度。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getShadowDistance
public double getShadowDistance()
返回场景阴影可见距离。- 返回:
- 场景阴影可见距离。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setShadowDistance
public void setShadowDistance(double shadowDistance)
设置场景阴影可见距离。- 参数:
shadowDistance
- 阴影可见距离。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getSunLightCascadeShadowMapLamda
public float getSunLightCascadeShadowMapLamda()
返回场景主光源的级联阴影的分割点lamda值。
范围是0-1,默认值是0.5。0表示按等距离分割级联阴影(有利于较远距离的阴影清晰度);1表示指数分割级联阴影(有利于非常近的阴影清晰度)。介于两者之间为这两种分割方式的混合。- 返回:
- 场景主光源的级联阴影的分割点lamda值。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setSunLightCascadeShadowMapLamda
public void setSunLightCascadeShadowMapLamda(float sunLightCascadeShadowMapLamda)
设置场景主光源的级联阴影的分割点lamda值。- 参数:
sunLightCascadeShadowMapLamda
- 场景主光源的级联阴影的分割点lamda值。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getSunLightShadowSharpness
public float getSunLightShadowSharpness()
返回主光源产生的阴影边缘的锐化程度。
范围是0-1,0表示不进行锐化,1表示最大程度锐化。锐化会提高边界清晰度,但会降低柔和感并有微弱锯齿。默认值为0。- 返回:
- 主光源产生的阴影边缘的锐化程度。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setSunLightShadowSharpness
public void setSunLightShadowSharpness(float mainLightShadowSharpness)
设置主光源产生的阴影边缘的锐化程度。- 参数:
mainLightShadowSharpness
- 主光源产生的阴影边缘的锐化程度。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
isSunLightCameraTrackingEnabled
public boolean isSunLightCameraTrackingEnabled()
返回场景中模拟太阳光源使用时间的时区是否随着相机位置改变而相应修改。
默认值为true,表示当相机漫游至全球任何位置时,都采用太阳轨迹轴上设置的时间,转换为相机位置当地时间,来模拟太阳光照。- 返回:
- 场景中模拟太阳光源使用时间的时区是否随着相机位置改变而相应修改。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setSunLightCameraTrackingEnabled
public void setSunLightCameraTrackingEnabled(boolean sunLightCameraTrackingEnabled)
设置场景中模拟太阳光源使用时间的时区是否随着相机位置改变而相应修改。- 参数:
sunLightCameraTrackingEnabled
- 场景中模拟太阳光源使用时间的时区是否随着相机位置改变而相应修改。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getSunLightColor
public Color getSunLightColor()
返回场景太阳光颜色。- 返回:
- 太阳光颜色。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setSunLightColor
public void setSunLightColor(Color value)
设置场景太阳光颜色。- 参数:
value
- 太阳光颜色。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getSunLightIntensity
public double getSunLightIntensity()
返回场景太阳光强度。- 返回:
- 太阳光强度。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setSunLightIntensity
public void setSunLightIntensity(double value)
设置场景太阳光强度。- 参数:
value
- 太阳光强度。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
getShadowDepthBias
public float getShadowDepthBias()
返回阴影深度偏移。- 返回:
- 阴影深度偏移。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setShadowDepthBias
public void setShadowDepthBias(float depthBias)
设置阴影深度偏移。- 参数:
depthBias
- 阴影深度偏移。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
isHDREnabled
public boolean isHDREnabled()
返回是否开启HDR。- 返回:
- 是否开启HDR。返回true表示开启HDR;返回false表示不开启HDR。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.3.0。
-
setHDREnabled
public void setHDREnabled(boolean value)
设置是否开启HDR。
默认值为false,表示默认不开启HDR。- 参数:
value
- 是否开启HDR。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.3.0。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.