Chapter0GIS二次开发技术概述.ppt_第1页
Chapter0GIS二次开发技术概述.ppt_第2页
Chapter0GIS二次开发技术概述.ppt_第3页
Chapter0GIS二次开发技术概述.ppt_第4页
Chapter0GIS二次开发技术概述.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

GIS二次开发技术,基于ArcObjects的应用系统开发,教学目标,GIS二次开发技术是GIS本科生、研究生的重要专业基础课程,通过该课程学习,使学生了解ArcGIS 软件家族体系的架构及ArcObjects组件构成,并能熟练使用ArcObjects 进行应用型GIS开发。 通过课程学习,掌握应用型GIS开发的基本思路、技术方法,并能够顺利转换至开源GIS、SuperMap、MapInfo或其它GIS应用开发包和集成开发环境,常见的二次开发方式,独立开发GIS系统 宿主型二次开发 利用GIS平台本身的脚本语言开发(MapBasic、Avenue) 基于VBA的嵌入式宏语言开发模式(ArcGIS Desktop) 基于Python的脚本语言开发模式(ArcGIS Desktop) 基于GIS组件的二次开发,一、独立开发GIS系统,独立开发GIS是指不依赖任何 GIS底层软件 空间数据采集、编辑、处理、分析及结果输出,所有算法由开发者独立设计(利用C、C+等)。 优势:不采用第三方的GIS平台,减少这部分的费用 但单纯底层开发GIS系统,所用的时间和精力可能会远远超过使用商业GIS平台。,二、宿主型开发GIS平台脚本,指采用GIS平台自己提供的脚本语言进行二次开发。 如MapInfo Professional提供MapBasic 语言 ESRI 的ArcInfo 提供了Avenue 语言。 优势:以GIS 软件脚本语言开发应用程序,简单、快速。 劣势:脚本语言功能较弱,不能脱离 平台软件,效率不高。,二、宿主型开发VBA宏语言,VBA(Visual Basic for Application),VBA是VB的子集 许多应用程序,支持VBA嵌入式开发环境 ArcMap、ArcCatalog Microsoft Word Excel AutoCAD Visual Basic for Applications (VBA) ArcMap程序框架中,Application和ThisDocument全局变量可以让程序员直接获取程序本身和程序所使用的文档。,二、宿主型开发Python脚本,Python and ArcPy(ArcGIS installs Python version 2.6.) All geoprocessing tools, as well as a wide variety of useful functions for interrogating GIS data are available in the ArcPy site-package. A site-package is Pythons term for a library that extends the Python language with additional functionality. The ArcPy site-package is how ArcGIS delivers GIS functionality to Python. You can think of ArcPy as replacing arcgisscripting in your Python code. ArcPy contains two important modules: the mapping module (arcpy.mapping) for interacting with ArcMap and creating map books, and the spatial analyst module (arcpy.sa) for performing map algebra. A third module, geostatistical analyst, contains classes for setting up complex neighborhood searches.,三、基于GIS组件的二次开发,是指采主流开发语言环境,如VB、C+、JAVA、C#等,在使用第三方底层GIS平台基础上进行GIS二次开发。 基于ArcObjects的组件开发(ESRI) 基于MapObjects 、ArcEngine的组件开发(ESRI) 基于MapX的组件开发(MapInfo) 基于SuperMap Objects的组件开发(SuperMap) MapGIS K9开发平台(MapGIS,零编程搭建式) 这种方式的优势是可以根据自己的需要扩展系统功能,并且可以脱离原GIS平台软件。,ArcGIS软件体系结构,SuperMap 的UGC模式,“共相式GIS” 是对GIS平台软件进行共相式的概括和抽象,提炼出独立于具体技术环境之外的GIS技术框架和核心功能。(核心思想:建立一套具有普遍适应性的共相式GIS内核Universal GIS Core),部分开发方式的简单演示,基于MapBasic窗口,体验MapBasic语言 基于VBA的ArcObjects开发(ArcGIS Desktop) 基于Python的地理处理(ArcGIS Desktop) 基于ArcEngine的组件开发(独立应用程序) SuperMap Objects开发,MapBasic语言展示,基于VBA的AO开发,演示缩放工具 编写提取文档、地图、图层名称的宏模块,基于Python的地理处理,基于ArcEngine的开发Demo,教材及参考材料,参考教材: ArcGIS Engine组件式开发及应用,李崇贵等,科学出版社 基于ArcObjects与C#.NET的GIS应用开发,兰小机等编著,冶金工业出版社 ArcObjects 开发基础与技巧,蒋波涛,电子工业出版社 ArcGIS开发宝典,刘仁义 ,科学出版社 插件式GIS应用程序开发框架,蒋波涛,电子工业出版社 参考材料: ArcGIS 开发工具包中的文档,包括ArcGIS开发帮助、组件帮助、对象模型图和示例 / ArcObjects SDK 10 Microsoft .NET Framework /zh-cn/arcgisdesktop/10.0/help/ http:(ArcGIS技术论坛) http:www.3SN(综合新闻、开发技术论坛),课程内容介绍,开发基础(1周) Fundamentals of developing with ArcObjects(1周) ArcObjects组件对象模型, Com & .Net(1周) 基于VBA的ArcObjects开发(选修1周) 使用ArcObjects控件编程 (2周) Geometry (1-2周) Maps and Layers (1-2周) Symbolizing elements and layers (2周) Working with subsets and selections (1周) Data access and creation(1周) Geoprocessing(1周) SpatialAnalyst(1周) 基于Python的ArcObjects脚本开发(简介)(选修1周) 综合案例开发实践(2-3周),学习基础,熟悉ArcGIS Desktop(ArcMap、ArcCatalog、ArcToolbox)的基本操作; 理解ArcGIS Desktop的系统结构 了解数据组织模式,如Geodatabase、ArcSDE基本概念; 会用C#或其他面向对象的语言进行程序设计。,课程考核,基于ArcObjects的程序设计书面考核 完成几个相对独立的功能开发案例 完成一个简单、完整的GIS应用系统,按GIS软件工程的要求进行设计,具体要求如下: 实现自定义命令、工具、菜单 具备GIS的数据管理,如打开、保存地图文档、添加数据等 空间数据编辑功能 空间数据查询与分析

温馨提示

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

评论

0/150

提交评论