ArcEngine开发篇(原创)-建立范例程序并读取属数据.docx_第1页
ArcEngine开发篇(原创)-建立范例程序并读取属数据.docx_第2页
ArcEngine开发篇(原创)-建立范例程序并读取属数据.docx_第3页
ArcEngine开发篇(原创)-建立范例程序并读取属数据.docx_第4页
ArcEngine开发篇(原创)-建立范例程序并读取属数据.docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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.Nex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论