|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object com.supermap.analyst.spatialanalyst.ConversionAnalystParameter
public class ConversionAnalystParameter
矢量栅格转换参数设置类。
矢栅转换参数设置类用于设置矢量转栅格和栅格转矢量时的各个参数,其中栅格转矢量时,可以只转换指定值的栅格,以及转换为矢量线时进行光滑。对于以上功能,其需要设置的参数有所不同,可参考下表。
注:
① 必设参数如果不设置,在使用 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 |
构造方法详细信息 |
---|
public ConversionAnalystParameter()
public ConversionAnalystParameter(ConversionAnalystParameter parameter)
parameter
- 指定的 ConversionParameter 对象。方法详细信息 |
---|
public long getBackOrNoValue()
public void setBackOrNoValue(long value)
将栅格数据转换为矢量数据时,允许用户指定一个值来标识那些不需要转换的单元格。SuperMap 支持的可转换为矢量的栅格数据有两种:栅格数据集(DatasetGrid)和影像数据集(DatasetImage)。
当被转化的栅格数据为影像数据集时,栅格值为指定的值的单元格被视为背景色,从而不参与转换。
需要注意,影像数据集中栅格值代表的是一个颜色或颜色的索引值,与其像素格式(PixelFormat
)有关。对于 BIT32、UBIT32、RGBA、RGB 和 BIT16 格式的影像数据集,其栅格值对应为 RGB 颜色,因此,如果想要将某种颜色设为背景色,为该属性设置的值应为将该颜色(RGB 值)转为 32 位整型之后的值,系统内部会根据像素格式再进行相应的转换;对于 UBIT8 和 UBIT4 格式的影像数据集,其栅格值对应的是颜色的索引值,因此,应为该属性设置的值为被视为背景色的颜色对应的索引值。
注意:还可以通过 setBackOrNoValueTolerance
方法指定一个值作为无值或背景色的容限值,栅格值在容限范围内的单元格也被视为无值或者背景色而不参与转换。
value
- 栅格的背景色或表示无值的值。public double getBackOrNoValueTolerance()
public void setBackOrNoValueTolerance(double value)
在栅格转矢量时,该方法用于配合 setBackOrNoValue
方法(指定栅格无值或者背景色)来共同确定栅格数据中哪些值不被转换。
value
- 栅格背景色的容限或无效值的容限。public double getCellSize()
public void setCellSize(double value)
value
- 结果栅格数据集的单元格大小。public long getSpecifiedValue()
public void setSpecifiedValue(long value)
value
- 指定的栅格值。public double getSpecifiedValueTolerance()
public void setSpecifiedValueTolerance(double value)
setSpecifiedValue
方法设置了指定值后才有效。
value
- 指定的栅格值的容限。public GeoRegion getClipRegion()
public void setClipRegion(GeoRegion value)
value
- 转换的有效区域。public DatasetType getTargetDatasetType()
DatasetType.POINT
。public void setTargetDatasetType(DatasetType value)
value
- 矢量数据集类型。public Datasource getTargetDatasource()
public void setTargetDatasource(Datasource value)
注意:如果设置为 null,或者不设置,则结果数据集会存储到源数据集所在的数据源中。如果没有设置该方法,但在栅格分析环境中设置了相关参数,则存储到该参数所指的数据源中。
value
- 用于存储结果数据集的数据源。public java.lang.String getTargetDatasetName()
public void setTargetDatasetName(java.lang.String value)
value
- 结果数据集的名称。public PixelFormat getPixelFormat()
PixelFormat.SINGLE
。public void setPixelFormat(PixelFormat value)
value
- 结果栅格数据集的像素格式。public int getSmoothDegree()
SmoothMethod.NONE
时有效。
光滑度的有效取值与光滑方法有关,当光滑方法为 B 样条法时,光滑度的值小于 2 时将不会进行光滑,采用磨角法时,光滑度的值设置为大于等于 1 时有效。光滑度的值越大,则结果矢量线的光滑度越高。
public void setSmoothDegree(int value)
SmoothMethod.NONE
时有效。
光滑度的有效取值与光滑方法有关,光滑方法有 B 样条法和磨角法,关于这两种方法的介绍,请参见 SmoothMethod
类。
光滑方法为 B 样条法时,光滑度的有效取值为大于等于2的整数,建议取值范围为[2,10]。下图为设置不同光滑系数时的光滑效果:
光滑度的值越大,光滑度的值越大,则结果矢量线的光滑度越高。
value
- 光滑度。public SmoothMethod getSmoothMethod()
SmoothMethod.NONE
。public void setSmoothMethod(SmoothMethod value)
value
- 光滑方法。public Dataset getSourceDataset()
public void setSourceDataset(Dataset value)
value
- 待转换或细化的数据集。public boolean isThinRaster()
public void setThinRaster(boolean value)
value
- 转换之前是否进行栅格细化。public java.lang.String getValueFieldName()
详细介绍请参见 setValueFieldName
方法。
public void setValueFieldName(java.lang.String value)
矢量转栅格时,该字段为矢量数据集中的一个字段,结果栅格数据集的栅格值从该字段取得。不建议使用系统字段,因为系统会先根据有效区域对矢量数据进行裁剪,之后再转为栅格,由于裁剪后系统字段的值可能发生变化,从而导致结果栅格的值与原矢量数据系统字段的值不一致。如果必须使用系统字段的值,可以考虑将该字段的值拷贝到新的字段中。
栅格转矢量时,该字段为结果矢量数据集的值字段,用来保存栅格数据集的栅格值。注意,该字段必须为非系统字段。
value
- 矢量数据集中存储栅格值的字段。public double getNoValue()
public void setNoValue(double value)
value
- 栅格数据集为无值。public boolean isAllTouched()
public void setAllTouched(boolean isAllTouched)
isAllTouched
- 是否转换出所有与折线接触的栅格。
|
|||||||||
上一个类 下一个类 | 框架 无框架 | ||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |