用于对两个面数据集进行合并方式的叠加分析,结果数据集中保存被合并叠加分析的数据集和用于合并叠加分析的数据集中的全部对象,并且对相交部分进行求交和分割运算。

命名空间:  SuperMap.Analyst.SpatialAnalyst
程序集:  SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll

语法

C#
public static bool Union(
	DatasetVector dataset,
	DatasetVector unionDataset,
	DatasetVector resultDataset,
	OverlayAnalystParameter parameter
)

参数

dataset
Type: SuperMap.Data..::.DatasetVector
被合并叠加分析的数据集,必须是面数据集类型。
unionDataset
Type: SuperMap.Data..::.DatasetVector
用于合并叠加分析的数据集,必须是面数据集类型。
resultDataset
Type: SuperMap.Data..::.DatasetVector
存放分析结果的数据集。
parameter
Type: SuperMap.Analyst.SpatialAnalyst..::.OverlayAnalystParameter
叠加分析的参数对象,该对象用于设置分析时的保留字段等分析参数。

返回值

一个布尔值,如果成功返回 true,否则返回 false。

备注

注意:

1、合并是求两个数据集并的运算,合并后的图层保留两个数据集所有图层要素,只限于两个面数据集之间进行。

2、进行 Union 运算后,两个面数据集在相交处多边形被分割,且两个数据集的几何和属性信息都被输出到结果数据集中。

3、用于合并叠加分析的数据集、被合并叠加分析的数据集以及结果数据集的地理坐标系必须一致。

示例

以下代码示范了根据给定的被操作的面数据集、用于操作的面数据集和目标数据源进行合并方式的叠加分析。

CopyC#
public void OverlayAnalystUnion(DatasetVector datasetOperated, DatasetVector datasetOperate, Datasource targetDatasource)
{
    //创建一个面矢量数据集,用于存储合并分析获得的结果
    String resultDatasetUnionName = targetDatasource.Datasets.GetAvailableDatasetName("resultDatasetUnion");
    DatasetVectorInfo datasetvectorInfoUnion = new DatasetVectorInfo();
    datasetvectorInfoUnion.Type = DatasetType.Region;
    datasetvectorInfoUnion.Name = resultDatasetUnionName;
    datasetvectorInfoUnion.EncodeType = EncodeType.None;
    DatasetVector resultDatasetUnion = targetDatasource.Datasets.Create(datasetvectorInfoUnion);

    //设置叠加分析参数
    OverlayAnalystParameter overlayAnalystParamUnion = new OverlayAnalystParameter();
    overlayAnalystParamUnion.Tolerance = 0.0000011074;

    //调用合并叠加分析方法实合并分析
    OverlayAnalyst.Union(datasetOperated, datasetOperate, resultDatasetUnion, overlayAnalystParamUnion);
}

请参见