arcgis 二次开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
gis的开发方法有三种,即独立开发,宿主型二次开发,基于gis组件的二次开发,其中独立开发为底层开发,不依赖于任何gis工具软件,开发难度太大,后两者是基于一种软件的二次开发,这样的二次开发则相对较简单,他的好处也是显而易见的。
宿主型二次开发是指基于GIS平台软件上进行应用系统开发。
大多数GIS
平台软件都提供了可供用户进行二次开发的脚本语言,如ESRI的ArcView提供
了Avenue语言,Maplnfo公司的MapInfo Professional提供了MapBasic语言
等等。
用户可以利用这些脚本语言,以原GIS软件为开发平台,开发出自己的
针对不同应用对象的应用程序。
这种方式省时省心,但进行二次开发的脚本语言,
作为编程语言,功能极弱,用它们来开发应用程序仍然不尽如人意,并且所开发
的系统不能脱离GIS平台软件,是解释执行的,效率不高。
相比基于组件的二次开发可以根据自己的需要扩展系统的功能,并且可以脱离原gis平台软件,综合看来,单纯二次开发受gis基础平台提供的编程语言的限制,而基于组件式的二次开发不仅能提高开发效率,同时可靠性好,易于移植,便于维护。
所以,结合gis基础平台软件与当今可视化开发语言的组件式二次开发成为gis开发的主流。
但是二次开发也不是十全十美的,只要我们使其中的瑕疵减少,误差也就会减少。
ArcGIS Engine开发工具包是一个基于组件的软件开发产品,用于建立和部署自定义GIS和制图应用程序。
ArcGIS Engine开发工具包不是一个终端用户产品,而是一个应用程序开发人员的工具包。
可以用ArcGIS Engine开发工具包建立基本的地图浏览器或综合、动态的GIS编辑工具。
使用ArcGIS Engine开发工具包,开发人员在建立定制的地图接口方面具有前所未有的灵活性。
开发人员可以使用几个API中的任何一个来建立独一无二的应用程序,或者将ArcGIS Engine组件与其他软件组件组合起来实现地图与用户管理信息之间的协同关系。
(可选资料)
从第一个GIS系统一加拿大地理信息系统(CGIS)到目前用户可以自己定制
的GIS系统,GIS二次开发经历了巨大的变化。
在这个发展过程中主要出现了两
种GIS二次方式,即宿主型二次开发和基于GIS组件的二次开发131。
GIS开发过程中常用的两种构架(c/s和B/S)
基于c/s结构的GIS是
由客户机完成GIS分析、输出工作。
GIS数据和分析工具最初放在服务器上,运
行时下载到客户机,操作灵活。
但是c/s应用软件模式大都是基于“胖客户机”
结构下的两层结构应用软件。
客户端软件一般由应用程序及相应的数据库连接程
序组成,服务器端软件一般是某种数据库系统。
客户机端软件的主要功能是处理
与用户的交互、按照某种应用逻辑实现与数据库系统的交互;服务器端软件的主
要功能是数据库系统根据客户端软件的请求进行数据库操作,然后将结果传送到
客户端软件。
客户端软件与服务器端软件之问的通信主要是通过SQL语句。
两层
C/S结构应用软件的开发工作主要集中在客户端,客户端端软件不但要完成用户
交互和数据显示,而且还要完成对应逻辑的处理,即用户界面与应用逻辑位于同一个平台上。
B/S结构:(Browser/Server,浏览器/服务器模式):是WEB兴起后的一种
网络结构模式,也可以看作是c/s结构的一种扩展,但一般指的B/S结构也可以说是三层c/s结构,即浏览器一应用服务器一数据库服务器三层。
在原来C/S的基础上做了扩展、引伸,更符合现在流行趋势。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的丌发、维护和使用。
WEB浏览
器是客户端最主要的应用软件,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、
Informix或SOL Server等数据库。
浏览器通过Web Server同数据库进行数据
交互。