com.supermap.data.processing
类 VectorCacheBuilder
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.data.processing.VectorCacheBuilder
-
- 所有已实现的接口:
- IDisposable
public class VectorCacheBuilder extends com.supermap.data.InternalHandleDisposable
矢量缓存生成类,该类主要用于为矢量数据生成供三维场景发布使用的矢量缓存,其配置文件为 *.scv 格式。scv矢量缓存目前已经废弃,使用OSGBVectorCacheBuilder替代若需要生成缓存的原始数据集的数量较大,如100,1000,建议用户将这些数据集配成一张地图,然后生成二维或三维地图缓存,关于二三维地图缓存的生成可参见 MapCacheBuilder、MapCache3DBuilder 类。
关于矢量缓存的详细介绍请参见《二三维缓存》技术文档。
在原始数据集数据量较大的情况下(记录大于1000条),可先对原始数据建立空间索引,采用这种方法可使得生成缓存的效率大幅提高,如何对矢量数据集建立索引可参考
DatasetVector.buildSpatialIndex()
方法。- 示范代码:
- 以下代码示范如何在数据量大的情况下快速生成矢量缓存。假设打开一个工作空间
workspace
对象,工作空间中存在一个数据源datasource
对象,此数据源中包含一个名为 OlympicGreen 的 CAD 模型数据集 dataset_olympicGreen。public void buildSCV(DatasetVector dataset_olympicGreen) { // 对CAD模型数据集建立空间索引,由于复合数据集不支持多级网格索引,因此对其建立R树索引 dataset_olympicGreen.buildSpatialIndex(SpatialIndexType.RTREE); VectorCacheBuilder cacheBuilder = new VectorCacheBuilder(); // 设置缓存名称 cacheBuilder.setCacheName("model"); // 设置缓存输出路径 cacheBuilder.setOutputFolder("../OlympicGreen/"); // 设置用于创建缓存的CAD模型数据集 cacheBuilder.setDataset(dataset_olympicGreen); // 设置开始生成缓存的层数 cacheBuilder.setLevel(13); // 生成缓存 if(cacheBuilder.build()){ System.out.println("生成缓存成功!"); } else{ System.out.println("生成缓存失败!"); } }
-
-
构造器概要
构造器 构造器和说明 VectorCacheBuilder()
构造一个新的矢量缓存生成类对象。VectorCacheBuilder(DatasetVector dataset, String outputFolder, String cacheName)
根据指定的参数,构造一个新的矢量缓存生成类对象。VectorCacheBuilder(Recordset recordset, String outputFolder)
根据指定的参数,构造一个新的矢量缓存生成类对象。VectorCacheBuilder(Recordset recordset, String outputFolder, String cacheName)
根据指定的参数,构造一个新的矢量缓存生成类对象。
-
方法概要
所有方法 静态方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 void
addSteppedListener(SteppedListener l)
添加一个用于接收进度条事件(SteppedEvent
)的监听器。Boolean
addTileInfoToConfigFile(double scale, int row, int col)
已过时。boolean
build()
创建矢量缓存。boolean
buildTexture(String texPath, int level)
已过时。boolean
buildWithoutConfigFile()
已过时。String[]
computeFileName()
已过时。boolean
computeLevel()
已过时。void
dispose()
释放该对象所占用的资源。boolean
fromConfigFile(String path)
已过时。Rectangle2D
getBounds()
返回生成缓存的地理范围。String
getCacheName()
返回生成缓存的配置文件的名称。CompressedTextureType
getCompressedTextureType()
返回生成模型缓存时的压缩纹理的格式。ArrayList<byte[]>
getConfigStream(ConfigType configType)
已过时。DatasetVector
getDataset()
返回需要生成缓存的矢量数据集。PrjCoordSysType
getDynamicPrjCoordSysType()
返回动态投影坐标系类型。EncodeType
getEncodeType()
返回生成缓存文件的压缩类型。String[]
getFieldNames()
已过时。int
getLevel()
已过时。String
getOutputFolder()
返回生成缓存的路径。double
getOutputScale()
获取矢量缓存的比例尺。String
getPassword()
返回用于为地图对象创建缓存时对数据进行加密的密码。Recordset
getRecordset()
返回需要生成缓存的记录集。StorageType
getStorageType()
返回缓存存储方式。Tile[]
getTiles(Rectangle2D tileBounds, double scale, VectorCacheTileType eTileType)
已过时。double
getTileWidth()
获取TileWidthint
getUpdateSize()
已过时。VectorCacheTileType
getVectorCacheTileType()
已过时。Boolean
isTileExistsInConfigFile(double scale, int row, int col)
已过时。void
removeSteppedListener(SteppedListener l)
移除一个用于接收进度条事件(SteppedEvent
)的监听器。void
setBounds(Rectangle2D value)
设置生成缓存的地理范围。void
setCacheName(String value)
设置生成缓存的配置文件的名称。void
setCompressedTextureType(CompressedTextureType value)
已过时。void
setDataset(DatasetVector value)
已过时。void
setDynamicPrjCoordSysType(PrjCoordSysType prjType)
设置动态投影坐标系。void
setEncodeType(EncodeType encodeType)
已过时。void
setFieldNames(String[] value)
已过时。static void
setIsDisposable(com.supermap.data.InternalHandleDisposable obj, boolean disposable)
void
setLevel(int value)
已过时。void
setOutputFolder(String value)
设置生成缓存的路径。void
setOutputScale(double scale)
已过时。void
setPassword(String value)
设置用于为地图对象创建缓存时对数据进行加密的密码。void
setRecordset(Recordset value)
已过时。void
setStorageType(StorageType value)
已过时。void
setTileWidth(double tileWidthValue)
设置TileWidthvoid
setUpdateSize(int value)
已过时。void
setVectorCacheTileType(VectorCacheTileType eTileType)
已过时。boolean
toConfigFile(String path)
已过时。
-
-
-
构造器详细资料
-
VectorCacheBuilder
public VectorCacheBuilder()
构造一个新的矢量缓存生成类对象。
-
VectorCacheBuilder
public VectorCacheBuilder(Recordset recordset, String outputFolder)
根据指定的参数,构造一个新的矢量缓存生成类对象。该构造函数生成的缓存对象的名字与 Recordset 对应的 Dataset 的名称相同。
- 参数:
recordset
- 用于生成缓存的记录集。outputFolder
- 生成缓存的路径。
-
VectorCacheBuilder
public VectorCacheBuilder(Recordset recordset, String outputFolder, String cacheName)
根据指定的参数,构造一个新的矢量缓存生成类对象。- 参数:
recordset
- 用于生成缓存的记录集。outputFolder
- 生成缓存的路径。cacheName
- 生成缓存的配置文件的名称。
-
VectorCacheBuilder
public VectorCacheBuilder(DatasetVector dataset, String outputFolder, String cacheName)
根据指定的参数,构造一个新的矢量缓存生成类对象。- 参数:
dataset
- 用于生成缓存的矢量数据集。outputFolder
- 生成缓存的路径。cacheName
- 生成缓存的配置文件的名称。
-
-
方法详细资料
-
getRecordset
public Recordset getRecordset()
返回需要生成缓存的记录集。- 返回:
- 需要生成缓存的记录集。
-
setRecordset
@Deprecated public void setRecordset(Recordset value)
已过时。
-
getDataset
public DatasetVector getDataset()
返回需要生成缓存的矢量数据集。- 返回:
- 需要生成缓存的矢量数据集。
-
setDataset
@Deprecated public void setDataset(DatasetVector value)
已过时。
-
getFieldNames
@Deprecated public String[] getFieldNames()
已过时。
-
setFieldNames
@Deprecated public void setFieldNames(String[] value)
已过时。
-
getBounds
public Rectangle2D getBounds()
返回生成缓存的地理范围。- 返回:
- 生成缓存的地理范围。
-
setBounds
public void setBounds(Rectangle2D value)
设置生成缓存的地理范围。- 参数:
value
- 生成缓存的地理范围。
-
getCacheName
public String getCacheName()
返回生成缓存的配置文件的名称。- 返回:
- 生成缓存的配置文件的名称。
-
setCacheName
public void setCacheName(String value)
设置生成缓存的配置文件的名称。- 参数:
value
- 生成缓存的配置文件的名称。
-
getOutputFolder
public String getOutputFolder()
返回生成缓存的路径。- 返回:
- 生成缓存的路径。
-
setOutputFolder
public void setOutputFolder(String value)
设置生成缓存的路径。- 参数:
value
- 生成缓存的路径。
-
getStorageType
public StorageType getStorageType()
返回缓存存储方式。- 返回:
- 缓存存储方式。
- 默认值:
- 默认值为
StorageType.Original
,即原始模式。
-
setStorageType
@Deprecated public void setStorageType(StorageType value)
已过时。
-
getLevel
@Deprecated public int getLevel()
已过时。
-
setLevel
@Deprecated public void setLevel(int value)
已过时。
-
getUpdateSize
@Deprecated public int getUpdateSize()
已过时。
-
setUpdateSize
@Deprecated public void setUpdateSize(int value)
已过时。
-
getPassword
public String getPassword()
返回用于为地图对象创建缓存时对数据进行加密的密码。在添加图层时,需要使用该密码才能成功添加。如果使用默认值,便可不指定密码便能打开。该密码不会写到缓存数据的配置文件中,同时,
fromConfigFile()
方法也不会还原该密码。- 返回:
- 一个布尔值,若创建地图缓存成功返回 true,否则返回 false。
- 默认值:
- 默认值为一个空的字符串。
-
setPassword
public void setPassword(String value)
设置用于为地图对象创建缓存时对数据进行加密的密码。在添加图层时,需要使用该密码才能成功添加。如果使用默认值,便可不指定密码便能打开。该密码不会写到缓存数据的配置文件中,同时,
fromConfigFile()
方法也不会还原该密码。注意:当 StorageType.Original 时,该方法是无效的;当 StorageType.Compact 时,该方法才有效。
- 参数:
value
- 用于为地图对象创建缓存时对数据进行加密的密码。
-
build
public boolean build()
创建矢量缓存。- 返回:
- 一个布尔值,若创建缓存成功返回 true,否则返回 false。
-
buildWithoutConfigFile
@Deprecated public boolean buildWithoutConfigFile()
已过时。
-
buildTexture
@Deprecated public boolean buildTexture(String texPath, int level)
已过时。
-
computeFileName
@Deprecated public String[] computeFileName()
已过时。
-
computeLevel
@Deprecated public boolean computeLevel()
已过时。
-
toConfigFile
@Deprecated public boolean toConfigFile(String path)
已过时。
-
fromConfigFile
@Deprecated public boolean fromConfigFile(String path)
已过时。
-
dispose
public void dispose()
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
-
addSteppedListener
public void addSteppedListener(SteppedListener l)
添加一个用于接收进度条事件(SteppedEvent
)的监听器。- 参数:
l
- 一个用于接收进度条事件的监听器。
-
removeSteppedListener
public void removeSteppedListener(SteppedListener l)
移除一个用于接收进度条事件(SteppedEvent
)的监听器。- 参数:
l
- 一个用于接收进度条事件的监听器。
-
getEncodeType
public EncodeType getEncodeType()
返回生成缓存文件的压缩类型。矢量缓存仅支持None和LZW两种压缩格式,即:仅支持 EncodeType.LZW 或 EncodeType.NONE 类型。
- 返回:
- 生成缓存文件的压缩类型。
- 默认值:
- 默认值为
EncodeType.LZW
,即ZIP压缩模式。
-
setEncodeType
@Deprecated public void setEncodeType(EncodeType encodeType)
已过时。缓存压缩方式
-
getCompressedTextureType
public CompressedTextureType getCompressedTextureType()
返回生成模型缓存时的压缩纹理的格式。对压缩纹理的格式的详细介绍请参见CompressedTextureType
枚举类的说明。- 默认值:
- 默认值为
CompressedTextureType.DDS
。
-
setCompressedTextureType
@Deprecated public void setCompressedTextureType(CompressedTextureType value)
已过时。模型缓存压缩纹理类型
-
getVectorCacheTileType
@Deprecated public VectorCacheTileType getVectorCacheTileType()
已过时。缓存瓦片类型
-
setVectorCacheTileType
@Deprecated public void setVectorCacheTileType(VectorCacheTileType eTileType)
已过时。缓存瓦片类型
-
setOutputScale
@Deprecated public void setOutputScale(double scale)
已过时。
-
getOutputScale
public double getOutputScale()
获取矢量缓存的比例尺。
-
getDynamicPrjCoordSysType
public PrjCoordSysType getDynamicPrjCoordSysType()
返回动态投影坐标系类型。- 返回:
- 返回动态投影坐标系类型。
-
setDynamicPrjCoordSysType
public void setDynamicPrjCoordSysType(PrjCoordSysType prjType)
设置动态投影坐标系。- 参数:
prjType
- 动态投影坐标系类型。
-
isTileExistsInConfigFile
@Deprecated public Boolean isTileExistsInConfigFile(double scale, int row, int col)
已过时。
-
addTileInfoToConfigFile
@Deprecated public Boolean addTileInfoToConfigFile(double scale, int row, int col)
已过时。
-
getTiles
@Deprecated public Tile[] getTiles(Rectangle2D tileBounds, double scale, VectorCacheTileType eTileType)
已过时。根据bound动态切图获取瓦片数据
-
getTileWidth
public double getTileWidth()
获取TileWidth
-
setTileWidth
public void setTileWidth(double tileWidthValue)
设置TileWidth
-
getConfigStream
@Deprecated public ArrayList<byte[]> getConfigStream(ConfigType configType)
已过时。获得ConfigData- 参数:
configType
-- 返回:
-
setIsDisposable
public static void setIsDisposable(com.supermap.data.InternalHandleDisposable obj, boolean disposable)
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.