ArcGIS Add-in开发(一)--获取选定要素的属性值

时间:2023-03-09 16:42:30
ArcGIS Add-in开发(一)--获取选定要素的属性值

刚刚接触AE开发,记录一下自己的学习心得!

欢迎大家一起交流探讨!

最近做大赛,突然想到可以让项目更加直观的操作,就在项目中加了幅底图(底图很简单)

我想在arcmap中选中相应的要素后,在后台通过写代码的方式获取底图的属性表里面指定字段相应的值。

如图所示,我用arcmap工具栏上工具拉框选中我的目标要素(点220)

我想在后台获取他的属性表中“井号”字段的值

ArcGIS Add-in开发(一)--获取选定要素的属性值

            IMxDocument mxDoc = null;
ILayer layer = null;
if (ArcMap.Application.Document as IMxDocument != null)
{
mxDoc = ArcMap.Application.Document as IMxDocument;
}
IMap map = mxDoc.FocusMap; layer = GetLayer(map, "Point");
IFeatureLayer featureLayer = layer as IFeatureLayer;
IFeatureSelection featureSelection = featureLayer as IFeatureSelection;
long id = featureSelection.SelectionSet.IDs.Next();
IFeatureClass featureClass = featureLayer.FeatureClass; IQueryFilter queryFilter = new QueryFilterClass();
queryFilter.WhereClause = "OBJECTID =" + id;
int fieldPosition = featureClass.FindField("井号");
IFeatureCursor featureCursor = featureClass.Search(queryFilter, true);
IFeature feature = null;
while ((feature = featureCursor.NextFeature()) != null)
{
Form1 frm = new Form1(feature.get_Value(fieldPosition).ToString());
frm.Show();
}

其实add-in开发跟普通AE开发没什么区别,只不过宿主是arcmap罢了,小弟刚刚接触AE,欢迎大家交流啊!

OK,继续做事了,这时候很不淡定啊,班上的同学考研复习数学都搞完了,而我还没开始。。。。