com.supermap.data.processing

类 CacheBuilderTIN

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


    public class CacheBuilderTIN
    extends com.supermap.data.InternalHandleDisposable
    地形数据生成瓦片类。该类主要用于为地形数据生成供三维场景发布使用的地形瓦片,其配置文件为 *.sct格式。
    从以下版本开始:
    9.1.0。
    • 构造器详细资料

      • CacheBuilderTIN

        public CacheBuilderTIN()
        构造函数,初始化一个新的CacheBuilderTIN对象。
    • 方法详细资料

      • getDataset

        public DatasetGrid getDataset()
        返回生成地形瓦片的栅格数据集。
        返回:
        生成地形瓦片的栅格数据集。
      • setDataset

        public void setDataset(DatasetGrid value)
        设置生成地形瓦片的栅格数据集。
        参数:
        value - 生成地形瓦片的栅格数据集。
        抛出:
        IllegalStateException - 栅格数据集为空。
      • setDatasetPoint

        public void setDatasetPoint(DatasetVector value)
        设置生成地形瓦片的矢量数据集。

        支持矢量点或等高线生成地形(TIN)。

        如果使用二维点或等高线构建地形(TIN),则需要指定高程特征值作为地形高程.

        如果使用三维点或等高线构建地形(TIN),默认会使用三维点或等高线的Z值作为地形高程,也可以指定高程特征值。

        参数:
        value - 生成地形瓦片的矢量数据集。
        抛出:
        IllegalStateException - 矢量数据集为空。
        从以下版本开始:
        10.1.0。
      • getDatasetPoint

        public DatasetVector getDatasetPoint()
        返回生成地形瓦片的矢量数据集。

        支持矢量点或等高线生成地形(TIN)。

        如果使用二维点或等高线构建地形(TIN),则需要指定高程特征值作为地形高程.

        如果使用三维点或等高线构建地形(TIN),默认会使用三维点或等高线的Z值作为地形高程,也可以指定高程特征值。

        返回:
        生成地形瓦片的矢量数据集。
        从以下版本开始:
        10.1.0。
      • getDatasetImage

        public Dataset getDatasetImage()
        返回生成地形瓦片的影像数据集。
        返回:
        生成地形瓦片的影像数据集。
      • setDatasetImage

        public void setDatasetImage(Dataset value)
        设置生成地形瓦片的影像数据集。
        参数:
        value - 生成地形瓦片的影像数据集。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • getOutputFolder

        public String getOutputFolder()
        返回生成地形瓦片的存储路径。
        返回:
        生成地形瓦片的存储路径。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setOutputFolder

        public void setOutputFolder(String value)
        设置生成地形瓦片的存储路径。
        参数:
        value - 生成地形瓦片的存储路径。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • getCacheName

        public String getCacheName()
        返回生成地形瓦片的瓦片名称。
        返回:
        生成地形瓦片的瓦片名称。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setCacheName

        public void setCacheName(String value)
        设置生成地形瓦片的瓦片名称。
        参数:
        value - 生成地形瓦片的瓦片名称。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • getBeginLevel

        public int getBeginLevel()
        返回生成地形瓦片的开始层数。
        返回:
        生成地形瓦片的开始层数。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setBeginLevel

        public void setBeginLevel(int value)
        设置生成地形瓦片的开始层数。
        参数:
        value - 生成地形瓦片的开始层数。
        抛出:
        IllegalStateException - 当前对象已被释放
      • getEndLevel

        public int getEndLevel()
        返回生成地形瓦片的结束层数。
        返回:
        生成地形瓦片的结束层数。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setEndLevel

        public void setEndLevel(int value)
        设置生成地形瓦片的结束层数。
        参数:
        value - 生成地形瓦片的结束层数。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • isEncodeDXT

        public boolean isEncodeDXT()
        返回是否对生成地形瓦片进行DXT纹理压缩。
        返回:
        是否进行DXT纹理压缩。返回true表示对地形瓦片进行DXT纹理压缩;返回false表示不对地形瓦片进行DXT纹理压缩。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setEncodeDXT

        public void setEncodeDXT(boolean value)
        设置生成地形瓦片是否进行DXT纹理压缩。
        参数:
        value - 生成地形瓦片是否进行DXT纹理压缩。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • getProcessThreadsCount

        public int getProcessThreadsCount()
        返回生成地形瓦片的线程数。
        返回:
        生成地形瓦片的线程数。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setProcessThreadsCount

        public void setProcessThreadsCount(int value)
        设置生成地形瓦片的线程数。
        参数:
        value - 生成地形瓦片的线程数。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • getTilingScheme

        public TilingSchemeOption getTilingScheme()
        返回生成地形瓦片的切分方式。
        返回:
        生成地形瓦片的切分方式。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setTilingScheme

        public void setTilingScheme(TilingSchemeOption value)
        设置生成地形瓦片的切分方式。
        参数:
        value - 生成地形瓦片的切分方式。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • getBounds

        public Rectangle2D getBounds()
        返回生成地形瓦片的范围。
        返回:
        生成地形瓦片的范围。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • getClipRegion

        public GeoRegion getClipRegion()
        返回生成地形瓦片的裁剪区域。
        返回:
        生成地形瓦片的裁剪区域。
      • setClipRegion

        public void setClipRegion(GeoRegion value)
        设置生成地形瓦片的裁剪区域。
        参数:
        value - 生成地形瓦片的裁剪区域。
        抛出:
        IllegalStateException - 当前对象已被释放。
        NullPointerException - 裁剪区域为空或者裁剪区域已被释放。
      • isBuildNormalMap

        public boolean isBuildNormalMap()
        返回生成地形瓦片是否创建法线图,默认为false。
        返回:
        生成地形瓦片是否创建法线图。返回true表示地形瓦片创建法线图,返回false表示地形瓦片不创建法线图。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setBuildNormalMap

        public void setBuildNormalMap(boolean value)
        设置生成地形瓦片是否创建法线图。
        参数:
        value - 生成地形瓦片是否创建法线图。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • isCompressed

        public boolean isCompressed()
        返回生成地形瓦片是否生成压缩格式。
        返回:
        生成地形瓦片是否生成压缩格式。返回true表示生成地形瓦片生成压缩格式;返回false表示生成地形瓦片不生成压缩格式。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setCompressed

        public void setCompressed(boolean value)
        设置生成地形瓦片是否生成压缩格式。
        参数:
        value - 生成地形瓦片是否生成压缩格式。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • getNormalSize

        public int getNormalSize()
        返回生成地形瓦片法线图的大小,默认为64。
        返回:
        生成地形瓦片法线图的大小。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setNormalSize

        public void setNormalSize(int value)
        设置生成地形瓦片法线图的大小。
        参数:
        value - 生成地形瓦片法线图的大小。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • getStoreType

        public StorageType getStoreType()
        返回生成地形瓦片的存储类型。
        返回:
        生成地形瓦片的存储类型。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setStoreType

        public void setStoreType(StorageType value)
        设置生成地形瓦片的存储类型。
        参数:
        value - 生成地形瓦片的存储类型。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • getDealtOfEndLevel

        public double getDealtOfEndLevel()
        返回生成地形瓦片的精细层指定误差。
        返回:
        精细层指定误差。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setDealtOfEndLevel

        public void setDealtOfEndLevel(double value)
        设置生成地形瓦片的精细层指定误差。
        参数:
        value - 指定的精细层指定误差。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • buildTIN

        public boolean buildTIN()
        根据栅格数据集生成地形瓦片。
        返回:
        生成地形瓦片是否成功。返回 true表示生成瓦片成功,返回 false表示生成瓦片失败。
        抛出:
        IllegalStateException - 当前对象已被释放。
        IllegalArgumentException - 存储路径文件夹不存在或者开始层和结果层不合法。
      • buildOSGB

        public boolean buildOSGB()
        根据栅格数据集和影像数据集生成OSGB格式的地形瓦片。
        返回:
        生成地形瓦片是否成功。返回 true表示生成瓦片成功,返回 false表示生成瓦片失败。
        抛出:
        IllegalStateException - 当前对象已被释放。
        IllegalArgumentException - 存储路径文件夹不存在或者开始层和结果层不合法。
      • buildWaterMask

        public boolean buildWaterMask(String sctFile,
                                      String sci3dFile,
                                      String sctOutFolder,
                                      String sctOutCacheName)
        生成海洋扩展。 用矢量面构建地图,黑色代表陆地,白色代表海洋,然后生成全球剖分的三维瓦片。 三维瓦片范围要和Tin地形的范围一致。
        参数:
        sctFile - TIN地形配置文件(*.sct)。
        sci3dFile - 影像瓦片配置文件(*.sci3d)。
        sctOutFolder - 新地形瓦片的存储路径。
        sctOutCacheName - 新地形瓦片的瓦片名称。
        返回:
        生成海洋扩展是否成功。返回true表示生成海洋扩展成功,返回false表示生成海洋扩展失败。
      • addSteppedListener

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

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

        public boolean buildAvailableBoundsInfo(String strInConfigPathName)
        创建有效区域信息。生成TIN地形瓦片或合并TIN地形时,可以同时在sct配置文件里生成有效范围的信息。
        参数:
        strInConfigPathName - TIN地形瓦片sct配置文件路径。
        返回:
        创建有效区域信息是否成功。返回true表示创建有效区域信息成功;返回false表示创建有效区域信息失败。
      • getBlockScale

        public int getBlockScale()
        返回Block因子。 一个Block块中存储2^n个瓦片。该值表示2^n中的n值。
        返回:
        Block因子.
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setBlockScale

        public void setBlockScale(int blockScale)
        设置Block因子. 一个Block块中存储2^n个瓦片。该值表示2^n中的n值。
        参数:
        blockScale - Block因子。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • getZField

        public String getZField()
        返回生成TIN地形瓦片的高程值字段。
        如果使用二维点或等高线构建地形(TIN),则需要指定高程特征值作为地形高程。
        返回:
        高程值字段。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setZField

        public void setZField(String zFieldValue)
        设置生成TIN地形瓦片的高程值字段。
        如果使用二维点或等高线构建地形(TIN),则需要指定高程特征值作为地形高程。
        参数:
        zFieldValue - 高程值字段。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • limitTerrainTIN

        public boolean limitTerrainTIN(String strOutConfigPathName,
                                       String strInConfigPathName,
                                       double dMinHigh,
                                       double dMaxHigh)
        去除无效值。
        参数:
        strOutConfigPathName - 结果数据存储路径。
        strInConfigPathName - sct文件路径
        dMinHigh - 最小高程。
        dMaxHigh - 最大高程。
        返回:
        去除无效值是否成功。返回true表示去除无效值成功,返回false表示去除无效值失败。
        从以下版本开始:
        10.1.0
      • buildSpatialIndex

        public boolean buildSpatialIndex(String strInConfigPathName)
        创建地形索引,会对每个TIN瓦片文件生成对应的ids索引文件。
        参数:
        strInConfigPathName - TIN地形瓦片的配置文件(.sct)路径。
        返回:
        索引是否创建成功。返回true表示索引创建成功;返回false表示索引创建失败。 创建索引成功后,每个TIN瓦片文件会生成对应的ids索引文件。
        从以下版本开始:
        10.1.0
      • buildNormalMap

        public boolean buildNormalMap(DatasetGrid datasetGrid,
                                      String strOutConfigPathName,
                                      String strInConfigPathName,
                                      int normalSize)
        TIN地形瓦片生成法线图。根据栅格数据集,生成法线图。
        参数:
        datasetGrid - 栅格数据集。
        strOutConfigPathName - 结果数据存储路径。
        strInConfigPathName - TIN地形瓦片的配置文件(.sct)路径.
        normalSize - 块大小,可设置32、64或128。
        返回:
        生成法线图是否成功。返回true表示生成法线图成功,返回false表示生成法线图失败。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        10.1.0
      • isBuildCalculationData

        public boolean isBuildCalculationData()
        返回是否生成高精度。
        返回:
        返回true表示生成高精度,返回false表示不生成高精度。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setBuildCalculationData

        public void setBuildCalculationData(boolean isBuildCalculationData)
        设置是否生成高精度。
        参数:
        isBuildCalculationData - 是否生成高精度。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setDatasetsList

        public void setDatasetsList(HashMap<DatasetVector,String> mapDatasetsZField)
        矢量构建TIN数据设置数据集集合。
        参数:
        mapDatasetsZField - 数据集集合。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • isAccuracy

        public boolean isAccuracy()
        返回是否保留精度。
        返回:
        返回true表示保留精度,返回false表示不保留精度。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.0.0
      • setIsAccuracy

        public void setIsAccuracy(boolean isAccuracy)
        设置是否保留精度。

        是否保留精度影响结束层和精细层误差,必须要先设置。

        更改后需要重新设置数据集,仅支持栅格生成TIN地形。

        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.0.0
      • openFile

        public boolean openFile(String tifPath)
        设置TIF地形文件,支持TIF文件直接生成TIN瓦片。
        参数:
        tifPath - TIF地形文件路径。
        返回:
        生成TIN瓦片是否成功。返回true表示生成TIN瓦片成功,返回false表示生成TIN瓦片失败。
        从以下版本开始:
        11.0.0
      • getPassword

        public String getPassword()
        返回大文件瓦片密码。
        返回:
        大文件瓦片密码。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • setPassword

        public void setPassword(String password)
        设置大文件瓦片密码。
        参数:
        password - 大文件瓦片密码。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • combineTerrainTIN

        public static boolean combineTerrainTIN(String strOut,
                                                String strCacheName,
                                                String strTinA,
                                                String strTinB)
        将两个地形合并生成一个新的地形。
        参数:
        strOut - 合并地形瓦片后的存储路径。
        strCacheName - 合并地形瓦片后的瓦片名称。
        strTinA - 合并的地形瓦片A,其中strTerrainA的优先级高于strTerrainB。
        strTinB - 合并的地形瓦片B。
        返回:
        合并是否成功。返回true表示合并成功,返回false表示合并失败。
      • convertTinToOsgb

        public static boolean convertTinToOsgb(String strOut,
                                               String strCacheName,
                                               String strSct,
                                               ArrayList<Dataset> arrImage)
        将地形瓦片转换为OSGB格式瓦片,可实现叠加多个影像。
        参数:
        strOut - 转换后地形瓦片的存储路径。
        strCacheName - 转换后地形瓦片的瓦片名称。
        strSct - 转换的地形瓦片。
        arrImage - 叠加的影像集合。
        返回:
        地形瓦片转换为OSGB格式瓦片是否成功。返回true表示转换成功,返回 false表示转换失败。
        抛出:
        NullPointerException - 影像集合为空。
      • compactCacheFiles

        public static boolean compactCacheFiles(String strInCacheSCT,
                                                String strOutCachePath,
                                                String strCacheFileName)
        TIN瓦片转TIN混合大文件瓦片,提升加载及浏览性能。
        参数:
        strInCacheSCT - TIN地形配置文件(*.sct)。
        strOutCachePath - TIN混合大文件瓦片的存储路径。
        strCacheFileName - 新生成瓦片的瓦片名称。
        返回:
        TIN瓦片转TIN混合大文件瓦片是否成功。返回true表示转换成功,返回false表示转换失败。
      • combineTerrainTINConfigFile

        public static boolean combineTerrainTINConfigFile(String strOutConfigPathName,
                                                          ArrayList<String> arrInPathNames,
                                                          boolean hasCacheFile)
        生成发布地形合并服务的配置文件,支持TIN发布配置文件时是否生成相交区域的瓦片。
        参数:
        strOutConfigPathName - 动态合并生成配置文件的存储路径。
        arrInPathNames - 进行动态合并的TIN地形瓦片集合,配置文件的全路径。根据Tin地形的精细程度,添加到列表时,更精细的先Add。
        hasCacheFile - 是否生成相交区域的瓦片。
        返回:
        合并TIN配置文件成功后,如果“HasCacheFile”为true,则在目标文件下生成相交区域的瓦片;如果“HasCacheFile”为false,则只生成合并后的配置文件。
        抛出:
        NullPointerException - 生成配置文件的存储路径为空。
        IllegalArgumentException - 地形瓦片集合为空或者集合个数小于2。
      • combineTerrainTINTiles

        public static byte[] combineTerrainTINTiles(TerrainCacheInfo info,
                                                    int level,
                                                    int row,
                                                    int col)
        合并两个地形文件。
        参数:
        info - 合并的地形瓦片信息。
        level - 层号。
        row - 行号。
        col - 列号。
        抛出:
        IllegalArgumentException - 地形瓦片信息为空或者地形瓦片信息无效。
      • combineTerrainTINTiles

        public static boolean combineTerrainTINTiles(TINTile outTile,
                                                     List<TINTile> inTiles,
                                                     TerrainCacheInfo info)
        瓦片拼接。

        IServer以及桌面都没有使用这个接口了。

        参数:
        outTile - 拼接后瓦片存储路径。
        inTiles - TIN地形对象集合。
        info - 地形瓦片信息。
        返回:
        瓦片是否拼接成功。返回true表示瓦片拼接成功,返回false表示瓦片拼接失败。
        抛出:
        IllegalArgumentException - 瓦片存储路径或者TIN地形对象集合为空,或者TIN地形对象集合个数小于2。
      • combineTerrainTINTiles

        public static byte[] combineTerrainTINTiles(TerrainCacheInfo info,
                                                    List<TINTile> tiles)
        瓦片拼接。
        参数:
        info - 地形瓦片信息。
        tiles - TIN地形对象集合。
        返回:
        瓦片拼接后数据流。
        抛出:
        IllegalArgumentException - 地形瓦片信息或TIN地形对象集合为空,或者TIN地形对象集合个数为0。
      • combineTerrainTINTiles

        public static byte[] combineTerrainTINTiles(TerrainCacheInfo info,
                                                    HashMap<String,TileStorageManager> tileStorageMap,
                                                    int level,
                                                    int row,
                                                    int col)
        瓦片拼接.
        参数:
        info - 地形瓦片信息。
        tileStorageMap - 瓦片操作信息。
        level - 层号。
        row - 行号。
        col - 列号。
        返回:
        瓦片拼接后数据流。
        抛出:
        IllegalArgumentException - 地形瓦片信息为空或者无效,或者瓦片操作信息为空或者瓦片操作信息个数为0。
      • append

        public static boolean append(String srcTIN,
                                     String targetTIN)
        TIN瓦片追加。结果数据保存在targetTIN中。
        参数:
        srcTIN - TIN瓦片。
        targetTIN - 目标瓦片路径。
        返回:
        TIN瓦片追加是否成功。返回true表示瓦片追加成功,返回false表示瓦片追加失败。
        从以下版本开始:
        11.0.0
      • combineTerrainTIN

        public static boolean combineTerrainTIN(String outputFolder,
                                                String cacheName,
                                                String strPassword,
                                                String strTinA,
                                                String strTinB,
                                                String strPasswordA,
                                                String strPasswordB)
        加密的地形瓦片合并。 outputFolder 结果数据存储路径。 cacheName 结果数据瓦片名称。 strPassword 结果数据瓦片密码。 strTinA 地形A。 strTinB 地形B。 strPasswordA 地形A瓦片密码。 strPasswordB 地形B瓦片密码。
        返回:
        地形瓦片合并是否成功。返回true表示地形瓦片合并成功;返回false表示地形瓦片合并失败。
      • convertTinToOsgb

        public static boolean convertTinToOsgb(String strSCTCacheFile,
                                               String strSCTCachePassword,
                                               String strImageCacheFile,
                                               String strImageCachePassword,
                                               String strOutConfig,
                                               CacheFileType eCacheFileType)
        三维地形瓦片和三维影像瓦片是否成功生成空间三维模型瓦片。
        参数:
        strSCTCacheFile - 地形瓦片配置文件。
        strSCTCachePassword - 地形瓦片密码,非必填参数。
        strImageCacheFile - 影像瓦片配置文件。
        strImageCachePassword - 影像瓦片密码,非必填参数。
        strOutConfig - 结果数据存储文件。
        eCacheFileType - 结果数据瓦片格式(仅支持OSGB及S3MB)。
        返回:
        生成三维瓦片是否成功。返回true表示生成三维瓦片成功;返回false表示生成三维瓦片失败。
        从以下版本开始:
        11.3.0。
      • getTINTiles

        public static boolean getTINTiles(TINTile outTile,
                                          TerrainCacheInfo info)
        读取数据,按指定块读取数据。若不存在,从父节点获取指定范围的数据。
        参数:
        outTile - TIN地形对象。
        info - 地形瓦片信息。
        返回:
        读取数据是否成功。返回true表示读取数据成功,返回false表示读取数据失败。
        抛出:
        IllegalArgumentException - 地形瓦片信息为空或者无效,或者TIN地形对象为空。
      • dispose

        public void dispose()
        释放占用资源。调用该方法之后,此对象不再可用。
        抛出:
        UnsupportedOperationException - 对象不能被释放,不能调用Dispose方法。
      • setIsDisposable

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

Copyright © 2021–2025 SuperMap. All rights reserved.