public class VectorCacheBuilder
extends com.supermap.data.InternalHandleDisposable
若需要生成缓存的原始数据集的数量较大,如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()
获取TileWidth
|
int |
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)
设置TileWidth
|
void |
setUpdateSize(int value)
已过时。
|
void |
setVectorCacheTileType(VectorCacheTileType eTileType)
已过时。
|
boolean |
toConfigFile(String path)
已过时。
|
public VectorCacheBuilder()
public VectorCacheBuilder(Recordset recordset, String outputFolder)
该构造函数生成的缓存对象的名字与 Recordset 对应的 Dataset 的名称相同。
recordset
- 用于生成缓存的记录集。outputFolder
- 生成缓存的路径。public VectorCacheBuilder(Recordset recordset, String outputFolder, String cacheName)
recordset
- 用于生成缓存的记录集。outputFolder
- 生成缓存的路径。cacheName
- 生成缓存的配置文件的名称。public VectorCacheBuilder(DatasetVector dataset, String outputFolder, String cacheName)
dataset
- 用于生成缓存的矢量数据集。outputFolder
- 生成缓存的路径。cacheName
- 生成缓存的配置文件的名称。public Recordset getRecordset()
@Deprecated public void setRecordset(Recordset value)
public DatasetVector getDataset()
@Deprecated public void setDataset(DatasetVector value)
@Deprecated public String[] getFieldNames()
@Deprecated public void setFieldNames(String[] value)
public Rectangle2D getBounds()
public void setBounds(Rectangle2D value)
value
- 生成缓存的地理范围。public String getCacheName()
public void setCacheName(String value)
value
- 生成缓存的配置文件的名称。public String getOutputFolder()
public void setOutputFolder(String value)
value
- 生成缓存的路径。public StorageType getStorageType()
StorageType.Original
,即原始模式。@Deprecated public void setStorageType(StorageType value)
@Deprecated public int getLevel()
@Deprecated public void setLevel(int value)
@Deprecated public int getUpdateSize()
@Deprecated public void setUpdateSize(int value)
public String getPassword()
该密码不会写到缓存数据的配置文件中,同时,fromConfigFile()
方法也不会还原该密码。
public void setPassword(String value)
该密码不会写到缓存数据的配置文件中,同时,fromConfigFile()
方法也不会还原该密码。
注意:当 StorageType.Original 时,该方法是无效的;当 StorageType.Compact 时,该方法才有效。
value
- 用于为地图对象创建缓存时对数据进行加密的密码。public boolean build()
@Deprecated public boolean buildWithoutConfigFile()
@Deprecated public boolean buildTexture(String texPath, int level)
@Deprecated public String[] computeFileName()
@Deprecated public boolean computeLevel()
@Deprecated public boolean toConfigFile(String path)
@Deprecated public boolean fromConfigFile(String path)
public void dispose()
public void addSteppedListener(SteppedListener l)
SteppedEvent
)的监听器。l
- 一个用于接收进度条事件的监听器。public void removeSteppedListener(SteppedListener l)
SteppedEvent
)的监听器。l
- 一个用于接收进度条事件的监听器。public EncodeType getEncodeType()
矢量缓存仅支持None和LZW两种压缩格式,即:仅支持 EncodeType.LZW 或 EncodeType.NONE 类型。
EncodeType.LZW
,即ZIP压缩模式。@Deprecated public void setEncodeType(EncodeType encodeType)
public CompressedTextureType getCompressedTextureType()
CompressedTextureType
枚举类的说明。CompressedTextureType.DDS
。@Deprecated public void setCompressedTextureType(CompressedTextureType value)
@Deprecated public VectorCacheTileType getVectorCacheTileType()
@Deprecated public void setVectorCacheTileType(VectorCacheTileType eTileType)
@Deprecated public void setOutputScale(double scale)
public double getOutputScale()
public PrjCoordSysType getDynamicPrjCoordSysType()
public void setDynamicPrjCoordSysType(PrjCoordSysType prjType)
prjType
- 动态投影坐标系类型。@Deprecated public Boolean isTileExistsInConfigFile(double scale, int row, int col)
@Deprecated public Boolean addTileInfoToConfigFile(double scale, int row, int col)
@Deprecated public Tile[] getTiles(Rectangle2D tileBounds, double scale, VectorCacheTileType eTileType)
public double getTileWidth()
public void setTileWidth(double tileWidthValue)
@Deprecated public ArrayList<byte[]> getConfigStream(ConfigType configType)
configType
- public static void setIsDisposable(com.supermap.data.InternalHandleDisposable obj, boolean disposable)
Copyright © 2021–2024 SuperMap. All rights reserved.