(精品)21资源环境信息系统(GIS07).ppt

上传人:s****8 文档编号:82693218 上传时间:2023-03-26 格式:PPT 页数:29 大小:2.33MB
返回 下载 相关 举报
(精品)21资源环境信息系统(GIS07).ppt_第1页
第1页 / 共29页
(精品)21资源环境信息系统(GIS07).ppt_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《(精品)21资源环境信息系统(GIS07).ppt》由会员分享,可在线阅读,更多相关《(精品)21资源环境信息系统(GIS07).ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

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

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

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

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

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

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

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

10、起来。后者则可通过分别设置TOCControl、MapControl和SpitContainer控件的Anchor属性为Top,Bottom,Left,Right来调整显示。调整后显示结果如下:步骤5:Visual C#在控件关联方面比其它开发软件更为简便,只需在工具栏及图层控件的属性框中设置与MapControl控件相关联即可。步骤6:再次运行程序,显示结果如下图。工具框中基本的GIS功能如放大、缩小、全屏、平移等工具都可用,也可以通过打开工具打开一幅mxd文档。图层框中图层信息亦可显示。至此,一个简单的给予C#和AE的框架就搭建成功了。三、小结通过以上几个步骤可轻松实现一个小型GIS系统框架的搭建,这也正体现了二次开发的便利之处。当然,这只是一个简单的系统框架,还远远不能满足GIS系统的要求:一方面系统界面的外观不够美观且过于简洁;另一方面系统的功能(如图与属性互查、空间分析功能等)还有待进一步完善。二次开发的关键之处在于熟悉控件的一些属性和方法,这可以通过安装AE时自带的帮助文档来查找。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁