com.supermap.realspace

类 TerrainLayer

  • java.lang.Object
    • com.supermap.data.InternalHandle
      • com.supermap.realspace.TerrainLayer


  • public class TerrainLayer
    extends com.supermap.data.InternalHandle
    地形图层类。

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

    示范代码:
    以下代码示范了如何将地形数据添加到三维场景中,即将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();
    
            }
    • 方法详细资料

      • getName

        public String getName()
        返回地形图层的名称。
        返回:
        地形图层的名称。
      • getCaption

        public String getCaption()
        返回地形图层的标题。
        返回:
        地形图层的标题。
      • setCaption

        public void setCaption(String value)
        设置地形图层的标题。
        参数:
        value - 地形图层的标题。
      • getDescription

        public String getDescription()
        返回地形图层的描述信息。
        返回:
        地形图层的描述信息。
      • setDescription

        public void setDescription(String value)
        设置地形图层的描述信息。
        参数:
        value - 地形图层的描述信息。
      • isVisible

        public boolean isVisible()
        返回该图地形层是否可视。
        返回:
        该图地形层可视返回 true;否则返回 false。
      • setVisible

        public void setVisible(boolean value)
        设置该图地形层是否可视。
        参数:
        value - 一个布尔值指定该图地形层是否可视。
      • getDataName

        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。

        返回:
        地形数据的全路径。
      • 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 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()
        获取该地形图层的最小高度值。
        返回:

Copyright © 2021–2024 SuperMap. All rights reserved.