对两个面数据集进行对称差分析运算,即交集取反运算。
程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
public static bool XOR( DatasetVector dataset, DatasetVector xorDataset, DatasetVector resultDataset, OverlayAnalystParameter parameter ) |
参数
- dataset
- Type: SuperMap.Data..::.DatasetVector
被对称差分析的源数据集,必须是面数据集
- xorDataset
- Type: SuperMap.Data..::.DatasetVector
用于对称差分析的数据集,必须是面数据集。
- resultDataset
- Type: SuperMap.Data..::.DatasetVector
存放分析结果的数据集。
- parameter
- Type: SuperMap.Analyst.SpatialAnalyst..::.OverlayAnalystParameter
叠加分析的参数对象,该对象用于设置分析时的保留字段等分析参数。
返回值
一个布尔值,如果成功返回 true,否则返回 false。备注
注意:
1、对称差运算是两个数据集的异或运算。操作的结果是,对于每一个面对象,去掉其与另一个数据集中的几何对象相交的部分,而保留剩下的部分。对称差运算的输出结果的属性表包含两个输入数据集的非系统属性字段。
2、用于对称差分析的数据集、被对称差分析的数据集以及结果数据集的地理坐标系必须一致。
示例
以下代码示范了根据给定的被操作的面数据集、用于操作的面数据集和目标数据源进行对称差分析运算。
CopyC#
public void OverlayAnalystXOR(DatasetVector datasetOperated, DatasetVector datasetOperate, Datasource targetDatasource) { //创建一个面矢量数据集,用于存储对称差分析获得的结果 String resultDatasetXORName = targetDatasource.Datasets.GetAvailableDatasetName("resultDatasetXOR"); DatasetVectorInfo datasetvectorInfoXOR = new DatasetVectorInfo(); datasetvectorInfoXOR.Type = DatasetType.Region; datasetvectorInfoXOR.Name = resultDatasetXORName; datasetvectorInfoXOR.EncodeType = EncodeType.None; DatasetVector resultDatasetXOR = targetDatasource.Datasets.Create(datasetvectorInfoXOR); //设置叠加分析参数 OverlayAnalystParameter overlayAnalystParamXOR = new OverlayAnalystParameter(); overlayAnalystParamXOR.Tolerance = 0.0089078724; //调用对称差分析方法对称差分析 OverlayAnalyst.XOR(datasetOperated, datasetOperate, resultDatasetXOR, overlayAnalystParamXOR); }