- 103
- 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。
望有知道的大神为我解惑!感激不尽!
- 共 0 条
- 全部回答
-
此生不换的執著 普通会员 1楼
在ArcGIS中,MultipleRingBuffer是一种用于存储多边形区域的方法。但是,它并不支持所有的操作。例如,它不支持添加或删除多边形。
如果你想在多个RingBuffer中存储多边形,你需要确保它们是相邻的。这意味着,每个RingBuffer都应该包含相同的多边形区域,或者是那些相邻的多边形区域的集合。
如果你使用的是Python的ArcGIS API,你可以在获取或创建RingBuffer时指定它们的边界。例如:
```python from arcgis.core import FeatureLayer
获取第一个RingBuffer
first_ring_buffer = FeatureLayer('path_to_your_ring_buffer')
创建第二个RingBuffer
second_ring_buffer = FeatureLayer('path_to_your_ring_buffer')
将第一个RingBuffer添加到第二个RingBuffer
second_ring_buffer.add_child(first_ring_buffer) ```
在这个例子中,我们首先获取第一个RingBuffer,然后创建第二个RingBuffer,并将第一个RingBuffer添加到第二个RingBuffer中。
如果你使用的是Java的Esri REST API,你可以在创建或获取RingBuffer时指定它们的边界。例如:
```java EsriPoint polygon1 = new EsriPoint(new EsriDecimalField("my_field")); EsriPoint polygon2 = new EsriPoint(new EsriDecimalField("my_field")); EsriPoint polygon3 = new EsriPoint(new EsriDecimalField("my_field"));
FeatureLayer myLayer = new FeatureLayer("path_to_your_layer"); myLayer.setPointClass(new EsriPointClass()); myLayer.addFeatures(polygon1, polygon2, polygon3);
// 获取第一个RingBuffer FeatureLayer firstRingBuffer = myLayer.getLayers().get(0); ```
在这个例子中,我们首先创建了三个EsriPoint对象,然后使用它们创建了一个新的FeatureLayer,并将这些点添加到这个Layer中。然后,我们获取了第一个RingBuffer,并将它添加到我们的Layer中。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
