调用GP工具生成缓冲区分析
创建菜单栏或者按钮,设置点击事件加载代码即可,注意需要导入对应的动态链接库(.dll)
/// GP工具调用,生成缓冲区
private void btnGPBuffer_Click(object sender, EventArgs e)
{
try
{
//缓冲区分析-GP工具调用
Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;//是否产生输出文件
//调用缓冲区工具
ESRI.ArcGIS.AnalysisTools.Buffer pBuffer = new ESRI.ArcGIS.AnalysisTools.Buffer();
//获取缓冲区分析图层
ILayer pLayer = axMapControl1.get_Layer(0);
IFeatureLayer featLayer = pLayer as IFeatureLayer;
//输入要缓冲的FeatureLayer
pBuffer.in_features = featLayer;
//如果路径或文件夹不存在会报错
string filepath = @"c:\dat\";
//设置生成结果存储路径
pBuffer.out_feature_class = filepath + "\\" + pLayer.Name + ".shp";
//设置缓冲区距离_这里设置为500米
pBuffer.buffer_distance_or_field = "500 Meters";
//生成的要素是否融合,这里选择ALL,也可以选择None、List
pBuffer.dissolve_option = "ALL";
//执行缓冲区分析
gp.Execute(pBuffer, null);
//将生成结果添加到地图中
axMapControl1.AddShapeFile(filepath, pLayer.Name);
axMapControl1.MoveLayerTo(0, 0);
}
catch {}
}