public class OverlayAnalystParameter extends Object
该类主要提供进行叠加分析时,输出结果数据集的字段选择。在矢量叠加分析中至少涉及到三个数据集,其中一个数据集的类型可以是点、线、面等,被称作输入数据集(在SuperMap GIS中称作第一数据集);另一个数据集是面数据集被称作叠加数据集(在SuperMap GIS中称作第二数据集);还有一个数据集就是叠加结果数据集,包含叠加后数据的几何信息和属性信息。叠加结果数据集中的属性信息来自于第一数据集和第二数据集的属性表,在进行叠加分析的时候,用户可以根据自己的需要在这两个数据集的属性表中选择需要保留的属性字段。
OverlayAnalyst.clip()
方法的示例。构造器和说明 |
---|
OverlayAnalystParameter()
默认无参构造器,构造一个新的叠加分析参数对象。
|
OverlayAnalystParameter(OverlayAnalystParameter overlayAnalystParameter)
根据给定的叠加分析参数对象构造一个与其完全相同的新对象。
|
限定符和类型 | 方法和说明 |
---|---|
String[] |
getOperationRetainedFields()
返回进行叠加分析的第二数据集或记录集中需要保留的字段名称集合。
|
OverlayAnalystOutputType |
getOutputType()
返回叠加分析的输出结果类型。
|
String[] |
getSourceRetainedFields()
返回进行叠加分析的第一数据集或记录集中需要保留的字段名称集合。
|
double |
getTolerance()
返回叠加分析的容限值。
|
boolean |
isKeepSourceDataOverlaps()
返回叠加分析是否保持源数据重叠关系(目前仅同一生效)。
|
boolean |
isPreprocess()
返回叠加分析过程中是否进行拓扑预处理。
|
boolean |
isSingleResult()
已过时。
此方法已废弃,请使用新方法
OverlayAnalystParameter.isKeepSourceDataOverlaps() 替换。 |
boolean |
isSupportOverlapInLayer()
已过时。
该方法已经过时。
返回叠加分析是否支持面数据集内含有重叠面的情形。默认为 false,即使用原有叠加分析算法,原有算法错误结果不可预期;如果设置为 true,则使用新的算法进行叠加分析。
|
void |
setKeepSourceDataOverlaps(boolean value)
设置叠加分析是否保持源数据重叠关系(目前仅同一生效)。
|
void |
setOperationRetainedFields(String[] value)
设置进行叠加分析的第二数据集或记录集中需要保留的字段名称集合。
|
void |
setOutputType(OverlayAnalystOutputType value)
设置叠加分析的输出结果类型。
|
void |
setPreprocess(boolean isProcess)
设置叠加分析过程中是否进行拓扑预处理。
|
void |
setSingleResult(boolean value)
已过时。
此方法已废弃,请使用新方法
OverlayAnalystParameter.setKeepSourceDataOverlaps(boolean) 替换。 |
void |
setSourceRetainedFields(String[] value)
设置进行叠加分析的第一数据集或记录集中需要保留的字段名称集合。
|
void |
setSupportOverlapInLayer(boolean value)
已过时。
该方法已经过时。
设置叠加分析是否支持面数据集内含有重叠面的情形。
面数据集内含有重叠面指的是单个数据集中存在要素间的重叠现象。要素重叠区域在经过新算法的叠加分析后,会重复保留所有属性和区域。 例如下图为叠加分析合并中含有重叠面的示意图: |
void |
setTolerance(double value)
设置叠加分析的容限值。
|
public OverlayAnalystParameter()
public OverlayAnalystParameter(OverlayAnalystParameter overlayAnalystParameter)
overlayAnalystParameter
- 指定的叠加分析参数对象。public boolean isPreprocess()
注意:此过程只会影响面数据集和面数据集的叠加,点和线不受影响。
TopologyValidator.integrate()
)或数据集拓扑预处理节点和节点捕捉 (TopologyPreprocessOptions.setVertexesSnapped()
) 接口处理数据,再进行叠加分析。一般建议用户保持默认。public void setPreprocess(boolean isProcess)
isProcess
- 叠加分析过程中是否进行拓扑预处理。public String[] getSourceRetainedFields()
public void setSourceRetainedFields(String[] value)
注意:如果是裁剪或者擦除操作,第一数据集或记录集的非系统字段将全部保留。
value
- 进行叠加分析的第一数据集或记录集中需要保留的字段名称集合。public String[] getOperationRetainedFields()
public void setOperationRetainedFields(String[] value)
value
- 进行叠加分析的第二数据集或记录集中需要保留的字段名称集合。public double getTolerance()
public void setTolerance(double value)
value
- 叠加分析的容限值。public OverlayAnalystOutputType getOutputType()
叠加分析的输出结果类型暂时只支持相交(Intersect)算子,源数据和叠加数据都为线类型时,输出结果类型需要设置为POINT,其他情况为INPUT.
public void setOutputType(OverlayAnalystOutputType value)
value
- 叠加分析的输出结果类型。@Deprecated public boolean isSingleResult()
OverlayAnalystParameter.isKeepSourceDataOverlaps()
替换。线面叠加分析 Clip、Identity、Intersect方法有效。
如果线在多个面对象内(面对象有重叠)或边界处,返回一个线对象或者返回多个线对象,即如果设置为 true,则返回一个线对象,如果设置为 false,则返回多个独立的线对象。
@Deprecated public void setSingleResult(boolean value)
OverlayAnalystParameter.setKeepSourceDataOverlaps(boolean)
替换。线面叠加分析 Clip、Identity、Intersect方法有效。
如果线在多个面对象内(面对象有重叠)或边界处,返回一个线对象或者返回多个线对象,即如果设置为 true,则返回一个线对象,如果设置为 false,则返回多个独立的线对象。
value
- 是否返回单个线对象。@Deprecated public boolean isSupportOverlapInLayer()
@Deprecated public void setSupportOverlapInLayer(boolean value)
面数据集内含有重叠面指的是单个数据集中存在要素间的重叠现象。要素重叠区域在经过新算法的叠加分析后,会重复保留所有属性和区域。
例如下图为叠加分析合并中含有重叠面的示意图:
value
- 叠加分析是否支持面数据集内含有重叠面。public boolean isKeepSourceDataOverlaps()
public void setKeepSourceDataOverlaps(boolean value)
如果源数据为线,线在多个面对象内(面对象有重叠)或边界处,勾选该参数后返回一个对象,否则返回多个对象。如果源数据为面,当源数据和叠加数据的拓扑关系都比较复杂(比如都存在面重叠时),勾选参数后按照源数据的重叠关系进行输出,例如源数据和叠加数据都有两层面重叠,不勾选时输出结果对象有四层重叠,勾选时保持源数据的两层重叠,这样可以保证结果正确。
value
- 叠加分析是否保持源数据重叠关系(目前仅同一生效)。Copyright © 2021–2024 SuperMap. All rights reserved.