关于调用ArcGIS中孤立图斑提取 C#开发
时间: 2023-09-17 09:07:23 浏览: 128
利用ArcGIS Engine c# 的二次开发
5星 · 资源好评率100%
好的,关于在C#开发中调用ArcGIS中的孤立图斑提取,您可以使用ArcObjects中的Geoprocessor对象来调用该工具。以下是示例代码:
```csharp
using ESRI.ArcGIS.Geoprocessor;
using ESRI.ArcGIS.AnalysisTools;
using ESRI.ArcGIS.Carto;
// 获取当前地图文档
IMapDocument mapDocument = new MapDocumentClass();
mapDocument.Open(@"C:\data\map.mxd");
IMap map = mapDocument.ActiveView.FocusMap;
// 创建Geoprocessor对象
Geoprocessor gp = new Geoprocessor();
// 设置工作空间
gp.SetEnvironmentValue("workspace", @"C:\data");
// 定义输入要素
string in_features = @"C:\data\input.shp";
// 定义输出要素
string out_features = @"C:\data\output.shp";
// 创建ExtractByAttributes工具对象
ExtractByAttributes extractByAttributes = new ExtractByAttributes();
extractByAttributes.in_features = in_features;
extractByAttributes.out_feature_class = out_features;
extractByAttributes.where_clause = "FID IN(SELECT FID FROM input GROUP BY FID HAVING COUNT(*) = 1)";
// 执行ExtractByAttributes工具
gp.Execute(extractByAttributes, null);
```
以上代码中,我们首先获取当前地图文档,然后创建Geoprocessor对象并设置工作空间。接着,我们定义输入要素和输出要素,并创建ExtractByAttributes工具对象。在这里,我们设置where_clause参数来过滤孤立的图斑。最后,我们通过执行Geoprocessor对象的Execute方法来执行该工具。
希望这个示例代码可以帮助您完成在C#开发中调用ArcGIS中孤立图斑提取的任务。
阅读全文