21资源环境信息系统GIS07_第1页
21资源环境信息系统GIS07_第2页
21资源环境信息系统GIS07_第3页
21资源环境信息系统GIS07_第4页
21资源环境信息系统GIS07_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、基于C#和ArcEngine的二次开发1AE的组成结构AE组件开发平台由开发包(Developer Kit)和运行环境(Runtime)两部分组成:ArcGIS EngineEngine运行环境(Runtime)Engine开发包(Developer Kit)空间分析选项三维选项Geodatabase更新选项StreetMap选项控件工具条和工具对象库2(1)RuntimeEngine运行环境它是运行自定义Engine应用的可分发的ArcObjects。它包含了ArcObjects的核心组件,提供所有ArcGIS应用程序所需的核心功能,为执行用户定制的ArcGIS Engine应用程序提供运行

2、环境,其必须随着定制的应用程序一起安装。它除了提供所有ArcGIS应用程序的核心功能外,还可以通过使用其可选项而得到增强:空间分析选项扩展增加了栅格空间处理功能;三维选项扩展增加了3D分析和可视化功能;Geodatabase更新选项扩展增加了对Geodatabase的写入和更新能力;StreetMap USA选项提供遍布美国的地址道路及市街地图呈现。3(2)Engine开发包(Developer Kid)它是一套让开发者自定义GIS和制图应用的工具,这些定制的应用程序可在脱离ArcGIS Desktop环境下单独执行,它包含了支持开发任务所需要的所有开发资源。它包括以下三个关键部分: 1)控件

3、:是ArcGIS用户界面的组成部分,开发人员可以嵌入并在应用程序中使用。例如,在自己的应用程序中加入MapControl和TocControl控件来显示地图,并对其进行交互式运用。AE的控件包括:MapControl、PageLayoutControl、ReaderControl、TocControl、ToolbarControl、GlobeControl、SceneControl。42)工具条:是GIS工具的集合,在应用程序中用它来实现和地图、地理信息的交互。工具包括:平移、缩放、点击查询和与地图交互的各种选择工具。通过调用一套丰富的工具和工具条,建立定制应用的过程被简化,开发者可以很容易地

4、将选择的工具拖放到定制应用中或创建自己定制的工具来实现与地图的交互。3)对象库:是可编程的AO组件的集合,包括从几何图形到制图、GIS数据源和Geodatabase等一系列库。这些AO库支持所有的ArcGIS功能,并且可以通过大多数通用的开发环境来访问。5AE与AO、MO比较相对于AO: AO是ArcGIS Desktop版本的组件开发集,包括了所有的类库。其中所含的ArcMap、ArcMapUI、ArcCatalog、ArcCatalogUI等组件库必须在安装了ArcGIS Desktop版软件后才能使用,这使得AO的开发成本大大增加。为此,ESRI将AO中的某些组件集单独封装出来,形成独立

5、于ArcGIS平台的嵌入式组件库,即为AE。使用AE开发的软件仅需要在Runtime下运行,而不需要安装ArcGIS软件。 可以说,AE是AO的一个子集,使用AE开发的软件,在AO环境中使用没有问题,但是AO开发的程序,如果使用的组件库不被包含在AE中,就无法使用,比如IdentifyDialog对象,就是只有在AO中才能使用。另外,AO版本的控件只有MapControl 和PageLayout两个,而AE的控件则丰富得多。6相对于MO: AE与MO相比较,具有以下几方面优点: 1)能够读/写Geodatabase注记,栅格,自定义要素等; 2)能够读/写MXD文件; 3)更好的标注; 4)更

6、好的编辑; 5)更多的符号和风格; 6)支持ArcIMS和ArcGIS Server的服务; 7)高级的功能(3D,Globe和Spatial); 8)以AO为基础; 9)可以使用ArcMap来创建地图。7基于C#和AE的二次开发 简单实例(框架搭建)系统运行结果及功能介绍系统创建过程小结8一、系统运行结果及功能介绍此实例是以ArcEngine9.2为平台,在Visual C#的集成开发环境下进行开发的一个简单实例。目的是让大家初步了解二次开发的大致过程。此实例要求达到的功能是:搭建系统的基本框架,实现地图控件(MapControl)、工具栏控件(ToolbarControl)、图层管理控件(

7、TocControl)之间的交互操作,同时实现地图加载、全屏显示、放大、缩小、漫游等基本的GIS功能。系统最后运行效果和实现的功能如图所示:9系统框架10放 大11缩 小12二、系统创建过程新建Windows窗体应用项目添加控件、设置控件属性及设置控件间关联系统运行131 新建工程步骤1:启动Visual C#,新建一个名为myGIS的Windows窗体应用项目。14步骤2:在窗体上右键点击“属性”菜单项,显示属性窗口。修改窗体相关属性,改变窗体大小、名称等。15步骤3:编译链接并运行后(编译按钮 )可以看到一个窗体框架就建好了。162 添加控件并设置控件间关联步骤1:打开工具箱。工程生成时工

8、具箱以默认自动隐藏形式显示在窗口左侧。若工具箱未显示,可以在视图菜单中选中“工具箱”菜单项,将其显示出来。 17步骤2:选择相关控件,将控件拖动到窗体中相关位置。(1)菜单控件(MenuStrip)。设置相关菜单名如下图所示:18(2)AE相关控件。先添加工具条控件ToolbarControl。为了使窗口显示美观,在添加TOCControl和MapControl控件前可以先添加SpitContainer控件。添加后发现有红色警告。这时需要将LicenseControl添加进来,以确保AE相关控件可用。1920步骤3:设置控件相关属性。(1)设置MapControl控件属性,即可设置MapCon

9、torl外观显示形式:在控件上右键选择“属性”,打开MapControl控件属性对话框进行设置。这里可以设置在MapControl中默认打开的地图21(2)设置TOCControl控件的属性:同样在该控件上右键,在控件上右键选择“属性”,打开TOCControl控件属性对话框进行设置。22(3)设置ToolbarControl控件的属性:在属性对话框的Items一项中设置要添加的工具。点击Add按钮,在弹出的窗口中找到要添加的工具,双击该工具或是直接拖曳该工具到工具条中即可。23步骤4:运行程序,发现工具条上的工具显示为灰色不可用、图层框中也未显示图层。且当最大化窗口时,图层和影像显示区域不随

10、窗口的改变而改变。前者是因为工具栏和图层控件还没有和地图控件关联起来。后者则可通过分别设置TOCControl、MapControl和SpitContainer控件的Anchor属性为Top,Bottom,Left,Right来调整显示。2425调整后显示结果如下:26步骤5:Visual C#在控件关联方面比其它开发软件更为简便,只需在工具栏及图层控件的属性框中设置与MapControl控件相关联即可。27步骤6:再次运行程序,显示结果如下图。工具框中基本的GIS功能如放大、缩小、全屏、平移等工具都可用,也可以通过打开工具打开一幅mxd文档。图层框中图层信息亦可显示。至此,一个简单的给予C#和AE的框架就搭建成功了。28三、小结通过以上几个步骤可轻松实现一个小型GI

温馨提示

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

评论

0/150

提交评论