public class TerrainLayer
extends com.supermap.data.InternalHandle
该类包含了地形图层对象的相关方法。
public void TestTerrainLayer() { // 返回三维场景窗口的三维场景对象,并进行三维场景的设置 SceneControl sceneControl = new SceneControl(); Scene sceneObject = sceneControl.getScene(); sceneObject.getAtmosphere().setVisible(true); sceneObject.setTerrainExaggeration(8); // 返回三维场景中的地形图层集合,并添加地形图层到地形图层集合中 TerrainLayers terrainLayers = sceneObject.getTerrainLayers(); TerrainLayer terrainLayer = terrainLayers.add("\\\\Dem.sct",true); terrainLayer.setVisible(true); // 将已有的SCI文件添加到三维场景中,作为影像图层与地形图层叠加显示在三维场景窗口中 Layer3D layerSCI = sceneObject.getLayers().add("\\\\beijing\\Image.sci",Layer3DType.KML,true); Layer3DSettingImage layer3DSettingImage = (Layer3DSettingImage) layerImage.getAdditionalSetting(); Rectangle2D viewRegion = layer3DSettingSCI.getBounds(); sceneObject.ensureVisible(viewRegion); sceneObject.refresh(); // 返回地形图层的信息并输出 String filePathSCT = terrainLayer.getSCTFile(); System.out.println("SCT文件的全路径为:" + filePathSCT); // 释放占用的资源 sceneControl.dispose(); }
限定符和类型 | 方法和说明 |
---|---|
int |
getBeginLevel()
获取开始层数。
|
Rectangle2D |
getBounds()
返回地形图层数据的地理范围。
|
String |
getCaption()
返回地形图层的标题。
|
String |
getDataName()
返回地形数据的全路径。
|
Dataset |
getDataset()
返回地形图层所在的数据集。
|
String |
getDescription()
返回地形图层的描述信息。
|
int |
getEndLevel()
获取结束层数。
|
boolean |
getIsShowGlobe()
获取TIN地形是否显示无效值 。
|
double |
getLODRangeScale()
获取地形的LOD层级切换距离缩放系数。
|
double |
getMaxHeight()
获取该地形图层的最大高度值。
|
double |
getMinHeight()
获取该地形图层的最小高度值。
|
String |
getName()
返回地形图层的名称。
|
String |
getPassword()
返回密码字符串。
|
TerrainType |
getType()
获取地形类型。
|
boolean |
isVisible()
返回该图地形层是否可视。
|
void |
setCaption(String value)
设置地形图层的标题。
|
void |
setDescription(String value)
设置地形图层的描述信息。
|
void |
setIsShowGlobe(boolean value)
设置TIN地形是否显示无效值 。
|
void |
setLODRangeScale(double value)
设置地形的LOD层级切换距离缩放系数。
|
void |
setVisible(boolean value)
设置该图地形层是否可视。
|
public String getName()
public String getCaption()
public void setCaption(String value)
value
- 地形图层的标题。public String getDescription()
public void setDescription(String value)
value
- 地形图层的描述信息。public boolean isVisible()
public void setVisible(boolean value)
value
- 一个布尔值指定该图地形层是否可视。public String getDataName()
SCT(SuperMap Cache Terrain)是 SuperMap 自己的一种文件格式,是将数据量大的地形数据预处理形成缓存目录,即将数据量大的地形数据按照全球格网剖分模型,采用四叉树剖分法对大数据量的地形数据进行分层分块。SuperMap 的四叉树格网是按经纬网建立的全球统一格网剖分模型,范围上从经度-180度到180度分成列,从纬度-90度到90度分成行,随着视点的移动缩放,格网也就一分为四按四叉树分割原理进行分割,行列数各扩大2倍。
对于地形数据,SuperMap 分割的数据是合法的 SuperMap Dem/Grid 经纬度数据集,在最底层(根据使用习惯,最底层的地形数据应该是最清晰的)满足的150*150的尺寸大小,每个文件都是二进制 bit 流组成的 *.bil 格式文件,大小是 44KB。分层分块后所得的每一个 bil 文件的编号为这个文件所在全球格网的行列号。
另外,保存分层分块数据的缓存目录结果,类似金字塔。层:存放数据的根节点,每层存放了不同比例尺下的数据;行列:按照全球统一格网对球体进行剖分,会将球体剖分成 N 行 2N 列,行列号也组成了每个数据文件的名字。
形成缓存目录后,在缓存目录中同时生成的一个文件,该文件对生成的缓存进行了详细描述。例如缓存层数、缓存地理范围、缓存文件类型等,而这个文件就是 SCT 文件,该文件可以使用文本浏览器打开浏览。系统通过加载 SCT 文件,获得缓存信息,从而将预处理后的地形数据作为一个图层显示在三维场景窗口中,我们称该图层为地形图层。
其中,预处理生成的缓存文件扩展名为 *.bil。
public Rectangle2D getBounds()
SCT(SuperMap Cache Terrain)是 SuperMap 自己的一种文件格式,是将数据量大的地形数据预处理形成缓存目录,即将数据量大的地形数据按照全球格网剖分模型,采用四叉树剖分法对大数据量的地形数据进行分层分块。SuperMap 的四叉树格网是按经纬网建立的全球统一格网剖分模型,范围上从经度-180度到180度分成列,从纬度-90度到90度分成行,随着视点的移动缩放,格网也就一分为四按四叉树分割原理进行分割,行列数各扩大2倍。
对于地形数据,SuperMap 分割的数据是合法的 SuperMap Dem/Grid 经纬度数据集,在最底层(根据使用习惯,最底层的地形数据应该是最清晰的)满足的150*150的尺寸大小,每个文件都是二进制 bit 流组成的 *.bil 格式文件,大小是 44KB。分层分块后所得的每一个 bil 文件的编号为这个文件所在全球格网的行列号。
另外,保存分层分块数据的缓存目录结果,类似金字塔。层:存放数据的根节点,每层存放了不同比例尺下的数据;行列:按照全球统一格网对球体进行剖分,会将球体剖分成 N 行 2N 列,行列号也组成了每个数据文件的名字。
形成缓存目录后,在缓存目录中同时生成的一个文件,该文件对生成的缓存进行了详细描述。例如缓存层数、缓存地理范围、缓存文件类型等,而这个文件就是 SCT 文件,该文件可以使用文本浏览器打开浏览。系统通过加载 SCT 文件,获得缓存信息,从而将预处理后的地形数据作为一个图层显示在三维场景窗口中,我们称该图层为地形图层。
其中,预处理生成的缓存文件扩展名为 *.bil。
public String getPassword()
public Dataset getDataset()
public TerrainType getType()
public int getBeginLevel()
public int getEndLevel()
public boolean getIsShowGlobe()
public void setIsShowGlobe(boolean value)
value
- public double getLODRangeScale()
public void setLODRangeScale(double value)
value
- public double getMaxHeight()
public double getMinHeight()
Copyright © 2021–2024 SuperMap. All rights reserved.