进行相交方式的叠加分析,将被相交叠加分析的数据集中不包含在用来相交叠加分析的数据集中的对象切割并删除。即两个数据集中重叠的部分将被输出到结果数据集中,其余部分将被排除。
命名空间:
SuperMap.Analyst.SpatialAnalyst程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
public static bool Intersect( DatasetVector dataset, DatasetVector intersectDataset, DatasetVector resultDataset, OverlayAnalystParameter parameter ) |
参数
- dataset
- Type: SuperMap.Data..::.DatasetVector
被相交叠加分析的数据集,该数据集的类型可以是点、线、面数据集。
- intersectDataset
- Type: SuperMap.Data..::.DatasetVector
用来相交叠加分析的数据集,该数据集必须是面数据集。
- resultDataset
- Type: SuperMap.Data..::.DatasetVector
存放分析结果的数据集。
- parameter
- Type: SuperMap.Analyst.SpatialAnalyst..::.OverlayAnalystParameter
叠加分析的参数对象,该对象用于设置分析时的保留字段等分析参数。
返回值
一个布尔值,如果成功返回 true,否则返回 false。备注
注意:
1、第一数据集的类型可以是点类型、线类型和面类型,第二数据集必须是面类型。第一数据集的特征对象(点、线和面)在与第二数据集中的多边形相交处被分裂(点对象除外),分裂结果被输出到结果数据集中。
2、 求交运算与裁剪运算得到的结果数据集的空间几何信息相同的,但是裁剪运算不对属性表做任何处理,而求交运算可以让用户选择需要保留的属性字段。
2、用于相交叠加分析的数据集、被相交叠加分析的数据集以及结果数据集的地理坐标系必须一致。
求交叠加分析示意图:
示例
以下代码示范了根据给定的被操作的面数据集、用于操作的面数据集和目标数据源进行相交方式的叠加分析。
CopyC#
public void OverlayAnalystIntersect(DatasetVector datasetOperated, DatasetVector datasetOperate, Datasource targetDatasource) { //创建一个面矢量数据集,用于存储相交分析获得的结果 String resultDatasetIntersectName = targetDatasource.Datasets.GetAvailableDatasetName("resultDatasetIntersect"); DatasetVectorInfo datasetvectorInfoIntersect = new DatasetVectorInfo(); datasetvectorInfoIntersect.Type = DatasetType.Region; datasetvectorInfoIntersect.Name = resultDatasetIntersectName; datasetvectorInfoIntersect.EncodeType = EncodeType.None; DatasetVector resultDatasetIntersect = targetDatasource.Datasets.Create(datasetvectorInfoIntersect); //设置叠加分析参数 OverlayAnalystParameter overlayAnalystParamIntersect = new OverlayAnalystParameter(); overlayAnalystParamIntersect.Tolerance = 0.0000011074; //调用相交叠加分析方法实相交分析 OverlayAnalyst.Intersect(datasetOperated, datasetOperate, resultDatasetIntersect, overlayAnalystParamIntersect); }