com.supermap.data.processing

类 TerrainCacheBuilder

  • java.lang.Object
    • com.supermap.data.InternalHandle
      • com.supermap.data.InternalHandleDisposable
        • com.supermap.data.processing.TerrainCacheBuilder
  • 所有已实现的接口:
    IDisposable


    public class TerrainCacheBuilder
    extends com.supermap.data.InternalHandleDisposable
    地形瓦片生成类,负责为地形数据生成配置文件为 *.sct 格式的瓦片。

    在三维场景中往往需要添加地形图层,如何添加地形图层请查看 TerrainLayers.add() 方法的说明。

    三维瓦片是一种用于改善三维场景浏览用户体验的优化策略。服务器端创建了三维瓦片之后,客户端用户的每一次地图浏览,比如平移、放大、缩小地图,都会向服务器端发送一个 URL 请求,此时,服务器端按照匹配的条件,将已缓存的数据返回到客户端。

    TerrainCacheBuilder 类为用户提供了地形瓦片生成的相关接口,生成地形瓦片通常情况下包含以下步骤:

    1、获得用于生成瓦片的原始数据,即 Grid 数据集。

    2、使用 TerrainCacheBuilder 类完成 Grid 数据集到地形瓦片的生成。

    若需要在三维场景中显示的原始地形数据分开存储在多个数据集中,则此时需要通过该类分别生成瓦片,存放在不同的目录下,然后分别加载地形瓦片;或者将这些数据集以地形图层的方式加载到三维场景中,通过 SceneCacheBuilder.build() 方法以生成场景瓦片的方式,通过一次调用即可生成对应的地形瓦片。

    若需要生成瓦片的原始数据集的数量较大,如100,1000,建议用户将这些数据集配成一张地图,然后生成二维或三维地图瓦片,关于二三维地图瓦片的生成可参见 MapCacheBuilderMapCache3DBuilder 类。

    关于地形瓦片的详细介绍请参见《二三维瓦片》技术文档。

    • 构造器详细资料

      • TerrainCacheBuilder

        public TerrainCacheBuilder()
        构造一个生成 SCT 地形瓦片类的新实例。
      • TerrainCacheBuilder

        public TerrainCacheBuilder(DatasetGrid dataset,
                                   String outputFolder)
        根据GRID 数据集和结果数据存储路径,构造一个瓦片生成类对象。

        该构造函数生成的瓦片对象的名字与栅格数据集的名称相同。

        参数:
        dataset - 指定的栅格数据集。
        outputFolder - 结果数据存储路径。
      • TerrainCacheBuilder

        public TerrainCacheBuilder(DatasetGrid dataset,
                                   String outputFolder,
                                   String name)
        根据栅格数据集、结果数据存储路径以及生成的瓦片对象名称,构造一个瓦片生成类对象。
        参数:
        dataset - 指定的栅格数据集。
        outputFolder - 结果数据存储路径。
        name - 生成的瓦片对象名称。
    • 方法详细资料

      • getDataset

        public DatasetGrid getDataset()
        返回用于创建瓦片的 GRID 数据集。
        返回:
        用于创建瓦片的 GRID 数据集。
      • setDataset

        public void setDataset(DatasetGrid datasetGrid)
        设置用于创建瓦片的 GRID 数据集。
        参数:
        datasetGrid - 用于创建瓦片的 GRID 数据集。
      • getStorageType

        public StorageType getStorageType()
        返回瓦片的存储方式。
        返回:
        瓦片的存储方式。
        默认值:
        默认值为 StorageType.Original,即原始模式。
      • setStorageType

        public void setStorageType(StorageType storageType)
        设置瓦片的存储方式。
        参数:
        storageType - 瓦片的存储方式。
      • getOutputFolder

        public String getOutputFolder()
        返回结果数据存储路径。
        返回:
        结果数据存储路径。
      • setOutputFolder

        public void setOutputFolder(String value)
        设置结果数据存储路径。
        参数:
        value - 结果数据存储路径。
      • getCacheName

        public String getCacheName()
        返回生成瓦片的名称。该名称对应 SCT 瓦片配置文件的名称,不含后缀名以及路径信息。
        返回:
        生成瓦片的名称。该名称对应 SCT 瓦片配置文件的名称,不含后缀名以及路径信息。
      • setCacheName

        public void setCacheName(String value)
        设置生成瓦片的名称。该名称对应 SCT 瓦片配置文件的名称,不含后缀名以及路径信息。
        参数:
        value - 生成瓦片的名称。
      • getClipRegion

        public GeoRegion getClipRegion()
        返回数据集的裁剪区域。

        数据集的裁剪区域为可以访问的区域。

        返回:
        数据集的裁剪区域。
      • setClipRegion

        public void setClipRegion(GeoRegion geoRegion)
        设置数据集的裁剪区域。

        数据集的裁剪区域为可以访问的区域。

        参数:
        geoRegion - 数据集的裁剪区域。
      • getBeginLevel

        @Deprecated
        public int getBeginLevel()
        已过时。 
      • setBeginLevel

        @Deprecated
        public void setBeginLevel(int value)
        已过时。 
      • getEndLevel

        @Deprecated
        public int getEndLevel()
        已过时。 
      • setEndLevel

        @Deprecated
        public void setEndLevel(int value)
        已过时。 
      • getDefaultBeginLevel

        @Deprecated
        public int getDefaultBeginLevel()
        已过时。 
      • getDefaultEndLevel

        @Deprecated
        public int getDefaultEndLevel()
        已过时。 
      • getSampleSize

        public int getSampleSize()
        返回瓦片预处理后生成的每个瓦片分块文件的采样尺寸,单位为像素。

        对于栅格数据来说,该方法的返回值即为瓦片预处理后每个分块的图幅尺寸。

        返回:
        瓦片预处理后生成的每个瓦片分块文件的采样尺寸,单位为像素。
        默认值:
        默认值为 129。
      • setSampleSize

        public void setSampleSize(int value)
        设置瓦片预处理后生成的每个瓦片分块文件的采样尺寸,单位为像素。

        对于栅格数据来说,该方法的返回值即为瓦片预处理后每个分块的图幅尺寸。

        参数:
        value - 瓦片预处理后生成的每个瓦片分块文件的采样尺寸。
      • getDynamicPrjCoordSysType

        public PrjCoordSysType getDynamicPrjCoordSysType()
        返回基于栅格数据集生成的地形瓦片所使用的瓦片投影坐标系。
        返回:
        当前栅格数据集生成的地形瓦片所设置的投影坐标系类型。
      • setDynamicPrjCoordSysType

        public void setDynamicPrjCoordSysType(PrjCoordSysType prjType)
        设置基于栅格数据集生成的地形所使用的瓦片投影坐标系。
        参数:
        prjType - 投影坐标系类型,指明设置的投影坐标系。
      • getPassword

        public String getPassword()
        返回用于为地图对象创建瓦片时对数据进行加密的密码。在添加图层时,需要使用该密码才能成功添加。如果使用默认值,便可不指定密码便能打开。

        该密码不会写到瓦片数据的配置文件中,同时,fromConfigFile 方法也不会还原该密码。

        返回:
        一个布尔值,若创建地图瓦片成功返回true,否则返回 false。
        默认值:
        默认值为一个空的字符串。
      • setPassword

        public void setPassword(String password)
        设置用于为地图对象创建瓦片时对数据进行加密的密码。在添加图层时,需要使用该密码才能成功添加。如果使用默认值,便可不指定密码便能打开。

        该密码不会写到瓦片数据的配置文件中,同时,fromConfigFile 方法也不会还原该密码。

        注意:当 StorageType.Original 时,该方法是无效的;当 StorageType.Compact 时,该方法才有效。

        参数:
        password - 用于为地图对象创建瓦片时对数据进行加密的密码。
      • dispose

        public void dispose()
        释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
      • build

        public boolean build()
        创建地形瓦片。
        返回:
        创建瓦片成功返回 true,否则返回 false。
      • buildWithoutConfigFile

        public boolean buildWithoutConfigFile()
        为地形数据创建地形瓦片。使用该方法创建瓦片不会生成地形瓦片的配置文件。
        返回:
        一个布尔值,若创建瓦片成功,返回 true,否则返回 false。
      • computeOutputScales

        public boolean computeOutputScales()
        计算生成地形瓦片时的合适输出比例尺,即提供的默认输出比例尺。该操作会修改 setOutputScales() 方法的设置值,通过该方法可以查看默认的输出比例尺。
        返回:
        一个布尔值,若计算成功返回 true,否则返回 false。
      • getDefaultOutputScales

        public double[] getDefaultOutputScales()
        返回默认的瓦片生成比例尺。
        返回:
        返回默认的瓦片生成比例尺。
      • getOutputScaleCaptions

        public HashMap<Double,String> getOutputScaleCaptions()
        返回地形瓦片比例尺的别名。
        返回:
        地形瓦片比例尺的别名。
      • setOutputScaleCaptions

        public void setOutputScaleCaptions(HashMap<Double,String> scaleCaptions)
        设置地形瓦片比例尺的别名。

        一般设置为比例尺大小倒数的字符串,如1:10000为10000。

        当设置的别名不唯一时,程序抛出异常。

        参数:
        scaleCaptions - 地形瓦片比例尺的别名。
      • getOutputScales

        public double[] getOutputScales()
        返回地形瓦片的比例尺数组。
        返回:
        地形瓦片的比例尺数组。
      • setOutputScales

        public void setOutputScales(double[] values)
        设置地形瓦片的比例尺数组。

        地形比例尺数组中有一个非法(数值非法或出瓦片时比例尺数组不是子集)时,瓦片生成失败。

        参数:
        values - 地形瓦片的比例尺数组。
      • computeLevel

        @Deprecated
        public boolean computeLevel()
        已过时。 
      • computeTerrainFileName

        @Deprecated
        public String[] computeTerrainFileName()
        已过时。 
      • computeTerrainFileName

        @Deprecated
        public String[] computeTerrainFileName(int specialLevel)
        已过时。 
      • toConfigFile

        public boolean toConfigFile(String fileName)
        将对象的相关设置写到指定的文件中,文件的后缀名为 .sct,即瓦片数据的配置文件。

        该方法不会对 setDataset 方法的设置值进行修改。

        参数:
        fileName - 瓦片配置文件存储路径。
        返回:
        若保存瓦片配置文件成功返回 true,否则返回 false。
      • fromConfigFile

        public boolean fromConfigFile(String fileName)
        导入瓦片文件,根据瓦片数据的配置文件中的内容来指定相关设置的值。

        该方法不会对 setDataset 方法的设置值进行修改。

        参数:
        fileName - 瓦片配置文件存储路径。
        返回:
        若导入瓦片配置文件成功返回 true,否则返回 false。
      • getTiles

        public Tile[] getTiles(Rectangle2D tileBounds,
                               double scale)
        返回指定条件的瓦片。
        参数:
        tileBounds - 瓦片范围。
        scale - 瓦片比例尺。
        返回:
        返回指定条件的瓦片。
      • getProcessThreadsCount

        public int getProcessThreadsCount()
        获取线程数
        返回:
      • setProcessThreadsCount

        public void setProcessThreadsCount(int threadCount)
        设置线程数
        参数:
        threadCount -
      • getBlockScale

        public int getBlockScale()
        获取组合因子
        返回:
      • setBlockScale

        public void setBlockScale(int blockScale)
        设置组合因子
        参数:
        blockScale -
      • addSteppedListener

        public void addSteppedListener(SteppedListener l)
        添加一个用于接收进度条事件(SteppedEvent)的监听器。
        参数:
        l - 一个用于接收进度条事件的监听器。
      • removeSteppedListener

        public void removeSteppedListener(SteppedListener l)
        移除一个用于接收进度条事件(SteppedEvent)的监听器。
        参数:
        l - 一个用于接收进度条事件的监听器。
      • openFile

        public boolean openFile(String tifPath)
        TIFF文件直接生成栅格瓦片
      • setIsDisposable

        public static void setIsDisposable(com.supermap.data.InternalHandleDisposable obj,
                                           boolean disposable)

Copyright © 2021–2025 SuperMap. All rights reserved.