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格式。
    • 构造器详细资料

      • CacheBuilderTIN

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

      • dispose

        public void dispose()
        释放占用资源。调用该方法之后,此对象不再可用。
        抛出:
        UnsupportedOperationException - 对象不能被释放,不能调用Dispose方法。
        从以下版本开始:
        11.1.1。
      • getDataset

        public DatasetGrid getDataset()
        返回生成地形瓦片的栅格数据集。
        返回:
        生成地形瓦片的栅格数据集。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.1.1。
      • setDataset

        public void setDataset(DatasetGrid value)
        设置生成地形瓦片的栅格数据集。
        参数:
        value - 生成地形瓦片的栅格数据集。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.1.1。
      • setDatasetPoint

        public void setDatasetPoint(DatasetVector value)
        设置生成地形瓦片的矢量数据集。
        支持矢量点或等高线生成地形(TIN)。
        如果使用二维点或等高线构建地形(TIN),则需要指定高程特征值作为地形高程.
        如果使用三维点或等高线构建地形(TIN),默认会使用三维点或等高线的Z值作为地形高程,也可以指定高程特征值。
        参数:
        value - 生成地形瓦片的矢量数据集。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.1.1。
      • getDatasetPoint

        public DatasetVector getDatasetPoint()
        返回生成地形瓦片的矢量数据集。
        支持矢量点或等高线生成地形(TIN)。
        如果使用二维点或等高线构建地形(TIN),则需要指定高程特征值作为地形高程.
        如果使用三维点或等高线构建地形(TIN),默认会使用三维点或等高线的Z值作为地形高程,也可以指定高程特征值。
        返回:
        生成地形瓦片的矢量数据集。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.1.1。
      • getDatasetImage

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

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

        public String getOutputFolder()
        返回生成地形瓦片的输出全路径。
        返回:
        生成地形瓦片的输出全路径。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.1.1。
      • setOutputFolder

        public void setOutputFolder(String value)
        设置生成地形瓦片的输出全路径。
        参数:
        value - 生成地形瓦片的输出全路径。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.1.1。
      • getCacheName

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

        public void setCacheName(String value)
        设置生成地形瓦片的瓦片名称。
        参数:
        value - 生成地形瓦片的瓦片名称。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.1.1。
      • 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 - 当前对象已被释放。
        从以下版本开始:
        11.1.1。
      • setProcessThreadsCount

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

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

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

        public Rectangle2D getBounds()
        返回生成地形瓦片的范围。
        返回:
        生成地形瓦片的范围。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.1.1。
      • setBounds

        public void setBounds(Rectangle2D value)
        设置生成地形瓦片的范围。
        参数:
        value - 生成地形瓦片的范围。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.1.1。
      • getClipRegion

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

        public void setClipRegion(GeoRegion value)
        设置生成地形瓦片的裁剪区域。
        参数:
        value - 生成地形瓦片的裁剪区域。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • 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 - 当前对象已被释放。
      • buildOSGB

        public boolean buildOSGB()
        根据栅格数据集和影像数据集生成OSGB格式的地形瓦片。
        返回:
        生成地形瓦片是否成功。返回 true表示生成瓦片成功,返回 false表示生成瓦片失败。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • buildWaterMask

        public boolean buildWaterMask(String sctFile,
                                      String sci3dFile,
                                      String sctOutFolder,
                                      String sctOutCacheName)
        生成海洋扩展。 用矢量面构建地图,黑色代表陆地,白色代表海洋,然后生成全球剖分的三维瓦片。 三维瓦片范围要和Tin地形的范围一致。
        参数:
        sctFile - TIN地形配置文件(*.sct)。
        sci3dFile - 影像瓦片配置文件(*.sci3d)。
        sctOutFolder - 新生成瓦片的输出路径。
        sctOutCacheName - 新生成瓦片的瓦片名称。
        返回:
        生成海洋扩展是否成功。返回true表示生成海洋扩展成功,返回false表示生成海洋扩展失败。
      • 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表示转换失败。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • compactCacheFiles

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

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

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

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

        public static byte[] combineTerrainTINTiles(TerrainCacheInfo info,
                                                    int level,
                                                    int row,
                                                    int col)
        合并两个地形文件。
        参数:
        info - 合并的地形瓦片信息。
        level - 层号。
        row - 行号。
        col - 列号。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • combineTerrainTINTiles

        public static byte[] combineTerrainTINTiles(TerrainCacheInfo info,
                                                    List<TINTile> tiles)
        瓦片拼接。
        参数:
        info - 地形瓦片信息。
        tiles - TIN地形图幅几何对象集合。
        抛出:
        IllegalStateException - 当前对象已被释放。
      • getTINTiles

        public static boolean getTINTiles(TINTile outTile,
                                          TerrainCacheInfo info)
        按指定块读取数据,若不存在,从父节点获取指定范围的数据。
        参数:
        outTile -
        info -
        返回:
        抛出:
        IllegalStateException - 当前对象已被释放。
      • 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 - 生成的sct输出路径。
        strInConfigPathName - sct文件路径
        dMinHigh - 最小高程。
        dMaxHigh - 最大高程。
        返回:
        去除无效值是否成功。返回true表示去除无效值成功,返回false表示去除无效值失败。
      • buildSpatialIndex

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

        public boolean buildNormalMap(DatasetGrid datasetGrid,
                                      String strOutConfigPathName,
                                      String strInConfigPathName,
                                      int normalSize)
        根据对应的栅格数据集,对TIN地形缓存生成法线图。
        参数:
        datasetGrid - 栅格数据集。
        strOutConfigPathName - 生成了法线的TIN地形缓存输出路径。
        strInConfigPathName - 需要生成法线的TIN地形缓存sct全路径。
        normalSize - 块大小,可设置32、64或128。
        返回:
        成功后的TIN地形缓存带有法线图。
      • isBuildCalculationData

        public boolean isBuildCalculationData()
        是否生成高精度
      • setBuildCalculationData

        public void setBuildCalculationData(boolean isBuildCalculationData)
        设置是否生成高精度
      • setDatasetsList

        public void setDatasetsList(HashMap<DatasetVector,String> mapDatasetsZField)
        矢量构建TIN设置数据集集合
      • isAccuracy

        public boolean isAccuracy()
        是否保留精度
      • setIsAccuracy

        public void setIsAccuracy(boolean isAccuracy)
        设置是否保留精度 是否保留精度影响结束层和精细层误差,必须要先设置 更改后需要重新设置数据集,仅支持栅格生成TIN地形
      • append

        public static boolean append(String srcTIN,
                                     String targetTIN)
        用于Tin缓存追加 最终的结果保存在targetTIN中
      • openFile

        public boolean openFile(String tifPath)
        设置TIF地形文件,支持TIF文件直接生成TIN
      • getPassword

        public String getPassword()
        获取大文件缓存密码
      • setPassword

        public void setPassword(String password)
        设置大文件缓存密码
      • 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缓存密码
      • 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)
        返回:
        是否成功
      • setIsDisposable

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

Copyright © 2021–2024 SuperMap. All rights reserved.