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
。
望有知道的大神为我解惑!感激不尽!