com.supermap.analyst.spatialanalyst
类 ConversionAnalystParameter

java.lang.Object
  继承者 com.supermap.analyst.spatialanalyst.ConversionAnalystParameter

public class ConversionAnalystParameter
extends java.lang.Object

矢量栅格转换参数设置类。

矢栅转换参数设置类用于设置矢量转栅格和栅格转矢量时的各个参数,其中栅格转矢量时,可以只转换指定值的栅格,以及转换为矢量线时进行光滑。对于以上功能,其需要设置的参数有所不同,可参考下表。

注:

① 必设参数如果不设置,在使用 ConversionAnalyst 类的相关方法进行矢栅转换时会抛出异常。

② 可选参数为不必须设置的参数,一般设有默认值,用户可根据实际研究的目的进行选择设置。

③ 必须设置 setTargetDatasetType 为 DatasetType.LINE,即将栅格转换为矢量线数据时,对 setThinRaster、setSmoothMethod、setSmoothDegree 方法的设置才有效。

④ 当 setSmoothMethod 指定为 SmoothMethod.NONE 以外的值时,setSmoothDegree 的设置才有效。

示例:
有关矢量栅格转换的示例,还可参见 rasterToVector 方法vectorToRaster 方法的示例。

构造方法摘要
ConversionAnalystParameter()
          构造一个新的 ConversionParameter 对象。
ConversionAnalystParameter(ConversionAnalystParameter parameter)
          根据给定的 ConversionParameter 对象构造一个与其完全相同的新对象。
 
方法摘要
 long getBackOrNoValue()
          返回栅格的背景色或表示无值的值,只在栅格转矢量时有效。
 double getBackOrNoValueTolerance()
          返回栅格背景色的容限或无值的容限,只在栅格转矢量时有效。
 double getCellSize()
          返回结果栅格数据集的单元格大小,只在矢量转栅格时有效。
 GeoRegion getClipRegion()
          返回转换的有效区域。
 double getNoValue()
          返回栅格数据集为无值,只在矢量转栅格时有效。
 PixelFormat getPixelFormat()
          返回结果栅格数据集的像素格式,只在矢量转栅格时有效。
 int getSmoothDegree()
          返回光滑度,只在栅格转为矢量线数据,且 SmoothMethod 不为 SmoothMethod.NONE 时有效。
 SmoothMethod getSmoothMethod()
          返回光滑方法,只在栅格转为矢量线数据时有效。
 Dataset getSourceDataset()
          返回待转换或细化的数据集。
 long getSpecifiedValue()
          返回栅格按值转矢量时指定的栅格值。
 double getSpecifiedValueTolerance()
          返回栅格按值转矢量时指定的栅格值的容限。
 java.lang.String getTargetDatasetName()
          返回结果数据集的名称。
 DatasetType getTargetDatasetType()
          返回结果矢量数据集类型,可以设置为点、线、面类型,只在栅格转矢量时有效。
 Datasource getTargetDatasource()
          返回用于存储结果数据集的数据源。
 java.lang.String getValueFieldName()
          返回矢量数据集中存储栅格值的字段。
 boolean isAllTouched()
          返回线转栅格时是否转换出所有与折线接触的栅格.
 boolean isThinRaster()
          返回转换之前是否进行栅格细化,只在栅格转为矢量线数据时有效。
 void setAllTouched(boolean isAllTouched)
          设置线转栅格时是否转换出所有与折线接触的栅格。
 void setBackOrNoValue(long value)
          设置栅格的背景色或表示无值的值,只在栅格转矢量时有效。
 void setBackOrNoValueTolerance(double value)
          设置栅格背景色的容限或无值的容限,只在栅格转矢量时有效。
 void setCellSize(double value)
          设置结果栅格数据集的单元格大小,只在矢量转栅格时有效。
 void setClipRegion(GeoRegion value)
          设置转换的有效区域。
 void setNoValue(double value)
          设置栅格数据集为无值,只在矢量转栅格时有效。
 void setPixelFormat(PixelFormat value)
          设置结果栅格数据集的像素格式,只在矢量转栅格时有效。
 void setSmoothDegree(int value)
          设置光滑度,只在栅格转为矢量线数据,且 SmoothMethod 不为 SmoothMethod.NONE 时有效。
 void setSmoothMethod(SmoothMethod value)
          设置光滑方法,只在栅格转为矢量线数据时有效。
 void setSourceDataset(Dataset value)
          设置待转换或细化的数据集。
 void setSpecifiedValue(long value)
          设置栅格按值转矢量时指定的栅格值。
 void setSpecifiedValueTolerance(double value)
          设置栅格按值转矢量时指定的栅格值的容限。
 void setTargetDatasetName(java.lang.String value)
          设置结果数据集的名称。
 void setTargetDatasetType(DatasetType value)
          设置结果矢量数据集类型,可以设置为点、线、面类型,只在栅格转矢量时有效。
 void setTargetDatasource(Datasource value)
          设置用于存储结果数据集的数据源。
 void setThinRaster(boolean value)
          设置转换之前是否进行栅格细化,只在栅格转为矢量线数据时有效。
 void setValueFieldName(java.lang.String value)
          设置矢量数据集中存储栅格值的字段。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

ConversionAnalystParameter

public ConversionAnalystParameter()
构造一个新的 ConversionParameter 对象。


ConversionAnalystParameter

public ConversionAnalystParameter(ConversionAnalystParameter parameter)
根据给定的 ConversionParameter 对象构造一个与其完全相同的新对象。

参数:
parameter - 指定的 ConversionParameter 对象。
方法详细信息

getBackOrNoValue

public long getBackOrNoValue()
返回栅格的背景色或表示无值的值,只在栅格转矢量时有效。

返回:
栅格的背景色或表示无值的值。
默认值:
默认值为 -9999。

setBackOrNoValue

public void setBackOrNoValue(long value)
设置栅格的背景色或表示无值的值,只在栅格转矢量时有效。

将栅格数据转换为矢量数据时,允许用户指定一个值来标识那些不需要转换的单元格。SuperMap 支持的可转换为矢量的栅格数据有两种:栅格数据集(DatasetGrid)和影像数据集(DatasetImage)。

注意:还可以通过 setBackOrNoValueTolerance 方法指定一个值作为无值或背景色的容限值,栅格值在容限范围内的单元格也被视为无值或者背景色而不参与转换。

参数:
value - 栅格的背景色或表示无值的值。

getBackOrNoValueTolerance

public double getBackOrNoValueTolerance()
返回栅格背景色的容限或无值的容限,只在栅格转矢量时有效。

返回:
栅格背景色的容限或无效值的容限。
默认值:
默认值为 0.0。

setBackOrNoValueTolerance

public void setBackOrNoValueTolerance(double value)
设置栅格背景色的容限或无值的容限,只在栅格转矢量时有效。

在栅格转矢量时,该方法用于配合 setBackOrNoValue 方法(指定栅格无值或者背景色)来共同确定栅格数据中哪些值不被转换。

参数:
value - 栅格背景色的容限或无效值的容限。

getCellSize

public double getCellSize()
返回结果栅格数据集的单元格大小,只在矢量转栅格时有效。单位与结果栅格数据集的坐标系单位相同。

返回:
结果栅格数据集的单元格大小。
默认值:
默认值为 L/500,L 是指结果数据集的区域范围对应的矩形的对角线长度。

setCellSize

public void setCellSize(double value)
设置结果栅格数据集的单元格大小,只在矢量转栅格时有效。单位与结果栅格数据集的坐标系单位相同,结果栅格数据集的坐标系与用于转换的矢量数据集的相同。

参数:
value - 结果栅格数据集的单元格大小。

getSpecifiedValue

public long getSpecifiedValue()
返回栅格按值转矢量时指定的栅格值。

返回:
指定的栅格值。
默认值:
默认值为 -999999。

setSpecifiedValue

public void setSpecifiedValue(long value)
设置栅格按值转矢量时指定的栅格值。

参数:
value - 指定的栅格值。

getSpecifiedValueTolerance

public double getSpecifiedValueTolerance()
返回栅格按值转矢量时指定的栅格值的容限。

返回:
指定的栅格值的容限。
默认值:
默认值为 0.0。

setSpecifiedValueTolerance

public void setSpecifiedValueTolerance(double value)
设置栅格按值转矢量时指定的栅格值的容限。只有通过 setSpecifiedValue 方法设置了指定值后才有效。

参数:
value - 指定的栅格值的容限。

getClipRegion

public GeoRegion getClipRegion()
返回转换的有效区域。

返回:
转换的有效区域。
默认值:
默认值为 null,即用户设置的分析范围。

setClipRegion

public void setClipRegion(GeoRegion value)
设置转换的有效区域。

参数:
value - 转换的有效区域。

getTargetDatasetType

public DatasetType getTargetDatasetType()
返回结果矢量数据集类型,可以设置为点、线、面类型,只在栅格转矢量时有效。

返回:
矢量数据集类型。
默认值:
默认值为 DatasetType.POINT

setTargetDatasetType

public void setTargetDatasetType(DatasetType value)
设置结果矢量数据集类型,可以设置为点、线、面类型,只在栅格转矢量时有效。

参数:
value - 矢量数据集类型。

getTargetDatasource

public Datasource getTargetDatasource()
返回用于存储结果数据集的数据源。

返回:
用于存储结果数据集的数据源。

setTargetDatasource

public void setTargetDatasource(Datasource value)
设置用于存储结果数据集的数据源。

注意:如果设置为 null,或者不设置,则结果数据集会存储到源数据集所在的数据源中。如果没有设置该方法,但在栅格分析环境中设置了相关参数,则存储到该参数所指的数据源中。

参数:
value - 用于存储结果数据集的数据源。

getTargetDatasetName

public java.lang.String getTargetDatasetName()
返回结果数据集的名称。

返回:
结果数据集的名称。

setTargetDatasetName

public void setTargetDatasetName(java.lang.String value)
设置结果数据集的名称。如果不设置,将抛出异常。

参数:
value - 结果数据集的名称。

getPixelFormat

public PixelFormat getPixelFormat()
返回结果栅格数据集的像素格式,只在矢量转栅格时有效。

返回:
结果栅格数据集的像素格式。
默认值:
默认值为 PixelFormat.SINGLE

setPixelFormat

public void setPixelFormat(PixelFormat value)
设置结果栅格数据集的像素格式,只在矢量转栅格时有效。

参数:
value - 结果栅格数据集的像素格式。

getSmoothDegree

public int getSmoothDegree()
返回光滑度,只在栅格转为矢量线数据,且 SmoothMethod 不为 SmoothMethod.NONE 时有效。

光滑度的有效取值与光滑方法有关,当光滑方法为 B 样条法时,光滑度的值小于 2 时将不会进行光滑,采用磨角法时,光滑度的值设置为大于等于 1 时有效。光滑度的值越大,则结果矢量线的光滑度越高。

返回:
光滑度。
默认值:
默认值为 0。

setSmoothDegree

public void setSmoothDegree(int value)
设置光滑度,只在栅格转为矢量线数据,且 SmoothMethod 不为 SmoothMethod.NONE 时有效。

光滑度的有效取值与光滑方法有关,光滑方法有 B 样条法和磨角法,关于这两种方法的介绍,请参见 SmoothMethod 类。

光滑度的值越大,光滑度的值越大,则结果矢量线的光滑度越高。

参数:
value - 光滑度。

getSmoothMethod

public SmoothMethod getSmoothMethod()
返回光滑方法,只在栅格转为矢量线数据时有效。

返回:
光滑方法。
默认值:
默认值为 SmoothMethod.NONE

setSmoothMethod

public void setSmoothMethod(SmoothMethod value)
设置光滑方法,只在栅格转为矢量线数据时有效。

参数:
value - 光滑方法。

getSourceDataset

public Dataset getSourceDataset()
返回待转换或细化的数据集。

返回:
待转换或细化的数据集。

setSourceDataset

public void setSourceDataset(Dataset value)
设置待转换或细化的数据集。如果不设置,将抛出异常。

参数:
value - 待转换或细化的数据集。

isThinRaster

public boolean isThinRaster()
返回转换之前是否进行栅格细化,只在栅格转为矢量线数据时有效。

返回:
转换之前是否进行栅格细化。
默认值:
默认值为 true。

setThinRaster

public void setThinRaster(boolean value)
设置转换之前是否进行栅格细化,只在栅格转为矢量线数据时有效。

参数:
value - 转换之前是否进行栅格细化。

getValueFieldName

public java.lang.String getValueFieldName()
返回矢量数据集中存储栅格值的字段。

详细介绍请参见 setValueFieldName 方法。

返回:
矢量数据集中存储栅格值的字段。

setValueFieldName

public void setValueFieldName(java.lang.String value)
设置矢量数据集中存储栅格值的字段。如果不设置,将抛出异常。

矢量转栅格时,该字段为矢量数据集中的一个字段,结果栅格数据集的栅格值从该字段取得。不建议使用系统字段,因为系统会先根据有效区域对矢量数据进行裁剪,之后再转为栅格,由于裁剪后系统字段的值可能发生变化,从而导致结果栅格的值与原矢量数据系统字段的值不一致。如果必须使用系统字段的值,可以考虑将该字段的值拷贝到新的字段中。

栅格转矢量时,该字段为结果矢量数据集的值字段,用来保存栅格数据集的栅格值。注意,该字段必须为非系统字段。

参数:
value - 矢量数据集中存储栅格值的字段。

getNoValue

public double getNoValue()
返回栅格数据集为无值,只在矢量转栅格时有效。

返回:
栅格数据集为无值。
默认值:
默认值为无值。

setNoValue

public void setNoValue(double value)
设置栅格数据集为无值,只在矢量转栅格时有效。

参数:
value - 栅格数据集为无值。

isAllTouched

public boolean isAllTouched()
返回线转栅格时是否转换出所有与折线接触的栅格.

返回:
是否转换出所有与折线接触的栅格。
默认值:
默认值为 true,false为brezenhams栅格化方法。

setAllTouched

public void setAllTouched(boolean isAllTouched)
设置线转栅格时是否转换出所有与折线接触的栅格。

参数:
isAllTouched - 是否转换出所有与折线接触的栅格。