




已阅读5页,还剩110页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章ArcGISEngine二次开发 矢量数据空间分析 在这一部分中 您将学习到鹰眼 缓冲区分析 叠置分析 地图编辑及网络分析等ArcGISEngine二次开发实例 1 鹰眼鹰眼功能是GIS的主要功能之一 当地图范围很大时 它可以很好的为用户指明当前地图的范围 在本小节中我们将学习如何制作这种鹰眼 1 鹰眼 1 1添加控件及代码新建一个VB Net项目 在其中Form1添加如下控件 1 MenuStrip2 OpenFileDialog3 ToolbarControl4 MapControl5 TOCControl 如下图所示 为ToolbarControl添加地图浏览的功能按钮 如放大 缩小 漫游等为MenuStrip中添加两个菜单 双击菜单栏中的 打开MXD文件 添加打开代码 DimsFilePathAsString 调用OpenFileDialog 获取文件路径并打开地图文件OpenFileDialog1 FileName OpenFileDialog1 Title 打开地图文件 OpenFileDialog1 Filter MapDocument mxd mxd IfOpenFileDialog1 ShowDialog Windows Forms DialogResult OKThensFilePath OpenFileDialog1 FileNameFilePath sFilePathIfNotsFilePath ThenMe AxMapControl1 LoadMxFile sFilePath EndIfEndIfMe AxMapControl1 Extent Me AxMapControl1 FullExtent 在MapControl的事件中选择OnExtentUpdated事件并添加代码 PrivateSubAxMapControl1 OnExtentUpdated ByValsenderAsObject ByValeAsESRI ArcGIS Controls IMapControlEvents2 OnExtentUpdatedEvent HandlesAxMapControl1 OnExtentUpdatedDimpEnvAsIEnvelopepEnv e newEnvelopeDimpGraAsIGraphicsContainerDimpAvAsIActiveViewpGra Form2 AxMapControl1 MappAv pGra pGra DeleteAllElements DimpRectangleEleAsIRectangleElementpRectangleEle NewRectangleElementDimpEleAsIElementpEle pRectangleElepEle Geometry pEnvDimpColorAsIRgbColorpColor NewRgbColorpColor RGB RGB 255 0 0 pColor Transparency 255DimpOutlineAsILineSymbolpOutline NewSimpleLineSymbolpOutline Width 1pOutline Color pColorpColor NewRgbColorpColor RGB RGB 255 0 0 pColor Transparency 0 DimpFillSymbolAsIFillSymbolpFillSymbol NewSimpleFillSymbolpFillSymbol Color pColorpFillSymbol Outline pOutlineDimpFillShapeEleAsIFillShapeElementpFillShapeEle pElepFillShapeEle Symbol pFillSymbolpGra AddElement pFillShapeEle 0 pAv PartialRefresh esriViewDrawPhase esriViewGraphics Nothing Nothing EndSub 为工程新建一个窗体Form2 在Form2中添加第二个MapControl控件并添加如下引用 ImportsESRI ArcGIS Geometry在Form2的FormLoad事件中为Form2的MapControl控件添加地图数据 PrivateSubForm2 Load ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesMyBase LoadIfForm1 FilePath ThenExitSubEndIfMe AxMapControl1 LoadMxFile Form1 FilePath Me AxMapControl1 Extent Me AxMapControl1 FullExtentEndSub 为Form2添加OnMouseDown事件 并在实践中添加如下代码 PrivateSubAxMapControl1 OnMouseDown ByValsenderAsObject ByValeAsESRI ArcGIS Controls IMapControlEvents2 OnMouseDownEvent HandlesAxMapControl1 OnMouseDownDimpPtAsIPointDimpEnvAsIEnvelopepPt NewPointpPt PutCoords e mapX e mapY 改变主控件的视图范围pEnv Form1 AxMapControl1 ExtentpEnv CenterAt pPt Form1 AxMapControl1 Extent pEnvEndSub 双击Form1菜单栏中的 打开略缩图 添加如下代码 Form2 Show 运行 添加地图数据得到如下效果 1 3小结在本小节中 我们实现了鹰眼功能 这部分的重点是鹰眼视图和主视图之间的事件交互 推荐您仔细结合例子程序查看代码 如果需要获得进一步的信息 请查看帮助系统 如果您对这一小节的内容比较熟悉了 就可以开始学习本章最后一小节的内容了 在下一小节中 我们将尝试添加缓冲区分析功能 2 缓冲区分析缓冲区分析指为了识别某一地理实体或空间物体对其周围地物影响度而在其周围建立的具有一定宽度的区域 以确定哪些实体落在了被影响的区域范围之内 下面是一个简单的缓冲区分析的示例 2 1添加控件新建一个VB Net项目 向Form1中添加如下控件 MenuStrip ToolbarControl MapControl和LicenseControl 结果见上鹰眼程序 为ToolbarControl添加地图浏览的功能按钮 包括添加数据 添加图层 放大 缩小 漫游等首先通过Generic下设置Buddy项 将ToolbarControl和MapControl绑定 如下图 其它部分不变 然后在Items选项中 点击Add按钮 添加功能按钮 如图 然后在解决方案中右键工程 添加 Windows窗体 然后点击VisualBasic选项 选择对话框 改其名称为Tolerance vb 再点添加 即向工程添加了一个对话框 用于接收用户输入缓冲半径 如下两图 接着对向对话框中添加两个Textbox控件和两个Label控件 一个Button控件 图中的 确定 和 取消 是 NET自动生成 将Label控件的Text属性分别设置为图上名称 将Textbox2控件的Name改为OutputPathText 并将其ReadOnly属性设为True 对Textbox1不做修改 结果如下 至此 界面设置基本完成 下面开始添加引用和代码 2 2添加引用和代码这里进行缓冲区分析主要用到了AnalysisTools Geoprocessing和Geoprocessor类库 首先添加它们的引用 方法类似上面的鹰眼程序和下面的叠置分析 同时必须引用Carto Geometry和GeodataBase 如下 双击菜单栏上的缓冲区分析 添加如下代码 PrivateSub缓冲区分析ToolStripMenuItem Click ByValsenderAsSystem Object ByValeAsSystem EventArgs Handles缓冲区分析ToolStripMenuItem ClickTolerance Show EndSub 双击确定按钮 添加代码 代码添加完毕 运行示例如下两图 2 4小结用户运行时 首先需要向Map中添加shp文件 如果没有 程序会提示 缓冲区分析也是GIS中最基本的空间分析之一 这里主要调用了AE中的Geoprocessor中的Buffer方法进行缓冲区分析 下面接着叠置分析 3 叠置分析叠置分析是Gis中一种常见的分析功能 主要有叠置求和与叠置求交 叠置裁剪Clip方法在破解9 2版本下运行有问题 这里不介绍 下图反映了叠置求和的原理 AE中进行叠置分析的接口为IBasicGeoprocessor 可以通过该接口调用Union和Interset方法进行分析 叠置分析过程中很重要的一点就是 进行叠置的图层必须具有相同的坐标系统和比例尺 程序运行前首先需要在C盘下新建一个名为temp的文件夹 存放叠置分析生成的文件 下面是一个叠置分析的示例 3 1添加控件创建一个新VB工程 向Form1中拖放一个LicenseControl和MapControl以及两个Button控件 如下图 然后对MapControl控件的属性进行设置 将进行叠置分析的两图层绑定到其中 对两个Button控件进行设置 更改Text属性分别为 叠置求和和叠置求交 更改它们的名称分别为 Overlay Union Overlay Intersect 3 2添加引用和代码向工程中添加SystemUI System Geometry GeoDatabase Display DataSourcefile DataSourceGDB Carto和Controls对象的引用 如下图 最后是为两种种不同叠置方法添加代码 依次双击叠置求和与叠置求交 在相应的区域添加函数调用 以叠置求和为例 其中 Overlay Union是给叠置求和按钮定义的名称 Union 是定义的求交函数 这里表示调用函数 求交函数Union 中输入以下代码 运行结果如下 以叠置求和为例 3 4小结其中的分析数据states shp是ArcGIS软件本身自带数据 而AnalysisShapefile shp文件是自己创建的叠置分析文件 利用ArcCatalog在选定的文件夹中新建一个shp文件 选定为Polygon 设置坐标系统与states shp文件一致 在ArcMap中对其进行编辑 保存即可 叠置分析是将同一地区 同一比例尺的两个或两个以上数据层进行叠置 生成一个新的数据层 使新数据层的各要素具有各叠置层要素的多重属性或与之相关联的属性信息的一种空间分析方法 这里重点是同一地区 同一比例尺 当然坐标系统还必须一致 上面就是叠置分析中最常见的两种方法 4 地图编辑地图编辑主要会应用到IWorkspaceEdit接口 IFeatureClass接口 IFeatureBuffer接口 IFeatureCursor接口 IGeomery接口 IDisplpyFeedback接口 以及各种要素移动接口如IMoveGeometryFeedback ILineMovePointFeedback等 另外还有IHitTest接口和ITopologicalOperator接口等等 当然如果想要进行更为复杂的编辑功能 会应用到更多的接口 下面是一个地图编辑实例 4 1添加控件新建一个VB工程 向Form中拖放一个LicenseControl AxMapControl 然后向其中添加8个Button控件 两个Label控件和两个ComboBox控件 对各控件属性进行修改 得到的组织如下图 4 4小结地图编辑的GIS中比较复杂和困难的环节 涉及到的对象和接口非常多 上面实例只是实现了最基础的编辑的活动 如果读者对二次开发感兴趣 可以自己试着阅读GIS二次开发相关书籍 了解与编辑相关的接口和方法 自己实现 下面是最后一个环节 网络分析 网络分析在ArcGIS中 网络是由一组边和接点按照一定的拓扑关系彼此连接而成的 边是具有一定长度和物流的网络要素 接点是两条或两条以上边的交汇处 实现两条边之间的物流的转换 边与接点是网络的两类基本组成要素 ArcGIS所涉及的网络 是由一系列要素类别组成的 可以度量并能够用图形形式表达的网络 所以又称为几何网络 GeometricNetwork 组成几何网络的各要素被限制存在于网络中 作为网络要素 NetworkFeature ArcGIS自动维护几何网络要素之间的基于几何的一致性拓扑关系 本节中的网络分析包括两个模块 网络生成和进行网络分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管理学组织与团队核心考点试卷训练
- 航空器维修技术规范与标准
- 宜昌国企考试试题及答案
- 沂水编制考试试题及答案
- 医院收费考试试题及答案
- 六一公司工会活动方案
- 六一吃大餐活动方案
- 六一城堡活动方案
- 六一居家趣味活动方案
- 六一庙会活动方案
- 2025年重庆市中考地理试题 (解析版)
- GB/T 14598.2-2025量度继电器和保护装置第1部分:通用要求
- 重庆市渝北区2023-2024学年七年级下学期期末语文试题(解析版)
- DB13T 1349-2010 超贫磁铁矿勘查技术规范
- 2024年上海市研发公共服务平台管理中心招聘笔试真题
- 时尚饮品店场地租赁与饮品品牌入驻合同
- 2024年青海省囊谦县事业单位公开招聘辅警考试题带答案分析
- 《大学生职业生涯发展与规划》电子教案-第六章 工作世界探索
- 上海市宝山区2023-2024学年六年级下学期期末语文试题(解析版)
- 河南省TOP二十名校2025届高三猜题大联考物理试题(含答案)
- GA/T 2158-2024法庭科学资金数据获取规程
评论
0/150
提交评论