background image

业务层)、数据层。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