__ 最近在做GIS二次开发的作业,疯狂打开文件夹找局部代码。我现在决定发一部分出来,学生党作业都要交,所以发的可以用,(以前被长篇代码忽悠怕了 看到最后说麻烦大家帮我改改、、、、)欢迎大家和我探讨。__
private void btnBuffer_Click(object sender, EventArgs e)
{
ILayer pLayer = axMapControl1.get_Layer(0);
IFeatureLayer featureLayer = pLayer as IFeatureLayer;
ESRI.ArcGIS.Geoprocessing.IGeoProcessor2 gp = new ESRI.ArcGIS.Geoprocessing.GeoProcessorClass();
IVariantArray parameters = new VarArray();
parameters.Add(@"E:\\new\\data\\" + pLayer.Name + ".shp");
parameters.Add(@"E:\\new\\data\\" + pLayer.Name + "_buffer.shp");
parameters.Add("800 Meters");
try
{
gp.Execute("Buffer_analysis", parameters, null);
//执行此操作之前要确保该路径下无同名文件
axMapControl1.AddShapeFile(@"E:\\new\\data\\", pLayer.Name + "_buffer.shp");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
为啥大段的复制会让我死机,迷惑,拆了几次排版还那么乱。另一个下次再发、
######可能出现的问题
如果出现COM组件不能用,可能是语句顺序有问题,或者是参数设置有问题。
对象没有实例化:可能是图层没有找到,调试的时候用Watch看的话IFeatureLayer应该为空。
期末太忙了,假期再整理