用arcgis C#如何点选地图上的道路,并显示出道路的属性

来源:百度知道 编辑:UC知道 时间:2024/06/17 03:00:38
用arcgis C#如何点选地图上的道路,并显示出道路的属性
有没有相关代码呢?

要获取点选的道路的属性,至少需要两步:
第一步、获取点选的道路要素。
第二步、从要素中获取其各个字段的属性值。

第一步,获取点选要素,需要使用空间过滤接口ISpatialFilter,用你的鼠标当前位置--IPoint对象构建一个IEnvelope对象,这个IEnvelope的大小可以是6个像素值(ESRI的例子程序里就是用6个像素值),然后使用这个IEnvelope对象与道路进行相交查询过滤,得到点击位置这边的一个道路要素IFeature对象。

第二步,从获得的要素取其各个字段的属性。
道路在道路图层上(IFeatureClass)是一个IFeature对象,IFeatureClass有字段集,取IFields,可以得到每一个字段的索引,再使用IFeature.get_value(1)(//1是字段索引)得到每一个字段的属性值。

要显示道路属性,你自己做一个窗体,显示你取出来的每一个字段的属性值。

1.获取道路图层map.getLayer()?
2.用鼠标点获取道路图层的道路(用控件的方法,具体是啥子,忘了)
3.用feature.getValue(int index)获取想要的属性