类 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,建议用户将这些数据集配成一张地图,然后生成二维或三维地图瓦片,关于二三维地图瓦片的生成可参见
MapCacheBuilder、MapCache3DBuilder类。关于地形瓦片的详细介绍请参见《二三维瓦片》技术文档。
-
-
构造器概要
构造器 构造器和说明 TerrainCacheBuilder()构造一个生成 SCT 地形瓦片类的新实例。TerrainCacheBuilder(DatasetGrid dataset, String outputFolder)根据GRID数据集和结果数据存储路径,构造一个瓦片生成类对象。TerrainCacheBuilder(DatasetGrid dataset, String outputFolder, String name)根据栅格数据集、结果数据存储路径以及生成的瓦片对象名称,构造一个瓦片生成类对象。
-
方法概要
所有方法 静态方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 voidaddSteppedListener(SteppedListener l)添加一个用于接收进度条事件(SteppedEvent)的监听器。booleanbuild()创建地形瓦片。booleanbuildWithoutConfigFile()为地形数据创建地形瓦片。booleancomputeLevel()已过时。booleancomputeOutputScales()计算生成地形瓦片时的合适输出比例尺,即提供的默认输出比例尺。String[]computeTerrainFileName()已过时。String[]computeTerrainFileName(int specialLevel)已过时。voiddispose()释放该对象所占用的资源。booleanfromConfigFile(String fileName)导入瓦片文件,根据瓦片数据的配置文件中的内容来指定相关设置的值。intgetBeginLevel()已过时。intgetBlockScale()获取组合因子StringgetCacheName()返回生成瓦片的名称。GeoRegiongetClipRegion()返回数据集的裁剪区域。CompressTypegetCompressType()已过时。DatasetGridgetDataset()返回用于创建瓦片的GRID数据集。intgetDefaultBeginLevel()已过时。intgetDefaultEndLevel()已过时。double[]getDefaultOutputScales()返回默认的瓦片生成比例尺。PrjCoordSysTypegetDynamicPrjCoordSysType()返回基于栅格数据集生成的地形瓦片所使用的瓦片投影坐标系。EncodeTypegetEncodeType()已过时。intgetEndLevel()已过时。StringgetOutputFolder()返回结果数据存储路径。HashMap<Double,String>getOutputScaleCaptions()返回地形瓦片比例尺的别名。double[]getOutputScales()返回地形瓦片的比例尺数组。StringgetPassword()返回用于为地图对象创建瓦片时对数据进行加密的密码。intgetProcessThreadsCount()获取线程数intgetSampleSize()返回瓦片预处理后生成的每个瓦片分块文件的采样尺寸,单位为像素。StorageTypegetStorageType()返回瓦片的存储方式。Tile[]getTiles(Rectangle2D tileBounds, double scale)返回指定条件的瓦片。booleanopenFile(String tifPath)TIFF文件直接生成栅格瓦片voidremoveSteppedListener(SteppedListener l)移除一个用于接收进度条事件(SteppedEvent)的监听器。voidsetBeginLevel(int value)已过时。voidsetBlockScale(int blockScale)设置组合因子voidsetCacheName(String value)设置生成瓦片的名称。voidsetClipRegion(GeoRegion geoRegion)设置数据集的裁剪区域。voidsetCompressType(CompressType compressType)已过时。voidsetDataset(DatasetGrid datasetGrid)设置用于创建瓦片的GRID数据集。voidsetDynamicPrjCoordSysType(PrjCoordSysType prjType)设置基于栅格数据集生成的地形所使用的瓦片投影坐标系。voidsetEncodeType(EncodeType encodeType)已过时。voidsetEndLevel(int value)已过时。static voidsetIsDisposable(com.supermap.data.InternalHandleDisposable obj, boolean disposable)voidsetOutputFolder(String value)设置结果数据存储路径。voidsetOutputScaleCaptions(HashMap<Double,String> scaleCaptions)设置地形瓦片比例尺的别名。voidsetOutputScales(double[] values)设置地形瓦片的比例尺数组。voidsetPassword(String password)设置用于为地图对象创建瓦片时对数据进行加密的密码。voidsetProcessThreadsCount(int threadCount)设置线程数voidsetSampleSize(int value)设置瓦片预处理后生成的每个瓦片分块文件的采样尺寸,单位为像素。voidsetStorageType(StorageType storageType)设置瓦片的存储方式。booleantoConfigFile(String fileName)将对象的相关设置写到指定的文件中,文件的后缀名为 .sct,即瓦片数据的配置文件。
-
-
-
构造器详细资料
-
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- 瓦片的存储方式。
-
getCompressType
@Deprecated public CompressType getCompressType()
已过时。
-
setCompressType
@Deprecated public void setCompressType(CompressType compressType)
已过时。
-
getEncodeType
@Deprecated public EncodeType getEncodeType()
已过时。
-
setEncodeType
@Deprecated public void setEncodeType(EncodeType encodeType)
已过时。
-
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.