ArcGIS MultipleRingBuffer的参数使用问题

新手上路,请多包涵
private IFeatureLayer featureLayer;
...
ILayer layer = rasterHelper.getLayerFromName(comboBoxLayers.SelectedItem.ToString());
featureLayer = layer as IFeatureLayer;
...
Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
ESRI.ArcGIS.AnalysisTools.MultipleRingBuffer multipleRingBuffer = new ESRI.ArcGIS.AnalysisTools.MultipleRingBuffer();
multipleRingBuffer.Input_Features = featureLayer;
multipleRingBuffer.Distances = distances;
gp.Execute(multipleRingBuffer, null);

如上图代码,首先定义了一个IFeatureLayer类型变量,然后在别的地方进行赋值了。
最后调用gp工具调用,但是结果会失败,经过研究分析有两个问题。
1.Distances参数问题,刚开始使用了distances = "1,2,3",失败。最后确认该参数格式应该为distances = "1;2;3"
2.Input_Features参数问题,改参数使用绝对路径的shapefile文件就能完成执行(如:C:temp.shp),但是使用IFeatureLayer类型则会出错。为什么?有没有不使用绝对路径的方法呢?
注:Input_Features对象类型为object

望有知道的大神为我解惑!感激不尽!

阅读 3.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进