应用型GIS系统多种多样、形式各异,但是从开发实现的角度考虑,基本上可以概括为三种形式:独立开发、宏语言开发和集成二次开发。
2.1.1.1 独立开发
独立开发是指不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果的输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言(如Visual C++、Delphi等),在一定的操作系统平台上编程实现。这种方式的好处在于:无须依赖任何商业GIS工具软件,可减少开发成本。但对于大多数开发者来说,能力、时间、财力方面的限制使其开发出来的产品很难在功能上与商业化的GIS工具软件相比。
2.1.1.2 宏语言开发
宏语言开发指完全借助于GIS工具软件提供的开发语言进行应用系统开发。当前大多数GIS平台软件都提供了可供用户进行二次开发的脚本语言,如美国环境系统研究所(ESRI)的ArcInfo提供了AML语言、Arc View提供了Avenue语言、MapInfo公司的MapInfo Professional提供了MapBasic语言等。用户可以利用这些脚本语言,以原GIS软件为开发平台,开发出自己的针对不同应用对象的应用程序。这种方式虽然省时省心,但进行二次开发的脚本语言作为一种编程语言,其功能极弱,用它们来开发应用程序仍然不尽如人意,且所开发的系统不能脱离GIS平台软件,是解释执行的,效率不高。例如,MapBasic是在MapInfo平台上开发用户定制的应用程序的编程语言。通过使用MapBasic进行二次开发,能够实现MapInfo功能,实现程序的自动重复操作并使MapInfo与其他应用软件集成。用户用程序代码可在应用软件中实现图层叠加,且具备一定的地图功能。MapBasic程序可用于诸如Visual Basic、C++、PowerBuilder和Delphi等语言编写的应用软件集成,是一种结构与Basic语言相似的语言,程序员可以使用该语言根据用户的需求开发出特定地图信息系统应用软件包。但是二次开发的宏语言,作为编程语言功能非常有限,并且用二次宏语言开发出来的软件包在运行环境上也很受限,因为它脱离不了它本身的开发平台,比如用Map Basic语言开发的软件在没有安装MapInfo软件的机器上是不能运行的,这也阻碍了它的发展和推广。
2.1.1.3 集成二次开发(www.xing528.com)
集成二次开发是指利用专业的GIS组件实现GIS的基本功能,以基于通用软件开发工具,尤其是可视化开发工具,如Delphi、Visual C++、Visual Basic、Power Builder、Visual Studio.net等作为开发平台,进行二次开发。
集成二次开发目前主要有以下两种方式:
(1)第一种:OLE/DDE方式。这是一种采用OLE Automation技术或利用DDE(动态数据交换)技术,用软件开发工具开发前台可执行应用程序,以OLE自动化方式或DDE方式启动GIS软件在后台执行,利用回调技术动态获取其返回信息,实现应用程序中的地理信息处理功能。
(2)第二种:GIS组件。利用GIS工具软件生产厂家提供,建立在OCX技术基础上的GIS功能控件,如ESRI的ArcEngine,MapInfo公司的Map X、Map Xtreme,Inter Graph的Geo Media,北京超图的Super Map等,在Visual Basic等编程工具编写的应用程序中,直接将GIS功能嵌入其中,利用其组件进行二次开发,实现地理信息系统的各种功能。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。