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