




已阅读5页,还剩149页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
. GIS应用开发deveringgispapplicationswitharcobjectsusingec #.net.教育目标,GIS应用开发课程是GIS研究生的重要专业课程,通过课程学习, 了解ArcGIS软件体系结构和arcgisengine组件配置,了解应用GIS开发的基本思路和技术方法,这些开发可以通过熟悉ArcObjects(ArcGISEngine )进行应用GIS开发。 Chap.3使用ArcObjects控件编程(6点),ArcGISEngine使开发人员能够快速构建具有GIS功能的独立应用程序要在VS.NET中使用ArcObjects,需要ESRIinterop程序集。 这些程序集连接主机. NET代码和非主机COM代码。 ESRIinterop程序集提供可以放置在. NET窗体中的控件,如AxMapControl、AxPageLayoutControl、AxTOCControl和AxToolbarControl (从AxHost类继承)。usingarcgisenginecontrollsinwinformssusingarcgisenginecontrollsinwpf, 本章包含map控制页布局控制TOC控制toolbar控制和相关对象control commands (symbologycontrolinchapter ) 是在WPF程序中使用ArcGISEngine控制,3.1 map控制对应于MapControl或ArcMap的数据视图,主要功能是空间数据阅览、空间数据可视化、空间查询、空间解析、空间数据编辑等。 在可视化环境中,可以在控件的“属性”页面上设置与控件相关的属性,也可以通过编程进行设置。 MapControl封装了Map对象,提供了用于管理控件外观、显示属性和映射属性的其他属性、方法和事件。添加和管理控件的“数据层”(data layers ) map文档(mxd ) 将数据从其他应用程序拖放到控件上。使用鼠标拖动几何图形以在屏幕上绘制。3.1.1map控制的主要接口map控制实现的主要接口是imapcontrolldefaultmapcontrol2IMAP控制3 IMAP控制4 (new in 9.2 ) imapcontrolnts2事件接口itocbuddyitoolbarbuddy3.1.1IMapControlDefault接口,imapcontroldefault接口是地图控件的默认入口由于MapControl是自动控件,因此放到容器(例如窗体)时,将自动生成一个称为axMapControl1的对象。 此对象可以直接使用在默认接口中定义的属性和方法。 此接口也表示控件的最新版本的接口。 最新版本的map控制的接口是IMAP控制4。 如果需要此接口,可以使用imapcontrolldefaultpmapcontroll=axmapcontrol1. objectasimapcontroldefault代码. IMapControl2.Extent:地图可见范围IMapControl2.FullExtent:地图中所有图层的独占范围.IMapControl4接口, IMapControl4设置控件的外观、设置Map对象和控件的显示属性、添加或管理图层和映射文档、在控件上绘制图形或返回Geometry等与MapControl相关的任务的、IMapControl2、IMapControl3和IMapControl4以及IMapControl3接口继承了IMapControl2,并添加了八个属性和方法: 自定义属性- -对象:使用此属性, 有用的资讯document filename-关联string:document map- string :在MapControl中最后载入的地图(map ),它会传回在MapControl中载入的地图文件的档案名称在返回名称的keyintercept-int:mapcontrol返回或设置剪辑键信息的Object-Object :返回潜在mapcontrol控件的VB.NET或C#.NET中使用IMapControl2时,为object 因为在. NET中,真正的控件被包装在宿主对象中。ShowMapTips-bool :确定是否显示贴图的maptipstipdelay-int:maptips延迟时间tip style- esritipstylel:map tips视觉样式SuppressResizeDrawing () 当控件大小改变时阻止实时重绘数据。与IMAP控制3相比,IMAP控制4阻止publiboosttokeybooardscroling get; set; :使用键盘上的“主页”(键盘36 )、“结束”(键盘35 )、“页下降”(键盘34 )、“页上升”(键盘33 )和箭头键(键盘37-40 )进行控制默认情况下,此属性为true。 大多数开发环境使用箭头键在窗体或容器中切换焦点控件。在这些开发环境中,默认情况下,MapControl接受箭头键,并且不会平移地图的显示。 若要使MapControl接收箭头键,并且贴图显示在屏幕上移动,请将KeyIntercept属性设定为“箭头键”(esriKeyInterceptArrowKeys ),并且将AutoKeyboardScrolling设定为true 、publiboomousewheelget; set; :确定鼠标滚轮是否用于显示缩放映射。默认情况下,此属性为true。引用控件本身使用IMAP控制2接口时: IMAP控制2 pmap控制=axmapcontrol1. objectasimapcontrol 2; 或IMAP控制2 pmap控制=axmapcontrol1. get ocx () asimapcontrol 2; 使用IMAP控制3接口: IMAP控制3 pmap控制=axmapcontrol1. objectasimapcontrol 3; 或者IMAP控制3 pmap控制=axmapcontrol1. get ocx () asimapcontrol 3;如果使用IMAP控制4接口: IMAP控制4 pmap控制; pmap控制=axmapcontrol1. objectasimapcontrol 4; 或pmap control=axmapcontrol1. get ocx () asimapcontrol 4; 使用箭头键、鼠标滚轮实现地图导航,使用箭头键实现地图axmapcontrol1. key intercept=(int ) esrikeyintercept.esrikeyintercepartrowkeys; axmapcontrol1. autokeyboardscrolling=true; 使用鼠标滚轮缩放地图axmapcontrol1. auto mouse wheel=true,axmapcontrol1. key intercept=(int ) esrikeyintercepartrows AutoKeyboardScrolling=true;IMapControlEvents2接口,iMapControlnts2是OnExtentUpdated或当映射的Extent (可见范围)属性改变时触发的事件,OnAfterscreenDraw是任务当地图复盖范围发生变化时,将触发OnFullExtentUpdated事件。 例如,将复盖范围大于原始贴图范围的图层添加到贴图中。 在大多数开发环境中,只需在控件的“属性”窗口中双击事件,即可自动将事件与处理方法相关联,而无需手动编写代码来注册事件。 ITOCBuddy此接口包括: 以下两种方法: getactiveewerreturnstheunderlingimplementingbasicmapandactiveview.thisisusedtopopulatethetoc.getoretreturnthese edBasicMap,thisallowsforobjectsthatdonotsupportimap . itoolbarbuddy objesthethethethethetootoolbarbuddyinterferacecanbepsedtothetothetotootootodolbarcontrol.thecontttototool ftheitolbarcontrol.buddy . samples:mapandpagelayoutsynchappmapcontrollmaptipsmapcontroleventsmapcontroldrawtextmapcontrolcadviews 组件:mscorlibformat是一个单一格式指示器,指示如何格式化此Guid的值。 格式参数可以是n、d、b或p。3.1.2 map控制和MXD文件,以及map控制可以“链接”或“包含”映射文档。 对于文档文件,可以使用LoadMxFile方法直接加载map控制控件。 这是最简单的方法。 您也可以使用在IMapDocument介面中定义的属性和方法来载入MXD档案。、以下是加载文档的示例-axMapControl1.LoadMxFile、privatevoidloadmapdocument () system.windows.forms.openfiledialogopenfiledialon openfile dialog2=newopenfiledialog () : openfile dialog2. title= openmapocument ; openfile dialog2.过滤器=映射文档(*.mxd )|*.mxd ; openFileDialog2.ShowDialog () : 字符串文件路径=openfile dialog2. filename; if (axmapcontrol1. checkmxfile (文件路径) ) axmapcontrol1. loadmxfile (文件路径,0,Type.Missing ); else else messagebox.show (文件路径 isnotavalidarcmapdocument ); return; 在使用控件(IMxDocument )开发的独立应用程序中,在ArcMap中使用的映射文档对象是MxDocument,其主要接口是MapDocument,所使用的映射文档对象是MapDocument IMapDocument界面定义了如何处理和管理文档对象以及如何处理和管理文档对象的属性。 MapDocument类别可以封装mxd、mxt和pmf等对映文件,也可以封装图层档案(*.lyr )。 此对象可用于检索和更新文档内容、设置文档文件的读写属性以及保存文档文件(*.mxd )。 IMxDocument和IMapDocument,I应用程序属性,方法, IMxDocument.ActivatedView和ActiveView属性在ArcMap布局视图状态下,可以将图形元素添加到页面布局或焦点图的图形元素容器中。 IMxDocument.ActiveView属性与imxdocument.activated视图属性不同,ActiveView属性引用PageLayout对象,activeed视图属性引用焦点映射对象在ArcMap的“数据视图”(dataview )状态下,ActiveView和ActivatedView属性引用焦点映射对象。imapdocumentm _ map document=newmmapdocumentclass () privatevoidload
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时间的脚印课件王晶
- 教务主任期中质量分析
- 护理常规培训内容
- 时钟造型基础知识培训课件
- 二零二五版房屋地基下沉修复赔偿合同
- 2025版出轨离婚赔偿金协议书(含法律咨询与执行)
- 二零二五年度房地产开发项目贷款合同范本正规范本
- 旭东化学课件获取
- 二零二五年度动产抵押消费贷款合同编写指南
- 高三试卷:四川省雅安市2024-2025学年高三上学期11月零诊试题数学答案
- 2025年海南省警务辅助人员招聘考试(公共基础知识)历年参考题库含答案详解(5套)
- 城市道路清扫保洁协议
- 2025年医学检验在编考试题库
- 2025年十八项医疗核心制度试题及答案
- 2025年四川省高考化学试卷真题
- 高考3500词汇表(完整版)
- 《建筑施工安全检查标准》JGJ59-20248
- 1931CIE标准色度三刺激值
- DBJ∕T 13-233-2016 混凝土结构加固修复用聚合物水泥砂浆施工及验收规程
- 万玮:《班主任兵法》
- 2MCL458离心式压缩机使用说明书
评论
0/150
提交评论