文章目录
- GIS开发模式
- 组件式GIS
- AO与AE
- 区别
- 开发环境
- 功能
- 联系
- AE
GIS开发模式
- 独立开发模式
自己独立开发 - 宿主型开发模式
基于某个GIS平台或GIS工具软件,用该平台的自带语言进行开发 - (组件式GIS基本思想)组件式GIS开发模式
用某些商业软件或公司已经开发好的components进行二次开发(用其他公司封装好的包)
详细:
- 独立开发
指不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,在一定操作系统平台上编程实现。
好处:不依赖商业GIS工具软件,减少成本
坏处:门槛高,成品无法和商业化软件媲美 - 宿主型二次开发
指基于GIS平台软件上进行应用系统开发。大多数GIS平台软件都提供了可供用户进行二次开发的脚本语言,如ESRI的ArcView提供了Avenue语言,MapInfo的MapBasic
好处:省时省力
坏处:功能较弱,所开发的系统不能脱离GIS平台软件,是解释执行的,效率不高 - 组件式GIS开发模式
GIS软件产商提供提供商业化的GIS组件进行二次开发,如ESRI公司的MapObjects,MapInfo的MapX
好处:商业组件成熟与好用,具有GIS工具软件对空间数据库管理、分析功能,又可以结合其他可视化开发语言
坏处:要钱
组件式GIS
组件式GIS(Component Object Model GIS)采用了面向对象技术与组件式软件的GIS系统
组件式GIS开发平台的结构:
- 基础组件:面向空间数据管理,提供基本的交互过程
- 高级通用组件:面向通用功能
- 行业性组件:抽象出行业应用的特定算法,固化到组件中,进一步加速开发过程
AO与AE
区别
开发环境
- ArcObjects只有安装了ArcGIS Desktop和ArcObjects,才能进行AO开发
- AE是独立的嵌入式组件,不依赖ArcGIS Desktop,直接安装ArcEngine Runtime和Developer Kit后,即可在不同语言环境下开发
功能
AO功能更强大,AE功能相对弱,AE不具备AO的少部分功能
联系
- AE包括AO核心的功能,其是对AO中的大部分接口、类、库进行封装所构成嵌入式组件
- 组件中的组件接口、方法、属性与AO是相同的
AE
ArcGIS Engine由ArcGIS Engine Runtime和ArcGIS Engine Developer Kit(SDK)组成
ArcGIS Engine developer Kit:是一套地理制图组件和开发资源库,是官方提供添加动态制图和GIS功能的库。
开发包不是面向终端用户的产品,而是专门为开发应用程序的人员设计的,只是一个包而已
AE从功能层次上分为五个部分:
- 基本服务(Base Services):由GIS核心ArcObjects构成,如要素几何体(feature geometry)和显示(display)
- 数据存储(Data Access):AE可以对很多栅格和矢量格式进行存取
- 地图表达(Map Presentation):创建和显示带有符号和标注的地图
- 开发组件(Developer Components):用于快速开发应用程序的界面控件
- 运行时选项(Runtime Options):AE运行时可以与标准功能或其他高级功能一起部署