ArcGIS MultipleRingBuffer的参数使用问题

发布于 2022-09-06 15:44:40 字数 963 浏览 16 评论 0

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文