网站大量收购闲置独家精品文档,联系QQ:2885784924

ArcEngine开发篇(原创)-建立范例程序并读取属性数据.docx

ArcEngine开发篇(原创)-建立范例程序并读取属性数据.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ArcEngine开发篇(原创)-建立范例程序并读取属性数据

ArcEngine开发篇——建立范例程序并读取属性数据开发环境:ArcEngine10.0(AE9.0只需更改几个引用信息即可),win7 64位(32位通用,在win7开发时,请点击项目属性,然后选择生成,将目标平台更改为x86),VS2008+C#本篇介绍如何在VC2008环境下,用C#建立ArcEngine范例程序并可以读取属性数据1建立范例程序如上图,新建项目-Visual C#-ArcGIS-Extending Arcobjects,然后在右边选择MapControl Application,范例程序即建立完成。点击视图-解决方案管理器,双击MainForm.cs,即可看到刚才建立的程序,如下图选择菜单项目,然后点击最下面一行,此处为MapControlApplication2属性,然后选择生成,将目标平台选择为x86(此处为64位win7才需要调整,32位略去)我们此时可以直接点击调试-开始执行(不调试),可以运行程序。单击“+”号,即可添加shp数据集,如下图(旧金山街道)2.读取shp数据集属性数据首先我们添加一个工具条ToolStrip,然后在工具条上添加一个按钮,点击这个按钮,我们就可以逐条道路以对话框形式弹出其NAME这个属性值(注意:在本处street的shp数据集中有NAME这个属性字段)。如上图,在公共容器中选择工具条控件ToolStrip,然后拖到右边的地图控件上边,然后点击工具条左边的新建按钮,新增一个按钮,我们取名为GetAttBtn,右键按钮,选择属性,然后在属性框中的最上面(Name)更改为GetAttBtn,在下面的Text更改为“点击显示属性”,如下图,然后双击按钮,为其添加响应函数。在上面的响应函数中我们暂时只添加一个对话框测试。如上图。测试效果如下图下面我们将真正实现显示属性。先将对话框注释掉添加ArcGIS引用,选择项目-添加引用,在.NET选项卡中选择ESRI.ArcGIS.Geodatabase,如下图,然后在代码最上面(类外)添加一句using ESRI.ArcGIS.Geodatabase;请看下面的代码(全部添加到注释掉的对话框代码的下面即可,即添加到按钮所对应的函数中即可)ILayer pLayer = axMapControl1.get_Layer(0);//得到当前地图窗口的第一个图层IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer;//得到要素层///////////////////////////////////这里先得到Name是第几个属性字段//得到字段的索引值string fieldName = NAME;//定义属性字段名称IFields tIFields = pFeatureLayer.FeatureClass.Fields;//得到当前图层属性字段集int nFieldIndex = tIFields.FindField(fieldName);//得到属性字段索引/////////////////////////////////IFeatureCursor pFeatureCursor = pFeatureLayer.Search(null, false);//将迭代光标设置到要素集头IFeature pFeature = pFeatureCursor.NextFeature();//得到下一条要素(注:也是第一条要素)while (pFeature != null){string strName = Convert.ToString(pFeature.get_Value(nFieldIndex));//得到属性字段索引值为nFieldIndex的属性值 MessageBox.Show(strName);//以对话框的形式弹出属性值 pFeature = pFeatureCursor.NextFeature();//将迭代指针移动到下一条要素}效果如下图:上面弹出的对话框显示的是第一条要素的NAME属性值本篇完,所有文档和代码均为原创,可以下载,谢绝转载!

文档评论(0)

haocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档