com.supermap.realspace
类 TerrainLayer

java.lang.Object
  继承者 com.supermap.realspace.TerrainLayer

public class TerrainLayer
extends java.lang.Object

地形图层类。

该类包含了地形图层对象的相关方法。

示例:
以下代码示范了如何将地形数据添加到三维场景中,即将SCT文件加入到三维场景中显示,假设已经存在SCT文件以及用于显示的缓存文件。
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()
          返回地形图层数据的地理范围。
 java.lang.String getCaption()
          返回地形图层的标题。
 java.lang.String getDataName()
          返回地形数据的全路径。
 Dataset getDataset()
          返回地形图层所在的数据集。
 java.lang.String getDescription()
          返回地形图层的描述信息。
 int getEndLevel()
          获取结束层数。
 boolean getIsShowGlobe()
          获取TIN地形是否显示无效值 。
 double getLODRangeScale()
          获取地形的LOD层级切换距离缩放系数。
 double getMaxHeight()
          获取该地形图层的最大高度值。
 double getMinHeight()
          获取该地形图层的最小高度值。
 java.lang.String getName()
          返回地形图层的名称。
 java.lang.String getPassword()
          返回密码字符串。
 TerrainType getType()
          获取地形类型。
 boolean isVisible()
          返回该图地形层是否可视。
 void refresh()
          进行地形分析时无需显示法线,调用此接口就可以显示结果。
 void setCaption(java.lang.String value)
          设置地形图层的标题。
 void setDescription(java.lang.String value)
          设置地形图层的描述信息。
 void setIsShowGlobe(boolean value)
          设置TIN地形是否显示无效值 。
 void setLODRangeScale(double value)
          设置地形的LOD层级切换距离缩放系数。
 void setVisible(boolean value)
          设置该图地形层是否可视。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

getName

public java.lang.String getName()
返回地形图层的名称。

返回:
地形图层的名称。

getCaption

public java.lang.String getCaption()
返回地形图层的标题。

返回:
地形图层的标题。

setCaption

public void setCaption(java.lang.String value)
设置地形图层的标题。

参数:
value - 地形图层的标题。

getDescription

public java.lang.String getDescription()
返回地形图层的描述信息。

返回:
地形图层的描述信息。

setDescription

public void setDescription(java.lang.String value)
设置地形图层的描述信息。

参数:
value - 地形图层的描述信息。

isVisible

public boolean isVisible()
返回该图地形层是否可视。

返回:
该图地形层可视返回 true;否则返回 false。

setVisible

public void setVisible(boolean value)
设置该图地形层是否可视。

参数:
value - 一个布尔值指定该图地形层是否可视。

getDataName

public java.lang.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。

返回:
地形数据的全路径。

getBounds

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。

返回:
地形图层数据的地理范围。

getPassword

public java.lang.String getPassword()
返回密码字符串。

返回:
密码字符串。

getDataset

public Dataset getDataset()
返回地形图层所在的数据集。

返回:
返回地形图层所在的数据集。

getType

public TerrainType getType()
获取地形类型。

返回:

getBeginLevel

public int getBeginLevel()
获取开始层数。

返回:

getEndLevel

public int getEndLevel()
获取结束层数。

返回:

getIsShowGlobe

public boolean getIsShowGlobe()
获取TIN地形是否显示无效值 。

返回:

setIsShowGlobe

public void setIsShowGlobe(boolean value)
设置TIN地形是否显示无效值 。

参数:
value -

getLODRangeScale

public double getLODRangeScale()
获取地形的LOD层级切换距离缩放系数。

返回:

setLODRangeScale

public void setLODRangeScale(double value)
设置地形的LOD层级切换距离缩放系数。

参数:
value -

getMaxHeight

public double getMaxHeight()
获取该地形图层的最大高度值。

返回:

getMinHeight

public double getMinHeight()
获取该地形图层的最小高度值。

返回:

refresh

public void refresh()
进行地形分析时无需显示法线,调用此接口就可以显示结果。