com.supermap.data.processing
类 VectorCacheBuilder

java.lang.Object
  继承者 com.supermap.data.processing.VectorCacheBuilder

已过时。

@Deprecated
public class VectorCacheBuilder
extends java.lang.Object

矢量缓存生成类,该类主要用于为矢量数据生成供三维场景发布使用的矢量缓存,其配置文件为 *.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, java.lang.String outputFolder, java.lang.String name)
          已过时。 根据指定的参数,构造一个新的矢量缓存生成类对象。
VectorCacheBuilder(Recordset recordset, java.lang.String outputFolder)
          已过时。 根据指定的参数,构造一个新的矢量缓存生成类对象。
VectorCacheBuilder(Recordset recordset, java.lang.String outputFolder, java.lang.String name)
          已过时。 根据指定的参数,构造一个新的矢量缓存生成类对象。
 
方法摘要
 void addSteppedListener(SteppedListener l)
          已过时。 添加一个用于接收进度条事件(SteppedEvent)的监听器。
 boolean build()
          已过时。 创建矢量缓存。
 boolean buildTexture(java.lang.String texPath, int level)
          已过时。 该方法已经过时。 根据纹理图片的索引路径和层级创建纹理图片。

使用场景:该方法用于服务器端接收客户端请求时使用。

 boolean buildWithoutConfigFile()
          已过时。 为矢量数据创建矢量缓存。使用该方法创建缓存不会生成矢量缓存的配置文件。

注意:使用该方法时,纹理不会被创建缓存。

使用场景:该方法用于服务器端接收客户端请求时使用。

 java.lang.String[] computeFileName()
          已过时。 返回由该实例的 Bounds,Level,OutputFolder 所确定的缓存文件名称列表,文件名为绝对路径。
 boolean computeLevel()
          已过时。 该方法已经过时。 计算设置数据集所适合的缓存层数。

在有参构造函数中,会自动调用该方法。但用户调用 setDataset()setRecordset() 方法时,不会执行该方法。

 void dispose()
          已过时。 释放该对象所占用的资源。
 boolean fromConfigFile(java.lang.String filename)
          已过时。 导入缓存文件,根据缓存数据的配置文件中的内容来指定相关设置的值。
 Rectangle2D getBounds()
          已过时。 返回生成缓存的地理范围。
 java.lang.String getCacheName()
          已过时。 返回生成缓存的配置文件的名称。
 CompressedTextureType getCompressedTextureType()
          已过时。 返回生成模型缓存时的压缩纹理的格式。
 DatasetVector getDataset()
          已过时。 返回需要生成缓存的矢量数据集。
 PrjCoordSysType getDynamicPrjCoordSysType()
          已过时。 返回动态投影坐标系类型。
 EncodeType getEncodeType()
          已过时。 返回生成缓存文件的压缩类型。
 java.lang.String[] getFieldNames()
          已过时。 返回生成的缓存数据包含的属性字段名称数组。

当设置的字段名称数组为 null 时,表示矢量数据中所有的字段值都生成到缓存文件中;若为 String[0] 时,表示没有字段值生成到缓存文件中;若设置的字段名称数组中包含矢量数据中不存在的字段名称时,程序将自动跳过该字段。

 int getLevel()
          已过时。 该方法已经过时。 返回开始生成缓存的层数。
 java.lang.String getOutputFolder()
          已过时。 返回生成缓存的路径。
 double getOutputScale()
          已过时。 获取矢量缓存的比例尺。
 java.lang.String getPassword()
          已过时。 返回用于为地图对象创建缓存时对数据进行加密的密码。
 Recordset getRecordset()
          已过时。 返回需要生成缓存的记录集。
 StorageType getStorageType()
          已过时。 返回缓存存储方式。
 int getUpdateSize()
          已过时。 返回在三维场景中渲染该缓存图层时每次更新的缓存块数,具体值为该方法返回值的平方。

该字段值越大,则场景元素越不容易被过滤掉,但同时也会消耗更多的硬件资源,建议用户根据自身机器配置来选择该字段值的大小。对于已经生成的缓存文件,用户可以在缓存配置文件(*.scv)中自行修改LevelWidth的值,以配合当前硬件实现较流畅的视觉体验。

 VectorCacheTileType getVectorCacheTileType()
          已过时。 返回矢量缓存切片文件的类型。
 void removeSteppedListener(SteppedListener l)
          已过时。 移除一个用于接收进度条事件(SteppedEvent)的监听器。
 void setBounds(Rectangle2D rectangle2D)
          已过时。 设置生成缓存的地理范围。
 void setCacheName(java.lang.String value)
          已过时。 设置生成缓存的配置文件的名称。
 void setCompressedTextureType(CompressedTextureType value)
          已过时。 设置生成模型缓存时的压缩纹理的格式。对压缩纹理的格式的详细介绍请参见 CompressedTextureType 枚举类的说明。
 void setDataset(DatasetVector datasetVector)
          已过时。 设置用于创建缓存的矢量数据集,支持的数据集类型为点数据集、线数据集、面数据集、文本数据集和复合数据集。

调用 setDataset() 方法,会废弃 setRecordset() 方法的设置结果,即 setDataset() 之后,getRecordset() 的返回值会变为 null。

 void setDynamicPrjCoordSysType(PrjCoordSysType prjType)
          已过时。 设置动态投影坐标系。
 void setEncodeType(EncodeType encodeType)
          已过时。 设置生成缓存文件的压缩类型。

矢量缓存仅支持None和LZW两种压缩格式,即:仅支持 EncodeType.LZW 或 EncodeType.NONE 类型。

 void setFieldNames(java.lang.String[] value)
          已过时。 设置生成的缓存数据包含的属性字段名称数组。

当设置的字段名称数组为 null 时,表示矢量数据中所有的字段值都生成到缓存文件中;若为 String[0] 时,表示没有字段值生成到缓存文件中;若设置的字段名称数组中包含矢量数据中不存在的字段名称时,程序将自动跳过该字段。

 void setLevel(int value)
          已过时。 该方法已经过时。 设置开始生成缓存的层数。
 void setOutputFolder(java.lang.String value)
          已过时。 设置生成缓存的路径。
 void setOutputScale(double scale)
          已过时。 设置矢量缓存的比例尺。
 void setPassword(java.lang.String value)
          已过时。 设置用于为地图对象创建缓存时对数据进行加密的密码。
 void setRecordset(Recordset recordset)
          已过时。 设置用于创建缓存的记录集,支持的数据集类型为点数据集、线数据集、面数据集、文本数据集。

注意:调用 setRecordset() 方法,会废弃 setDataset() 的设置,即 setRecordset() 之后,getDataset() 的返回值会变为 null。

 void setStorageType(StorageType storageType)
          已过时。 设置缓存存储方式。
 void setUpdateSize(int value)
          已过时。 该方法已经过时。 设置在三维场景中渲染该缓存图层时每次更新的缓存块数,具体值为该方法返回值的平方。

该字段值越大,则场景元素越不容易被过滤掉,但同时也会消耗更多的硬件资源,建议用户根据自身机器配置来选择该字段值的大小。对于已经生成的缓存文件,用户可以在缓存配置文件(*.scv)中自行修改LevelWidth的值,以配合当前硬件实现较流畅的视觉体验。

 void setVectorCacheTileType(VectorCacheTileType vectorCacheTileType)
          已过时。 设置缓存存储方式。
 boolean toConfigFile(java.lang.String filename)
          已过时。 将对象的相关设置写到指定的文件中,文件的后缀名为.scv,即缓存数据的配置文件。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

VectorCacheBuilder

public VectorCacheBuilder()
已过时。 
构造一个新的矢量缓存生成类对象。


VectorCacheBuilder

public VectorCacheBuilder(Recordset recordset,
                          java.lang.String outputFolder)
已过时。 
根据指定的参数,构造一个新的矢量缓存生成类对象。

该构造函数生成的缓存对象的名字与 Recordset 对应的 Dataset 的名称相同。

参数:
recordset - 用于生成缓存的记录集。
outputFolder - 生成缓存的路径。

VectorCacheBuilder

public VectorCacheBuilder(Recordset recordset,
                          java.lang.String outputFolder,
                          java.lang.String name)
已过时。 
根据指定的参数,构造一个新的矢量缓存生成类对象。

参数:
recordset - 用于生成缓存的记录集。
outputFolder - 生成缓存的路径。
name - 生成缓存的配置文件的名称。

VectorCacheBuilder

public VectorCacheBuilder(DatasetVector dataset,
                          java.lang.String outputFolder,
                          java.lang.String name)
已过时。 
根据指定的参数,构造一个新的矢量缓存生成类对象。

参数:
dataset - 用于生成缓存的矢量数据集。
outputFolder - 生成缓存的路径。
name - 生成缓存的配置文件的名称。
方法详细信息

getRecordset

public Recordset getRecordset()
已过时。 
返回需要生成缓存的记录集。

返回:
需要生成缓存的记录集。

setRecordset

public void setRecordset(Recordset recordset)
已过时。 设置用于创建缓存的记录集,支持的数据集类型为点数据集、线数据集、面数据集、文本数据集。

注意:调用 setRecordset() 方法,会废弃 setDataset() 的设置,即 setRecordset() 之后,getDataset() 的返回值会变为 null。

参数:
recordset - 用于创建缓存的记录集,支持的数据集类型为点数据集、线数据集、面数据集、文本数据集。

getDataset

public DatasetVector getDataset()
已过时。 
返回需要生成缓存的矢量数据集。

返回:
需要生成缓存的矢量数据集。

setDataset

public void setDataset(DatasetVector datasetVector)
已过时。 设置用于创建缓存的矢量数据集,支持的数据集类型为点数据集、线数据集、面数据集、文本数据集和复合数据集。

调用 setDataset() 方法,会废弃 setRecordset() 方法的设置结果,即 setDataset() 之后,getRecordset() 的返回值会变为 null。

参数:
datasetVector - 用于创建缓存的矢量数据集,支持的数据集类型为点数据集、线数据集、面数据集、文本数据集和复合数据集。

getFieldNames

public java.lang.String[] getFieldNames()
已过时。 返回生成的缓存数据包含的属性字段名称数组。

当设置的字段名称数组为 null 时,表示矢量数据中所有的字段值都生成到缓存文件中;若为 String[0] 时,表示没有字段值生成到缓存文件中;若设置的字段名称数组中包含矢量数据中不存在的字段名称时,程序将自动跳过该字段。

返回:
生成的缓存数据包含的属性字段名称数组。

setFieldNames

public void setFieldNames(java.lang.String[] value)
已过时。 设置生成的缓存数据包含的属性字段名称数组。

当设置的字段名称数组为 null 时,表示矢量数据中所有的字段值都生成到缓存文件中;若为 String[0] 时,表示没有字段值生成到缓存文件中;若设置的字段名称数组中包含矢量数据中不存在的字段名称时,程序将自动跳过该字段。

参数:
value - 生成的缓存数据包含的属性字段名称数组。

getBounds

public Rectangle2D getBounds()
已过时。 
返回生成缓存的地理范围。

返回:
生成缓存的地理范围。

setBounds

public void setBounds(Rectangle2D rectangle2D)
已过时。 
设置生成缓存的地理范围。

参数:
rectangle2D - 生成缓存的地理范围。

getCacheName

public java.lang.String getCacheName()
已过时。 
返回生成缓存的配置文件的名称。

返回:
生成缓存的配置文件的名称。

setCacheName

public void setCacheName(java.lang.String value)
已过时。 
设置生成缓存的配置文件的名称。

参数:
value - 生成缓存的配置文件的名称。

getOutputFolder

public java.lang.String getOutputFolder()
已过时。 
返回生成缓存的路径。

返回:
生成缓存的路径。

setOutputFolder

public void setOutputFolder(java.lang.String value)
已过时。 
设置生成缓存的路径。

参数:
value - 生成缓存的路径。

getStorageType

public StorageType getStorageType()
已过时。 
返回缓存存储方式。

返回:
缓存存储方式。
默认值:
默认值为 StorageType.Original,即原始模式。

setStorageType

public void setStorageType(StorageType storageType)
已过时。 设置缓存存储方式。

参数:
storageType - 缓存存储方式。

getLevel

public int getLevel()
已过时。 该方法已经过时。 返回开始生成缓存的层数。

返回:
开始生成缓存的层数。
默认值:
默认值为 16。

setLevel

public void setLevel(int value)
已过时。 该方法已经过时。 设置开始生成缓存的层数。

参数:
value - 开始生成缓存的层数。

getUpdateSize

public int getUpdateSize()
已过时。 返回在三维场景中渲染该缓存图层时每次更新的缓存块数,具体值为该方法返回值的平方。

该字段值越大,则场景元素越不容易被过滤掉,但同时也会消耗更多的硬件资源,建议用户根据自身机器配置来选择该字段值的大小。对于已经生成的缓存文件,用户可以在缓存配置文件(*.scv)中自行修改LevelWidth的值,以配合当前硬件实现较流畅的视觉体验。

返回:
一个整型值,表示在 Scene 场景渲染该缓存图层时,每次更新的缓存块数。
默认值:
默认值为 16。

setUpdateSize

public void setUpdateSize(int value)
已过时。 该方法已经过时。 设置在三维场景中渲染该缓存图层时每次更新的缓存块数,具体值为该方法返回值的平方。

该字段值越大,则场景元素越不容易被过滤掉,但同时也会消耗更多的硬件资源,建议用户根据自身机器配置来选择该字段值的大小。对于已经生成的缓存文件,用户可以在缓存配置文件(*.scv)中自行修改LevelWidth的值,以配合当前硬件实现较流畅的视觉体验。

参数:
value - 一个整型值,表示在 Scene 场景渲染该缓存图层时,每次更新的缓存块数。

build

public boolean build()
已过时。 
创建矢量缓存。

返回:
一个布尔值,若创建缓存成功返回 true,否则返回 false。

computeFileName

public java.lang.String[] computeFileName()
已过时。 返回由该实例的 Bounds,Level,OutputFolder 所确定的缓存文件名称列表,文件名为绝对路径。

返回:
计算得到的缓存图片名称列表。

computeLevel

public boolean computeLevel()
已过时。 该方法已经过时。 计算设置数据集所适合的缓存层数。

在有参构造函数中,会自动调用该方法。但用户调用 setDataset()setRecordset() 方法时,不会执行该方法。

返回:
一个布尔值,若计算成功返回 true,否则返回 false。

toConfigFile

public boolean toConfigFile(java.lang.String filename)
已过时。 将对象的相关设置写到指定的文件中,文件的后缀名为.scv,即缓存数据的配置文件。

参数:
filename - 指定的保存配置文件的路径。
返回:
一个布尔值,表示是否成功保存缓存配置文件,即.scv 文件,若保存缓存配置文件成功返回 true,否则返回 false。

setRecordset()setDataset() 方法的设置值,即用于生成缓存的记录集和矢量数据集信息不会写到配置文件中。


fromConfigFile

public boolean fromConfigFile(java.lang.String filename)
已过时。 导入缓存文件,根据缓存数据的配置文件中的内容来指定相关设置的值。

参数:
filename - 指定的导入配置文件的路径。
返回:
一个布尔值,若导入缓存配置文件成功返回 true,否则返回 false。

该方法不会对 setRecordset()setDataset() 方法的设置值进行修改,即用于生成缓存的记录集和矢量数据集信息不会被修改。


addSteppedListener

public void addSteppedListener(SteppedListener l)
已过时。 
添加一个用于接收进度条事件(SteppedEvent)的监听器。

参数:
l - 一个用于接收进度条事件的监听器。

removeSteppedListener

public void removeSteppedListener(SteppedListener l)
已过时。 
移除一个用于接收进度条事件(SteppedEvent)的监听器。

参数:
l - 一个用于接收进度条事件的监听器。

getPassword

public java.lang.String getPassword()
已过时。 
返回用于为地图对象创建缓存时对数据进行加密的密码。在添加图层时,需要使用该密码才能成功添加。如果使用默认值,便可不指定密码便能打开。

该密码不会写到缓存数据的配置文件中,同时,fromConfigFile() 方法也不会还原该密码。

返回:
一个布尔值,若创建地图缓存成功返回 true,否则返回 false。
默认值:
默认值为一个空的字符串。

setPassword

public void setPassword(java.lang.String value)
已过时。 
设置用于为地图对象创建缓存时对数据进行加密的密码。在添加图层时,需要使用该密码才能成功添加。如果使用默认值,便可不指定密码便能打开。

该密码不会写到缓存数据的配置文件中,同时,fromConfigFile() 方法也不会还原该密码。

注意:当 StorageType.Original 时,该方法是无效的;当 StorageType.Compact 时,该方法才有效。

参数:
value - 用于为地图对象创建缓存时对数据进行加密的密码。

buildWithoutConfigFile

public boolean buildWithoutConfigFile()
已过时。 为矢量数据创建矢量缓存。使用该方法创建缓存不会生成矢量缓存的配置文件。

注意:使用该方法时,纹理不会被创建缓存。

使用场景:该方法用于服务器端接收客户端请求时使用。

返回:
一个布尔值,若创建缓存成功,返回 true,否则返回 false。

dispose

public void dispose()
已过时。 
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。


getEncodeType

public EncodeType getEncodeType()
已过时。 
返回生成缓存文件的压缩类型。

矢量缓存仅支持None和LZW两种压缩格式,即:仅支持 EncodeType.LZW 或 EncodeType.NONE 类型。

返回:
生成缓存文件的压缩类型。
默认值:
默认值为 EncodeType.LZW,即ZIP压缩模式。

setEncodeType

public void setEncodeType(EncodeType encodeType)
已过时。 设置生成缓存文件的压缩类型。

矢量缓存仅支持None和LZW两种压缩格式,即:仅支持 EncodeType.LZW 或 EncodeType.NONE 类型。

参数:
encodeType - 生成缓存文件的压缩类型。

buildTexture

public boolean buildTexture(java.lang.String texPath,
                            int level)
已过时。 该方法已经过时。 根据纹理图片的索引路径和层级创建纹理图片。

使用场景:该方法用于服务器端接收客户端请求时使用。

参数:
texPath - 指定的纹理图片的索引路径。
level - 指定的层级。
返回:
创建成功返回true,失败返回false。

getCompressedTextureType

public CompressedTextureType getCompressedTextureType()
已过时。 
返回生成模型缓存时的压缩纹理的格式。对压缩纹理的格式的详细介绍请参见 CompressedTextureType 枚举类的说明。

默认值:
默认值为 CompressedTextureType.DDS

setCompressedTextureType

public void setCompressedTextureType(CompressedTextureType value)
已过时。 设置生成模型缓存时的压缩纹理的格式。对压缩纹理的格式的详细介绍请参见 CompressedTextureType 枚举类的说明。


getVectorCacheTileType

public VectorCacheTileType getVectorCacheTileType()
已过时。 返回矢量缓存切片文件的类型。

返回:
缓存矢量缓存切片文件类型。
默认值:
默认值为 VectorCacheTileType.Original,即原始模式。

setVectorCacheTileType

public void setVectorCacheTileType(VectorCacheTileType vectorCacheTileType)
已过时。 设置缓存存储方式。

参数:
vectorCacheTileType - 缓存存储方式。

setOutputScale

public void setOutputScale(double scale)
已过时。 设置矢量缓存的比例尺。

参数:
scale - 矢量缓存的比例尺。

getOutputScale

public double getOutputScale()
已过时。 
获取矢量缓存的比例尺。


getDynamicPrjCoordSysType

public PrjCoordSysType getDynamicPrjCoordSysType()
已过时。 
返回动态投影坐标系类型。

返回:
返回动态投影坐标系类型。

setDynamicPrjCoordSysType

public void setDynamicPrjCoordSysType(PrjCoordSysType prjType)
已过时。 
设置动态投影坐标系。

参数:
prjType - 动态投影坐标系类型。