第一章GIS软件开发基础◆本章节的主要内容一、地理信息系统定义、类型和构成二、地理信息系统的研究内容三、地理信息系统的功能(一)基本功能:1、数据采集与输入、编辑2、数据存储与管理3、数据处理与变换4、空间分析与统计(二)应用功能:资源调查、城乡规划、灾害监测四、GIS软件的发展与技术五、GIS软件的开发模式1.常见开发模式➢独立开发➢单纯二次开发➢集成二次开发2.三种开发模式比较及优缺点3.GIS软件开发模式的选择六、GIS软件的开发内容七、GIS软件开发的相关技术◆本章节的教学目的及要求目的:通过本章节的学习使学生对地理信息系统定义、类型和构成,以及GIS的功能,开发模式,开发内容等有一个基本的了解要求:使学生对本课程的GIS开发基础有一个基本的了解,为后续章节打下基础课时:2个课时◆本章节的教学重点、教学难点重点:地理信息系统定义、类型和构成,GIS的功能,GIS开发模式比较与选择难点:GIS软件的发展趋势,以及GIS开发模式比较与选择◆本章节的主体教学方式、方法主体教学方式:多媒体教学◆本章节的思考题1.GIS的定义?2.GIS常见的开发模式有哪些,其各自优缺点如何?3.GIS的功能有哪些?第二章ArcEngine 基本原理——组件对象模型◆本章节的主要内容一、ArcGIS整体架构二、ArcEngine与ArcObject的关系与区别三、ArcEngine的体系结构1.ArcEngine的库结构,ArcEngine 具有哪些功能2.ArcGIS Engine 产品和扩展四、对象组件模型COM定义,COM类,COM接口2.学习ArcEngine需要了解的COM内容五、如何阅读OMD1.OMD(Object Model Diagram 对象模型图)2.如何阅读一个OMD对象模型图3.类的类型4.类的相互关系5.接口、属性、方法的图标六、ArcEngine软件安装说明七、ArcEngine在VB 或.net环境中的应用实例八、ArcGIS的二次开发——VBA◆本章节的教学目的及要求目的:通过本章节的学习使学生对课程中所使用的ArcEngine控件有一个整体的了教,同时,对学习和使用ArcEngine控件的所必须了解的COM、OMD知识有较清楚的认识,为后面基于ArcEngine控件的开发奠定理论基础。
要求:使学生对ArcEngine,COM、OMD有较清楚的认识,为后续章节打下基础课时:2个课时◆本章节的教学重点、教学难点重点:ArcEngine的体系结构,ArcEngine与ArcObjects的区别和联系,COM、OMD 基础知识。
难点:ArcEngine的体系结构,COM理解和认识◆本章节的主体教学方式、方法主体教学方式:多媒体教学◆本章节的思考题1.ArcEngine与ArcObjects的区别和联系?2.ArcEngine 具有哪些功能?3.学习ArcEngine需要了解有关的COM内容?4.ArcEngine的体系结构?◆本章节的实践要求:1.安装ArcEngine,ArcGIS软件2.安装.net平台第三章用户界面定制--VBA开发◆本章节的主要内容一、VBA开发环境1.使用客户化对话框(Customize dialog box )2.VB编辑环境(Visual Basic Editor )3.VBA开发实例:创建工具栏(P25)二、Application对象1.Application对象简介2.Application 应用实例➢显示Application应用程序的名称➢打开一个文档三、ThisDocument对象1.Document对象简介2.IMxDocument 应用实例四、定制ArcMap的界面1.定制状态栏2.定制浮动窗口(DockableWindow)3.设置快捷键4.创建CommandBars和CommandBar五、UIControl的使用1.UIButtonControl、UIToolControl、UIEditBoxControl、UIComboBoxControl2.实例、添加一个“Tool”风格的工具(图形放大)六、使用Extension扩展ArcGIS七、VB语法介绍八、运行环境配置九、帮助文档◆本章节的教学目的及要求目的:通过本章节的学习使学生掌握VBA开发的基本步骤,能够利用VBA开发对ArcGIS 软件进行用户界面定制。
要求:使学生对VBA开发的环境、基本步骤有、方法有较清楚的认识,可利用VBA实现用户界面定制。
课时:2个课时◆本章节的教学重点、教学难点重点:理解VBA开发中ArcGIS的Application和ThisDocument两个全局变量,掌握ArcGIS中添加工具的方法,创建宏的方法。
难点:ArcGIS中添加工具的方法,创建宏的方法。
◆本章节的主体教学方式、方法主体教学方式:多媒体教学和实践教学相结合◆本章节的思考题1.ArcGIS的全局变量Application和ThisDocument的作用?◆本章节的程序实践要求:1.上机实习VBA开发:打开一个文档2.上机实习VBA开发:添加一个“Tool”风格的工具(图形放大)3.上机实习VBA开发:定制状态栏4.上机实习VBA开发:定制浮动窗口(DockableWindow)第四章ArcEngine的控件◆本章节的主要内容一、常用控件简介二、MapControl控件1.MapControl控件的接口介绍2.MapControl控件与MxD文件3.鼠标与控件的交互4.数据选择5.鹰眼程序三、PageLayoutControl控件1.控件简介2.PageLayoutControl操作MXD文件3.PageLayout控件与Map控件联动4.在PageLayout里面绘制要素5.绘制MapSurround对象6.将版式保存为文件四、TocControl控件1.控件简介2.控件成员及函数3.控件的事件五、ToolBarControl控件1.控件简介2.控件的事件3.控件的属性修改4.控件内嵌的命令、菜单、工具5.控件中AddItem命令的参数意义6.在ToolBar上右击显示Customize对话框,添加工具按钮7.ToolBarMenus的使用➢在MapControl上,右击弹出上下文菜单ToolBarMenus➢在TocControl上,右击弹出上下文菜单ToolBarMenus 六、三维控件1.三维控件简介2.SceneControl3.GlobeControl4.SceneControl 与GlobeControl的不同与联系5.三维控件的基本功能实现➢3D 控件中打开文档操作➢3D 控件的事件➢设置垂直放大因子◆本章节的教学目的及要求目的:通过本章节的学习使学生了解ArcEngine中常用控件的功能、接口和方法,并掌握如何使用MapControl,PageLayoutControl,TocControl,ToolBarControl 控件进行系统开发。
要求:使学生学会利用MapControl,PageLayoutControl,TocControl,ToolBarControl 控件提供的各种接口和方法,搭建一简单的GIS原型系统。
课时:6个课时◆本章节的教学重点、教学难点重点:MapControl控件打开MxD文件的多种方法鹰眼程序的实现PageLayoutControl操作MXD文件PageLayout控件与Map控件联动TocControl的事件ToolBarControl控件内嵌的命令、菜单、工具ToolBar上右击显示Customize对话框的代码上下文菜单ToolBarMenus的使用SceneControl 与GlobeControl的不同与联系三维控件的基本代码示例。
难点:MapControl控件打开MxD文件的多种方法鹰眼程序的实现PageLayout控件与Map控件联动上下文菜单ToolBarMenus的使用SceneControl 与GlobeControl的不同与联系◆本章节的主体教学方式、方法主体教学方式:多媒体教学和实践教学相结合◆本章节的程序实践要求:1.上机实习:利用ArcEngine的控件,进行系统界面搭建2.上机实习课本中的MapControl的每一个实例(打开mxd文件,鹰眼程序等)3.上机实习课本中的PageLayOutControl的每一个实例4.上机实习课件中TOCControl控件的实例5.上机实习课件中ToolBarControl控件的实例6.上机实习课件中GlobalControl控件的实例7.上机实习课件中SenceControl控件的实例第五章地图是如何组成的◆本章节的主要内容一、M ap的双重身份1.Map简介2.Map类所实现的接口➢IMap接口:管理图层,图形要素(代码实例讲解)➢IGraphicsContrainer接口:管理图形元素(代码实例讲解)➢IActiveView接口:负责图形的显示(代码实例讲解)➢其他接口二、数据以层划分—Layer1.图层对象的ILayer 接口2.要素图层FeatureLayer的使用➢IFeatureLayer接口管理要素图层的数据源(代码实例讲解)➢IGeoFeatureLayer接口负责要素的显示属性,例如要素的着色和标准等功能➢IGeoDataset接口管理地理要素集,仅提供两个属性Extent SpatialReference ➢IFeatureSelection接口负责管理一个图层中要素选择集的方法和属性(代码实例讲解)➢IFeatureLayerDefinition接口定义一个新的图层。
利用CreateSelectionLayer方法,将已有图层中选择集中的要素转换为一个新的图层(代码实例讲解)➢ILayerFields接口可以获得要素图层的字段情况➢IIdentify接口获得图层中单个要素的属性的捷径方法(代码实例讲解)3.往地图中加入CAD文件➢以矢量数据的方式加载(代码实例讲解)➢以栅格数据方式加载,作为背景图层使用(代码实例讲解)4.TIN图层--显示三维信息三、地图显示的幕后人—ScreenDisplay对象1.ScreenDisplay常用的接口方法和属性2.ScreenDisplay对象——绘制线符号实例四、E lement对象—可显示的和不可显示的图形1.图形元素(Graphic Element)GroupElement,MarkerElement,LineElement,TextElement2.创建各图形元素(代码实例讲解)◆本章节的教学目的及要求目的:通过本章节的学习使学生了解ArcEngine中地图是如何组成的,掌握构成地图的Map,Layer类相应的接口,方法,属性,以及地图显示ScreenDisplay类和元素 Element类的相关接口方法。