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

地理信息系统工程实验汇报.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
地理信息系统工程实验报告(二) 一、实验内容 本次实验在上次实验所创建项目的基础上进行,围绕鹰眼窗口的地图同步功能的实现过程展开,通过学习 MapControl 控件的事件处理过程,了解事件处理的基本概念和调用结构;通过学习 Map 组件的事件处理过程,了解利用程序代码处理组件事件;了解“事件驱动”模式的基本概念,了解事件处理的控制流程及其涉及的主要部分,了解事件处理函数的定义规则和作用,学会利用时序图表达事件处理过程,学会通过编写代码的方式自定义事件委托和事件处理函数的基本方法。 二、实验原理方案 “事件驱动”——“事件驱动”是一种常用的交互式程序控制模式,“事件”通常代表程序对象的某些特殊状态,这些状态是其他交互对象或者外界交互设备所关注的,它们可以根据这些状态做出特定的响应,那么程序对象就需要一种机制能够在这些特殊状态发生时通知其他交互方,而其他交互方也需要能自由选择对应的响应行为,这种机制就是“事件处理”机制。 如果将主窗口看作被控制方,将鹰眼窗口看作控制方,则同步过程可以看作一种典型的事件处理过程,由控制方监听被控制方的“加载地图”事件,然后在事件响应中加载与被控制方相同的地图数据。 “触发” “事件监听” “事件处理函数” “事件响应” 三、实验器材 计算机 vs2010 AE10.1 四、实验步骤 1、打开上次的工程文件MyGISProgress; 2、在工具栏中找到属性按钮标签,单击,再在窗体体设计窗口中单击Form1窗口,查看相应的属性找到“”事件标签并单击,然后双击Load; 3、按照2中的类似方式打开MapControl1的OnMapReplaced事件并双击打开代码编辑。 五、实验结果分析 能进行交互操作 问题:鹰眼窗口和主地图窗口都是不可修改的内置事件,所以要交互必须要有一个中间过渡 get_Layer的问题 既然 ItemAdded 表示添加一个新图层的事件,为什么没有命名为更直接的LayerAdded? 通常地图都需要加上一个鹰眼,要实现鹰眼功能,不可避免的就需要实现主地图和鹰眼的同步。令人失望的是ArcGIS的帮助文档和范例中都采用同时在主地图和鹰眼中加载mxd文档的方式来实现同步??,确切的说,这样只是加载了地图,并没有实现同步。如果程序启动后并没有加载任何地图文档,而只是添加图层,那么这种处理方式就暴露马脚了。其实会出问题的不仅仅是这种情况,当我们修改主地图的符号、样式等时,也会有问题,因此我们必须使用同步加载图层的方式来才能实现主图和鹰眼的同步。所谓同步加载图层,就是指直接在鹰眼中加载主图的图层,同步就是指主地图中的图层发生变化时这些变化也都要反映到鹰眼中去。 ? ? 加载mxd文档好办,根据AE的帮助说明,当加载mxd文档后,MapControl会触发OnMapReplaced事件,我们可以在这个事件中添加相应的处理。但是当添加图层时,MapControl并没有并没有LayerAdded之类的事件,这种情况下,如果要同步鹰眼和主地图,就需要捕获类似于LayerAdded之类的事件。如何实现呢,答案就是IActiveViewEvents,具体如下: 添加事件对InitializeComponent 方法的影响,“+=”操作符 The operation was attempted on an empty geometry. 六、实验小结 地理信息工程实验报告(三) 一、实验内容 本实验是在上一实验的鹰眼窗口中进行对图形元素的操作,实现在鹰眼窗口中实时显示地图主窗口显示范围标志,并能在鹰眼中利用鼠标控制矩形框来控制主窗口地图显示范围,主要利用到IEnvelope 接口类型的组件对象,进行矩形框的代码编写(在上一实验中其实已经实现);了解 Map 组件在数据管理上的图层化结构,掌握AO 组件显示空间数据的基本模式:几何图形+显示符号,了解并熟练掌握IGraphicsContainer,IRectangleElement,IElement,ILineSymbol,IFillSymbol等一些与图形元素绘制相关接口的应用。 二、实验原理 1、在 AO 组件库中只有一个组件实现了 IEnvelope接口,即 Envelope 组件,它表示了一种特殊的矩形,这种矩形的边框与显示窗口的边框是平行的,常常用来表达其他空间图形的最小外包矩形(MER),在本实验中我们可以获取地图主窗口的 Extent 属性并将其矩形绘制在鹰眼窗口中,这样就实现了在鹰眼中标志地图显示范围的效果。 2、Element元素对象是一个非常庞杂的对象集合,主要分为两大部分:图形元素(Graphic Element)和框架元素(Frame Element),本实验我们主要讨论应用图形元

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档