com.supermap.data.processing
类 OSGBVectorCacheBuilder

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

public class OSGBVectorCacheBuilder
extends java.lang.Object

矢量数据集生成三维切片缓存类。通过该类可将矢量数据集生成OSGB/S3M格式的三维切片缓存文件。


构造方法摘要
OSGBVectorCacheBuilder()
          默认构造一个无参的 OSGBVectorCacheBuilder 对象。
OSGBVectorCacheBuilder(DatasetVector dataset, java.lang.String outputFolder, java.lang.String cacheName)
          根据指定的参数,构造一个新的矢量缓存生成类对象。
OSGBVectorCacheBuilder(Recordset recordset, java.lang.String outputFolder)
          根据指定的参数,构造一个新的矢量缓存生成类对象。
OSGBVectorCacheBuilder(Recordset recordset, java.lang.String outputFolder, java.lang.String cacheName)
          根据指定的参数,构造一个新的矢量缓存生成类对象。
OSGBVectorCacheBuilder(Scene scene, Layer3DDataset layer3DDataset, java.lang.String outputFolder, java.lang.String cacheName)
          构造一个新的OSGBVectorCacheBuilder对象。
 
方法摘要
 void addSteppedListener(SteppedListener l)
          添加一个用于接收进度条事件(SteppedEvent)的监听器。
 boolean build()
          生成缓存。
 boolean buildWithoutConfigFile()
          为矢量数据创建矢量缓存。
 void dispose()
          释放OSGBVectorCacheBuilder对象所占的资源。
 AttributeExtentType getAttributeExtentType()
          获取属性文件类型。
 Rectangle2D getBounds()
          获取生成缓存的地理范围。
 java.lang.String getCacheName()
          获取生成缓存配置文件的名称。
 CacheFileType getCacheType()
          矢量数据集批量生成缓存时,获取缓存文件类型,包括OSGB、S3M、S3MB。
 Geometry getClipRegion()
          获取裁剪面(仅时序点生成缓存时使用)。
 DatasetVector getDataset()
          获取或设置用于创建缓存的数据集,支持的数据集类型为点数据集、线数据集、面数据集、文本数据集和复合数据集。
 java.util.ArrayList<DatasetSetting> getDatasetSettingArray()
          获取待缓存对象属性,包括数据集对象,userIDField,fieldNames
 PrjCoordSysType getDynamicPrjCoordSysType()
          获取生成平面还是球面缓存,目前只有PrjCoordSysType.NoneEarth、PrjCoordSysType.EarthLongitudeLatitude两种。
 EncodeType getEncodeType()
          获取生成缓存文件的压缩类型。
 GlobeType getGlobeType()
          获取球体类型,支持椭球和圆球。
 java.lang.String getOutputFolder()
          获取生成缓存的路径。
 double getOutputScale()
          获取矢量缓存比例尺。
 java.lang.String getPassword()
          获取用于为地图对象创建缓存时对数据进行加密的密码。
 Recordset getRecordset()
          获取或设置用于创建缓存的记录集,支持的数据集类型为点数据集、线数据集、面数据集、文本数据集和复合数据集。
 StorageType getStorageType()
          获取缓存存储方式。
 java.util.ArrayList<java.lang.String> getTemporalFields()
          获取时序字段(仅时序点生成缓存时使用)。
 boolean getTileBoundClip()
          矢量数据集批量生成缓存时,获取是否用TileBound做裁剪,进行切片切割。
 java.util.ArrayList<TileInfos> getTileInfosArray()
          获取每个生成缓存切片的信息。
 double getTileWidth()
          获取缓存切片大小。
 GeoStyle3D getUserDefStyle3D()
          获取用户自定义style,包括贴地模式,拉伸高度,底部高度,前景色,是否生成轮廓线等。
 void removeSteppedListener(SteppedListener l)
          移除一个用于接收进度条事件(SteppedEvent)的监听器。
 void setAttributeExtentType(AttributeExtentType attributeExtentType)
          设置属性文件类型。
 void setBounds(Rectangle2D value)
          设置生成缓存的地理范围。
 void setCacheName(java.lang.String value)
          设置生成缓存配置文件的名称。
 void setClipRegion(Geometry m_pClipRegion)
          设置裁剪面(仅时序点生成缓存时使用)。
 void setCompressedTextureType(CompressedTextureType value)
          设置生成缓存时的压缩纹理的格式。
 void setDatasetSettingArray(java.util.ArrayList<DatasetSetting> datasetSettings)
          设置待缓存对象属性,包括数据集对象,userIDField,fieldNames
 void setDynamicPrjCoordSysType(PrjCoordSysType prjType)
          设置动态投影信息。
 void setFileType(CacheFileType fileType)
          设置缓存保存类型, 包括osgb/s3m/s3mb。
 void setGlobeType(GlobeType globeType)
          设置球体类型,支持椭球和圆球。
 void setLayer(Layer3DDataset value)
          设置用于生成缓存的图层对象。
 void setOutputFolder(java.lang.String value)
          设置生成缓存的路径。
 void setPassword(java.lang.String value)
          设置用于为地图对象创建缓存时对数据进行加密的密码。
 void setS3MVersion(S3MVersion version)
          设置S3M版本。
 void setScene(Scene value)
          设置用于生成缓存的场景对象。
 void setTemporalFields(java.util.ArrayList<java.lang.String> m_listAttributes)
          设置时序字段(仅时序点生成缓存时使用)。
 void setTileBoundClip(boolean clipValue)
          矢量数据集批量生成缓存时,设置是否用TileBound做裁剪,进行切片切割。
 void setTileWidth(double tileWidthValue)
          设置缓存切片大小。
 void setUserDefStyle3D(GeoStyle3D geoStyle3D)
          设置用户自定义style,包括贴地模式,拉伸高度,底部高度,前景色,是否生成轮廓线等。
 boolean toConfigAndIndexFile(java.lang.String path)
          将三维切片缓存的所有切片信息直接写入到配置文件中,并将属性字段索引写入索引文件。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

OSGBVectorCacheBuilder

public OSGBVectorCacheBuilder()
默认构造一个无参的 OSGBVectorCacheBuilder 对象。


OSGBVectorCacheBuilder

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

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

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

OSGBVectorCacheBuilder

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

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

OSGBVectorCacheBuilder

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

参数:
dataset - 用于生成缓存的矢量数据集。
outputFolder - 生成缓存的路径。
cacheName - 生成缓存配置文件的名称。

OSGBVectorCacheBuilder

public OSGBVectorCacheBuilder(Scene scene,
                              Layer3DDataset layer3DDataset,
                              java.lang.String outputFolder,
                              java.lang.String cacheName)
构造一个新的OSGBVectorCacheBuilder对象。

参数:
scene - 指定的场景。
layer3DDataset - 指定的矢量数据集图层。
outputFolder - 指定的输出路径。
cacheName - 指定的缓存名称。
方法详细信息

getRecordset

public Recordset getRecordset()
获取或设置用于创建缓存的记录集,支持的数据集类型为点数据集、线数据集、面数据集、文本数据集和复合数据集。

注意:设置Recordset属性,会废弃之前对Dataset的设置,即设置完Recordset之后,Dataset的属性值会变为null。

返回:

getDataset

public DatasetVector getDataset()
获取或设置用于创建缓存的数据集,支持的数据集类型为点数据集、线数据集、面数据集、文本数据集和复合数据集。

注意:设置Dataset属性,会废弃之前对Recordset的设置,即设置完Dataset之后,Recordset的属性值会变为null。

返回:

getBounds

public Rectangle2D getBounds()
获取生成缓存的地理范围。

返回:

setBounds

public void setBounds(Rectangle2D value)
设置生成缓存的地理范围。

参数:
value -

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。

返回:

getPassword

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

该密码不会写到缓存数据的配置文件中。

注意:当 StorageType.Original 时,Password 属性是无效的;当 StorageType.Compact 时,该属性才有效。


setPassword

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

该密码不会写到缓存数据的配置文件中。

注意:当 StorageType.Original 时,Password 属性是无效的;当 StorageType.Compact 时,该属性才有效。

参数:
value -

buildWithoutConfigFile

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

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

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

返回:

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 类型。

返回:
压缩类型

getOutputScale

public double getOutputScale()
获取矢量缓存比例尺。

返回:
比例尺

getDynamicPrjCoordSysType

public PrjCoordSysType getDynamicPrjCoordSysType()
获取生成平面还是球面缓存,目前只有PrjCoordSysType.NoneEarth、PrjCoordSysType.EarthLongitudeLatitude两种。

当设置为PrjCoordSysType.NoneEarth,则生成平面缓存,当设置为PrjCoordSysType.EarthLongitudeLatitude则生成球面缓存。

返回:

getTileWidth

public double getTileWidth()
获取缓存切片大小。单位与缓存范围的单位一致。同时适用于批量矢量数据生成缓存时,设置瓦片边长。

返回:
缓存切片大小

setTileWidth

public void setTileWidth(double tileWidthValue)
设置缓存切片大小。单位与缓存范围的单位一致。同时适用于批量矢量数据生成缓存时,设置瓦片边长。

参数:
tileWidthValue - 缓存切片大小

dispose

public void dispose()
释放OSGBVectorCacheBuilder对象所占的资源。


setScene

public void setScene(Scene value)
设置用于生成缓存的场景对象。

参数:
value - 指定场景。

setLayer

public void setLayer(Layer3DDataset value)
设置用于生成缓存的图层对象。

参数:
value - 指定图层。

getTileInfosArray

public java.util.ArrayList<TileInfos> getTileInfosArray()
获取每个生成缓存切片的信息。

返回:

toConfigAndIndexFile

public boolean toConfigAndIndexFile(java.lang.String path)
将三维切片缓存的所有切片信息直接写入到配置文件中,并将属性字段索引写入索引文件。使用该方法不生成缓存切片。

使用场景:该方法用于客户端向服务器请求切片文件,服务器端实时切缓存时使用。

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

setCompressedTextureType

public void setCompressedTextureType(CompressedTextureType value)
设置生成缓存时的压缩纹理的格式。

参数:
value - 压缩纹理的格式。

setDynamicPrjCoordSysType

public void setDynamicPrjCoordSysType(PrjCoordSysType prjType)
设置动态投影信息。

参数:
prjType - 指定的投影信息。

getCacheType

public CacheFileType getCacheType()
矢量数据集批量生成缓存时,获取缓存文件类型,包括OSGB、S3M、S3MB。

返回:

setFileType

public void setFileType(CacheFileType fileType)
设置缓存保存类型, 包括osgb/s3m/s3mb。

参数:
fileType - 缓存的数据格式。

build

public boolean build()
生成缓存。

返回:
true表示生成成功,false表示生成失败。

getUserDefStyle3D

public GeoStyle3D getUserDefStyle3D()
获取用户自定义style,包括贴地模式,拉伸高度,底部高度,前景色,是否生成轮廓线等。


setUserDefStyle3D

public void setUserDefStyle3D(GeoStyle3D geoStyle3D)
设置用户自定义style,包括贴地模式,拉伸高度,底部高度,前景色,是否生成轮廓线等。


getTileBoundClip

public boolean getTileBoundClip()
矢量数据集批量生成缓存时,获取是否用TileBound做裁剪,进行切片切割。


setTileBoundClip

public void setTileBoundClip(boolean clipValue)
矢量数据集批量生成缓存时,设置是否用TileBound做裁剪,进行切片切割。


getDatasetSettingArray

public java.util.ArrayList<DatasetSetting> getDatasetSettingArray()
获取待缓存对象属性,包括数据集对象,userIDField,fieldNames

返回:

setDatasetSettingArray

public void setDatasetSettingArray(java.util.ArrayList<DatasetSetting> datasetSettings)
设置待缓存对象属性,包括数据集对象,userIDField,fieldNames

参数:
datasetSettings -

setS3MVersion

public void setS3MVersion(S3MVersion version)
设置S3M版本。

参数:
version - S3M版本

getAttributeExtentType

public AttributeExtentType getAttributeExtentType()
获取属性文件类型。

返回:
属性文件类型

setAttributeExtentType

public void setAttributeExtentType(AttributeExtentType attributeExtentType)
设置属性文件类型。

参数:
attributeExtentType - 属性文件类型

getGlobeType

public GlobeType getGlobeType()
获取球体类型,支持椭球和圆球。

返回:

setGlobeType

public void setGlobeType(GlobeType globeType)
设置球体类型,支持椭球和圆球。当球体类型设置为椭球时,S3M版本需要使用"Version_30"。

参数:
globeType -

getTemporalFields

public java.util.ArrayList<java.lang.String> getTemporalFields()
获取时序字段(仅时序点生成缓存时使用)。

返回:

setTemporalFields

public void setTemporalFields(java.util.ArrayList<java.lang.String> m_listAttributes)
设置时序字段(仅时序点生成缓存时使用)。

参数:
m_listAttributes -

getClipRegion

public Geometry getClipRegion()
获取裁剪面(仅时序点生成缓存时使用)。

返回:

setClipRegion

public void setClipRegion(Geometry m_pClipRegion)
设置裁剪面(仅时序点生成缓存时使用)。

参数:
m_pClipRegion -