地理信息系统基本功能开发技术课件

上传人:q****9 文档编号:178936133 上传时间:2021-04-07 格式:PPT 页数:96 大小:2.24MB
返回 下载 相关 举报
地理信息系统基本功能开发技术课件_第1页
第1页 / 共96页
地理信息系统基本功能开发技术课件_第2页
第2页 / 共96页
地理信息系统基本功能开发技术课件_第3页
第3页 / 共96页
地理信息系统基本功能开发技术课件_第4页
第4页 / 共96页
地理信息系统基本功能开发技术课件_第5页
第5页 / 共96页
点击查看更多>>
资源描述

《地理信息系统基本功能开发技术课件》由会员分享,可在线阅读,更多相关《地理信息系统基本功能开发技术课件(96页珍藏版)》请在金锄头文库上搜索。

1、GIS设计与开发,草环学院农资系 努尔麦麦提.艾尔肯 2014年3月,第二章GIS基本功能开发技术,主要内容 ArcGIS开发平台介绍 ArcGIS Engine的组件 GIS基本功能开发 信息检索功能的设计与实现,1,ArcGIS 产品组成,四个关键部分,ArcGIS Desktop,ArcGIS Engine,ArcGIS Server,ArcIMS,ArcGIS,第一节 ArcGIS 开发平台介绍,2.1.1,ArcGIS简介,1,ArcGIS 9产品组成,第一节 ArcGIS 开发平台介绍,2,ArcObjects与ArcGIS产品,2,ArcObjects与ArcGIS产品,3,Ar

2、cObjects组件库,ArcObjects组件库有3000多个对象可供开发人员调用,其中有细粒度的小对象,例如:Geometry对象,也有粗粒度的大对象,例如:Map对象 可以通过ArcObjects来扩展ArcGIS Desktop,定制ArcGIS Engine应用,使用ArcGIS Server实现企业级GIS应用 采用ArcObjects可以在多种编程环境中开发,包括C+、支持COM的编程语言、.NET、Java等,3,ArcObjects组件库,可以应用ArcGIS Desktop SDK来扩展ArcGIS Desktop的功能,如添加新的工具、定制用户界面、增加新的扩展模块等,甚

3、至对ArcGIS Desktop应用程序进行完全扩展以提高专业GIS生产能力 ArcGIS Server实现了一套标准的Web GIS服务,支持企业级应用,可以建立集中式的GIS服务器来实现GIS功能,发布基于Web的GIS应用,执行分布式GIS运算等,2.1.2 ArcGIS的开发方式 1)VBA开发 VBA自动包含了ESRI对象库参考,用户可以编写并调试在ArcMap或ArcCatalog中使用的VB宏以及ESRI的对象库,宏命令可以将VB的功能和GIS的功能集成起来。 可以使用ArcObjects的所有组; 其运行离不开ArcGIS系统框架,第一节 ArcGIS 开发平台介绍,2.1.2

4、 ArcGIS的开发方式 2)插件开发 采用COM技术开发基于AE的标准DLL 3)基于COM的可执行应用程序开发,第一节 ArcGIS 开发平台介绍,2.1.3 ArcGIS Engine简介 ArcGIS Engine是一个简单的、独立于应用程序的ArcObjects编程环境。其SDK提供了一系列嵌入式、应用于ArcGIS Desktop应用程序框架之外的ArcGIS组件。 ArcGIS Engine是开发人员用于建立自定义应用程序的嵌入式GIS组件的一个完整类库,第一节 ArcGIS 开发平台介绍,一,ArcGIS Engine的功能,分图层显示专题图,如:道路,河流,行政边界等 浏览、

5、缩放地图 查看地图上特征要素的信息 在地图上显示文本注记 在地图上叠加卫星影像或航摄影像 在地图上绘制点、线、面几何体 通过矩形、圆形或多边形选中地图上的要素 通过SQL语句查找要素 用各种渲染方式绘制图层,如分级渲染、柱状图渲染、点密度渲染、按比例尺渲染等 动态绘制实时数据 转换空间数据的坐标系 编辑空间数据 空间建模与分析,二,ArcGIS Engine的组成,基本服务-几乎所有GIS应用程序都需要的GIS核心模块ArcObjects构成,如几何要素和显示 数据存取-可以对栅格和矢量格式,包括Geodatabase进行数据的存取操作 地图表达-创建和显示带有符号、注记的地图和专题图 开发组

6、件-快速开发应用程序的界面控件 扩展模块-ArcGIS Engine运行时,可以与标准功能或其他高级功能一起部署,ArcGIS Engine由一个软件开发工具包(SDK)和 一个运行时(Runtime)组成,二,ArcGIS Engine的组成,ArcGIS Engine Developer Kit 是一个基于组件的开发产品,主要面向开发人员,能与开发环境集成,提供了开发帮助、类库对象模型以及代码示例等 ArcGIS Engine的另一个组件就是其运行时。在部署应用程序时,必须安装相应版本的ArcGIS Engine运行时,二,ArcGIS Engine的组成,ArcGIS Engine的授权

7、文件 *.ecp文件 授权文件控制用户可以使用哪些功能 例如:编辑空间数据 ArcGIS Engine开发包使得用户可以创建、修改或者删除在Geodatabase或者shapefile中的矢量要素。 标准ArcGIS Engine Runtime可以编辑shapefile和简单的Personal Geodatabase要素,若需要编辑Enterprise Geodatabase数据,则应使用Geodatabase Update扩展,第二节,ArcGIS Engine的组件,一,ArcGIS Engine包含的主要控件: MapControl PageLayoutControl SceneCon

8、trol GlobeControl ToolbarControl TOCControl SymbologyControl LicenseControl ToolbarControl,二,组件的加载,示例: 如何使用MapControl, ToolbarControl, TOCControl 如何向工具栏添加ArcGIS Engine内置的工具和命令,三,MapControl控件,MapControl的功能 管理控件的外观、显示属性和地图属性 添加并管理控件中的数据层 装载Map文档(mxd)到控件中 从其他应用程序拖放数据到控件中 显示绘制图形 实现的主要接口 IMapControlDefau

9、lt IMapControl2 IMapControl3 IMapControlEvents2(事件接口,三,MapControl控件,IMapControlDefault接口 该接口是地图控件的缺省接口,多数开发环境自动使用这个接口定义的属性、方法,这个接口也代表了控件最新版本的接口 如果需要使用这个接口,则用如下代码: IMapControlDefault pMapControl; pMapControl = axMapControl1.Object as IMapControlDefault,三,MapControl控件,IMapControl2接口 这个接口是任何一个与MapContr

10、ol相关的任务的出发点,如设置控件外观,设置Map对象或控件的显示属性,添加或者管理数据图层、地图文档,在控件上绘制图形和返回Geometry等 控制控件外观界面的属性: Appearance、BorderStyle、BackColor 方法: 获取Geometry对象:TrackLine, TrackPolygon, TrackRectangle, TrackCircle 在控件上绘制图形:DrawShape,DrawText,三,MapControl控件,IMapControl3接口 该接口继承于IMapControl2,增加了8个属性和1个方法 CustomProperty:设置自定义控

11、件属性 DocumentFilename:返回MapControl装入的地图文档的文件名 DocumentMap:返回MapControl最后装入的地图名称 KeyIntercept:返回或设置MapControl截取键盘按键的信息 Object:返回潜在的MapControl控件,三,MapControl控件,当使用IMapControl2接口时: IMapControl2 pMapControl; pMapControl = axMapControl1.Object as IMapControl2; 或 pMapControl = axMapControl1.GetOcx() as IMa

12、pControl2,三,MapControl控件,ShowMapTips:确定是否显示地图的Map Tips TipDelay:设置Map Tips的延迟时间 TipStyle:设置Map Tips的显示样式 SuppressResizeDrawing():当控件尺寸发生变化时组织数据实时重绘,三,MapControl控件,IMapControlEvents2接口 事件接口,定义了MapControl能够处理的全部事件,如OnMouseDown, OnAfterDraw, OnMouseMove等,其他如OnAfterscreenDraw是绘屏结束后触发的事件,OnExtentUpdated是

13、地图的Extent属性发生变化时触发的事件,四,PageLayoutControl控件,1)Page对象 -管理PageLayout对象中页面 2)SnapGrid对象 -用于摆放元素而设置的辅助点,便于使用者对齐元素 3)RulerSettings对象 -辅助尺 4)MapSurround对象,五,ToolbarControl控件,主要用于提供操作地图对象的工具条,是一个集成多种控制地图操作的控件。 ToolbarControl上添加工具 1)通过向导添加; 2)通过代码添加,五,ToolbarControl控件,主要接口:IToolbarControl, IToolbarControlDe

14、fault IToolbarControlEvents ToolbarControl上可以驻留三类命令: 1)实现了Icommand的单击命令; 2)实现了ICommand和ITool的命令工具; 3)实现了ICommand和IToolControl接口的工具控件,用户界面组件,六,TOCControl控件,是一个集成图层控制操作的控件,一般是通过与其他几个地图显示控件相互关联一起工作。 SetBuddyControl(object obj) TOCControl通过上述函数来关联其他控件,string strToolID = ; strToolID = esriControlTools.Co

15、ntrolsMapZoomInTool; this.axToolbarControl1.AddItem(strToolID, -1, -1, false, 0, esriCommandStyleIconOnly); strToolID = esriControlTools.ControlsMapZoomOutTool; axToolbarControl1.AddItem(strToolID, -1, -1, false, 0, esriCommandStyles.esriCommandStyleIconOnly); strToolID = esriControlTools.ControlsMa

16、pZoomInFixedCommand; axToolbarControl1.AddItem(strToolID, -1, -1, false, 0, esriCommandStyles.esriCommandStyleIconOnly); strToolID = esriControlTools.ControlsMapZoomOutFixedCommand; axToolbarControl1.AddItem(strToolID, -1, -1, false, 0, esriCommandStyles.esriCommandStyleIconOnly); strToolID = esriControlTools.ControlsMapPanTool; this.axToolbarControl1.AddItem(strToolID, -1, -1, false, 0, esriCommandStyles.esriCommandStyleIconOnly); strToolID = esriControlTools.ControlsMapFullExtentCommand; axToo

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

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号