- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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属性值本篇完,所有文档和代码均为原创,可以下载,谢绝转载!
您可能关注的文档
最近下载
- 国家开放大学2023年7月期末统一试《11167环境水利学》试题及答案-开放本科.pdf VIP
- 四川省南充市2023-2024学年高一上学期期末考试 数学 Word版含解析.docx
- 饭店装修工程报价预算表EXCEL模板(完整版) .pdf VIP
- 最新GBT29490-2023企业知识产权管理体系全套文件(手册+程序文件).pdf VIP
- 2024年病历书写管理规定.docx VIP
- 部编人教版七年级地理(上册)期末复习题及答案.doc VIP
- 人民教师光荣退休仪式活动方案.doc
- 商务数据分析与应用完整全套教学课件(1).pptx
- 鲁教五四学制版九年级美术上册《勾皴点染绘山水》教案及教学反思.docx VIP
- 明朝官職表大全(写历史小说必备(.pdf
文档评论(0)