类 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)
根据指定的栅格数据集、输出缓存文件所在文件夹的全路径名以及生成的缓存对象名称,构造一个缓存生成类对象。
-
方法概要
所有方法 静态方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 void
addSteppedListener(SteppedListener l)
添加一个用于接收进度条事件(SteppedEvent
)的监听器。boolean
build()
创建地形缓存。boolean
buildWithoutConfigFile()
为地形数据创建地形缓存。boolean
computeLevel()
已过时。boolean
computeOutputScales()
计算生成地形缓存时的合适输出比例尺,即提供的默认输出比例尺。String[]
computeTerrainFileName()
已过时。String[]
computeTerrainFileName(int specialLevel)
已过时。void
dispose()
释放该对象所占用的资源。boolean
fromConfigFile(String fileName)
导入缓存文件,根据缓存数据的配置文件中的内容来指定相关设置的值。int
getBeginLevel()
已过时。int
getBlockScale()
获取组合因子String
getCacheName()
返回生成缓存的名称。GeoRegion
getClipRegion()
返回数据集的裁剪区域。CompressType
getCompressType()
已过时。DatasetGrid
getDataset()
返回用于创建缓存的GRID
数据集。int
getDefaultBeginLevel()
已过时。int
getDefaultEndLevel()
已过时。double[]
getDefaultOutputScales()
返回默认的缓存生成比例尺。PrjCoordSysType
getDynamicPrjCoordSysType()
返回基于栅格数据集生成的地形缓存所使用的缓存投影坐标系。EncodeType
getEncodeType()
已过时。int
getEndLevel()
已过时。String
getOutputFolder()
返回输出的缓存文件的全路径。HashMap<Double,String>
getOutputScaleCaptions()
返回地形缓存比例尺的别名。double[]
getOutputScales()
返回地形缓存的比例尺数组。String
getPassword()
返回用于为地图对象创建缓存时对数据进行加密的密码。int
getProcessThreadsCount()
获取线程数int
getSampleSize()
返回缓存预处理后生成的每个缓存分块文件的采样尺寸,单位为像素。StorageType
getStorageType()
返回缓存的存储方式。Tile[]
getTiles(Rectangle2D tileBounds, double scale)
返回指定条件的瓦片。boolean
openFile(String tifPath)
TIFF文件直接生成栅格缓存void
removeSteppedListener(SteppedListener l)
移除一个用于接收进度条事件(SteppedEvent
)的监听器。void
setBeginLevel(int value)
已过时。void
setBlockScale(int blockScale)
设置组合因子void
setCacheName(String value)
设置生成缓存的名称。void
setClipRegion(GeoRegion geoRegion)
设置数据集的裁剪区域。void
setCompressType(CompressType compressType)
已过时。void
setDataset(DatasetGrid datasetGrid)
设置用于创建缓存的GRID
数据集。void
setDynamicPrjCoordSysType(PrjCoordSysType prjType)
设置基于栅格数据集生成的地形所使用的缓存投影坐标系。void
setEncodeType(EncodeType encodeType)
已过时。void
setEndLevel(int value)
已过时。static void
setIsDisposable(com.supermap.data.InternalHandleDisposable obj, boolean disposable)
void
setOutputFolder(String value)
设置输出的缓存文件的全路径。void
setOutputScaleCaptions(HashMap<Double,String> scaleCaptions)
设置地形缓存比例尺的别名。void
setOutputScales(double[] values)
设置地形缓存的比例尺数组。void
setPassword(String password)
设置用于为地图对象创建缓存时对数据进行加密的密码。void
setProcessThreadsCount(int threadCount)
设置线程数void
setSampleSize(int value)
设置缓存预处理后生成的每个缓存分块文件的采样尺寸,单位为像素。void
setStorageType(StorageType storageType)
设置缓存的存储方式。boolean
toConfigFile(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–2024 SuperMap. All rights reserved.