摘要: 1.独立式GIS软件开发方式 独立式GIS软件开发不依赖任何已有的软件平台,从GIS的功能需求出发,从原始的底层结构设计开始,应用支持数据库的图形、图像和属性操作的程序语言如C、VC、C++、C#、Java、Delphi等,编程实现GIS的操作功能。这种开发方...
1.独立式GIS软件开发方式
独立式GIS软件开发不依赖任何已有的软件平台,从GIS的功能需求出发,从原始的底层结构设计开始,应用支持数据库的图形、图像和属性操作的程序语言如C、VC、C++、C#、Java、Delphi等,编程实现GIS的操作功能。这种开发方式因技术难度大、投入人力物力多、开发周期长等不利因素,在现有的GIS工程应用中很少采用。但在某些技术难度要求较低、功能需求少或具有某些特定需求条件 (如保密应用、军事应用等)不能基于已有的平台进行二次开发情况下,可以采用这种方式,设计开发平台独立的GIS软件。
2.宿主式GIS二次开发方式
所谓宿主式GIS二次开发,是编写的软件不能独立于所依托的平台软件独立运行。一些平台软件,如ArcGIS、Maplnfo等都提供了MapBasic、Python等宿主开发语言,允许软件开发者开发一些新的GIS功能部件或模块补充到平台GIS软件。这种开发方式充分利用了平台GIS软件的操作环境和已有的功能,实现一些复杂操作、综合操作、批处理操作、工具性操作等,具有宏语言编程和宏插件运行的特点。在GIS软件的二次开发中具有一定的应用市场。
3.组件式GIS二次开发方式
组件式GIS二次开发是基于平台GIS软件提供的组件模型,使用常用的程序开发语言,如C、VC、C++、C#、Java、Delphi等,开发在平台软件提供的Runtime运行库环境支持下可以独立于平台软件运行的开发方式。这种方式开发的软件,是完全根据用户的功能需求而定制软件的结构和功能,实现平台软件功能的个性化应用。其另外一个优点是可以与第三方平台软件提供的组件模型进行混合编程,或直接集成独立的第三方组件,为实现GIS功能的客户化定制提供了 灵活多样的开发和集成方法。组件式GIS二次开发是基于面向对象的 程序设计和编程方法。多数平台GIS软件都提供组件开发环境,如ArcGIS软件的ArcObject、ArcEngine,Maplnfo软件的MapX等。在系统功能维护、更新和升级等方面具有诸多好处。组件式GIS二次开发方式是目前GIS工程应用广为采用的一种开发方式。
4.开源式GIS二次开发方式
现在市场上有一些开放源代码的GIS软件,这些软件不仅已经具备了一定的GIS功能,而且也提供了可供进一步开发的环境和接口。如OpenLayer、GRASS、QGIS、WorldWind等,以及像谷歌、天地图等专业网站,都提供了可供第三方进行应用开发的API接口,可以使用C++、C#、VC、Java,JavaScript等语言,在开源协议支持下进行二次开发,并利用这些开源软件或网站提供的运行和服务环境运行编写的程序。这是一种程序二次开发具有活力和发展前途的开发方式,已经受到越来越多的关注。它的优点介于独立式和组件式之间,为一些GIS的个性化应用提供了另一条途径。