GIS设计开发简介
一、工具型GIS和应用型GIS
GIS 作为一个特殊的软件领域,其主要特点是海量数据存储及空间数据与属性数据一体化管理,是能处理、分析地理空间数据的一类特殊信息系统。GIS开发一般具有以下两个方面的含义:
(1)从底层开发一个通用的工具型GIS。
(2)借助通用的GIS开发平台(多为商业化GIS)进行二次开发,完成专用GIS的开发任务;或从底层根据应用目的开发一个专用的GIS。在第1章介绍GIS类型时曾提及GIS按其应用的特点,可以划分为工具型GIS、应用型GIS和大众型GIS。表8.1比较了工具型GIS和应用型GIS的要点及主要产品。
表8.1工具型GIS和应用型GIS比较
| 工具型GIS | 应用型GIS | |
| 特 点 | ①是一种通用型,具有一般的功能和特点,向用户提供一个统一的操作平台;②一般没有地理空间实体,而是由用户自己定义点、线或面; ③具有很好的二次开发功能;④GIS空间分析是工具型GIS的核心和必备的功能 | ①在较成熟的工具型GIS软件基础上,根据用户的需求和应用目的而设计的用于解决一类或多类实际问题的地理信息系统;②它具有地理空间实体和解决特殊地理空间分布的模型; ③应用模型是应用型GIS的核心 |
| 商用产品 | 如:ArcGIS、Arc/Info、GenaMap、MapInfo、Idrisi、MapGIS、GeoStar等 | 如:土地信息系统、城市管理信息系统、资源环境管理信息系统、灾情预警信息系统等 |
实际上,工具型GIS就是可以对各种地理空间数据进行输入、编辑、显示、管理、查询和处理分析,并能用以建立应用型GIS的软件包,例如ArcGIS、Arc/Info、ArcView 、GenaMap、MapInfo、Idrisi、MapGIS、GeoStar等商业软件。一般具有设计先进、技术含量高的地理信息处理平台支持,在很大程度上满足用户的应用要求,但其面向的往往是GIS的理论与技术,对用户的专业问题针对性不强,除非对GIS理论技术方法熟练掌握的专业用户,才能自如地解决自己的专业应用问题,而一般用户则难以直接使用。空间分析方法与应用模型是GIS的一个很重要的组成部分,这一部分的好坏是衡量一个GIS功能强弱的重要指标。
应用型GIS,就是应用目的明确,与特定的地理区域相联系。一般具有区域性、目的性、应用性和专业化和用户化等特点。
1. 区域性
应用型GIS,一般都针对特定的地理区域,或者说与特定的地理区域相联系。如“加拿大地理信息系统”、“福建省生态环境数据库系统”等。系统名称前一般都冠以区域名称,即指明了系统的区域性。
2. 目的性
应用型GIS,一般都具有更为明确的应用目的和使用对象。如:福建省减灾防灾综合信息评估系统,明确指明其应用目的就是为福建减灾防灾评估服务,它的使用对象只能是对福建灾害的时空格局、灾害预测及评估,查询、建模和调控等功能。
3. 核心应用模型
应用型GIS,特别是专业性的GIS,一般以一个或几个核心应用分析模型作为系统的核心应用模型。这些应用模型,有的是GIS常规的应用分析方法或模型——如缓冲分析、邻域分析、地形分析、叠加分析、最短路径分析等的简单使用或各种组合,但更多的是以这些常规的应用分析方法或模型为基础,结合本专业的新理论和新技术而建立的专业应用模型。如:闽西根溪河流域水土流失综合整理研究,通过核心模型水土流失与植被的关系、水土流失与坡度的关系、水土流失与坡向的关系、水土流失与降水量的关系等来揭示闽西根溪河流域水土流失与环境要素的关系以及提出根治方案的依据。
4. 专业用户界面
应用型GIS,一般都结合专业的应用问题并针对特定的用户群体建立完全专业化和用户化的系统界面。如构建“闽江上游流域生态环境信息系统”时,在要求使用缓冲区分析模型建立河流沿岸一定宽度范围内的植被重点保护范围时,就可能在其相应的菜单项中直接使用“确定植被重点保护区范围”的专业术语,而不用“缓冲区分析”的GIS专业术语等。
应用型GIS,还可进一步划分为专题型GIS和区域型GIS,两者的比较见表8.2。
表8.2 专题型GIS和区域型GIS比较
| 专题型GIS | 区域型GIS | |
| 特点 | ①强调具有有限目标和专业特点;②一般应用范围、用户对象都比较明确,并具有很强的专业针对性 | ①强调区域的自然、社会、经济综合研究和全面信息服务为目标而建立的GIS;②一般作为社会公用的信息服务项目,没有针对性很强的专业应用目的和固定的用户对象,并且具有一个大而全面的数据库系统支持,设计区域的自然、资源、环境和社会经济的各个方面,因而也适应更多的应用部门和更广泛的用户群体。 |
| 例子 | 房地产管理信息系统、交通管理信息系统,土地利用管理信息系统 | 福建生态环境基础数据库 中国国土资源数据库 |
二、三种开发方法简介
从软件编程角度来看,目前GIS平台开发方法主要有以下三种。
(1)单纯二次开,借助于GIS工具软件(如:Arc/Info、MapInfo、ArcView、MEG等)所提供的开发语言,进行系统建设与开发,并利用这些宏语言,以原GIS工具软件为平台开发出针对不同应用对象的应用程序。这种方法对开发者来说自主性比较差,对用户的多方需求也难以实现。
(2)独立二次开发,是在VB、C或C++等环境下编程实现的“独立开发”,不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果的输出,所有的算法都由开发者独立设计,在一定操作系统平台上编程和调试,以便实现目标。此方法对开发者来说虽自主性很强,但需要开发者有较高的计算机编程技术,而且耗时多。
(3)集成二次开发,通过通用软件开发工具或是可视化开发工具(如Delphi、Visual C ++、 Visual Basic、Power Builder等)作为平台,进行二次集成开发。常见的也有两种方式:① 采用OLE Automation技术或利用DDE技术,在VB中进行软件集成,来实现GIS绝大部分功能。如将自己开发的程序和模型集成到Idrisi GIS中,从而就可建立自己的应用系统;② 利用GIS组件(如:MapObjects,简称MO),在满足用户需求条件下,实现的GIS各种功能,如基于MO的福建生态环境综合信息图谱数据库开发系统,就是基于这种方法(稍后介绍)。二次集成开发对实现GIS功能是一种比较理想的方法。
上述三种方法比较见表8.3和表8.4。对GIS设计者来说,如果选用合适的方法,可以减少系统设计过程照哦你的错误。
表8.3 三种方法实施方案指标比较
| 实施方案 | 方法一 单纯二次开发 | 方法二 独立二次开发 | 方法三 集成二次开发 |
| 对提供者的依赖性 | 高 | 低 | 中 |
| 距系统运行的时间 | 短 | 长 | 中长 |
| 初始费用 | 高 | 低 | 中等 |
| 人力费用 | 高 | 高 | 中等 |
| 风险和不确定性 | 低 | 高 | 较低 |
| 灵活性 | 中等 | 完全可以 | 完全可以 |
| 对用户技术要求 | 中等 | 很高 | 高 |
| 现有资源的利用 | 高 | 低 | 中等 |
表8.4 三种方法评价
| GIS的开发方法 | 优点 | 不足 |
|
独立二次开发 | 无需依赖任何商业GIS工具软件,能减少开发成本,程序员也可以对程序的各个方面进行总体控制。 | 由于地理信息系统的复杂性,开发的工作量是十分庞大的,开发周期长。 |
|
单纯的二次开发 | 采用可视化开发平台开发动态链接库,以实现地理系系统工具软件未提供或难以实现的功能,然后在二次开发宏语言中调用动态链接库,可以充分利用二次开发语言操纵地图对象的强大功能。 | 单纯二次开发的系统功能极弱,用来开发应用程序往往不尽如人意。 |
|
集成二次开发 | 既可充分利用GIS工具软件对空间数据库的管理、分析功能,又可利用其他可视化开发语言具有的高效、方便等编程优点,集二者所长,不仅能大大提高应用系统的开发效率,而且使用可视化软件开发出来的应用程序具有更好的外观效果,更强大的数据库功能,并且可靠性好、易于移植、便于维护。 |

