业务层)、数据层。GIS 应用系统也可以这样分解。
按应用时的网络环境,GIS 可以分为:桌面 GIS、局域网 GIS、互联网 GIS。对于桌面
GIS,三层都集中于一台机器上;对于局域网(工作组)GIS,通常是数据集中,应用分布,
即数据层在服务器上,展示层和应用层集中在客户端;对于互联网 GIS,一般是展示层在客
户端,应用层表现为 GIS 服务器和 Web 服务器,数据层表现为数据库服务器。目前最常见的
GIS 应用系统,属于局域网 GIS。
GIS 应用系统按客户端服务器的负载情况,可以分为 C/S 模式、B/S 模式。
传统 C/S 模式中(即所谓的两层结构的 C/S 模式),展示层和应用层集中在客户端,导
致 Client 端非常臃肿且负载太重;Server 端作为数据库、文件服务器,进行的业务相对简单。
为了使客户端“减肥”,而出现了三层结构的 C/S 模式,即:客户——应用服务器——数据库
服务器。但目前还是两层结构的 C/S 模式使用较多。所以也主要针对 C/S 模式。
B/S 模式通常表现为 WebGIS,即 Web 页面上的 GIS。
0.2 GIS 应用系统开发
GIS 应用系统开发,也可以称为 GIS 工程设计与开发,是指在 GIS 软件平台上,把专业
应用方法或模型与数据库集成起来,形成能够解决地理空间问题的专业应用软件的过程。
GIS 应用系统一般是基于现有 GIS 软件平台进行开发的,称为 GIS 二次开发。为什么要
进行二次开发?针对具体应用,定制或者开发一些新的功能。
对于 ArcGIS 平台,二次开发有三种方式:
VBA:使用 VBA 环境开发。语言就是
VBA。
DLL:使用动态链接库(DLL)组件进行开发。
基于控件构建独立的应用程序(包括使用 ArcObjects 进行开发和基于 ArcGIS Engine 开
发嵌入式应用)。
最常见的方式:基于 GIS 控件——ArcGIS Engine 进行开发。不一定最合理,习惯凌驾于
理由之上。
GIS 应用系统开发主要包括数据建库和(软件)系统开发两部分。系统开发主要就是在
集成开发环境下基于 GIS 控件搭系统。搭系统不是做算法,需要讲究开发效率。
本文中 GIS 应用系统开发时的软件配置:
GIS 平台:ArcGIS Engine9.2(及 ArcGIS Server9.2)
数据库:PGDB(Access)或 ArcSDE GDB(Oracle10g+ArcSDE9.2)
集成开发环境:VS2005 下的 VB2005/C#2.0
数据整理:ArcGIS Desktop、AutoCAD、Office Excel/Access 等。
3