目录

  • 1 第1章 GIS概述
    • 1.1 GIS 相关概念
    • 1.2 GIS组成
    • 1.3 GIS功能
    • 1.4 GIS类型与特点
    • 1.5 GIS简史与趋势
    • 1.6 实验项目(1)
    • 1.7 测验(1)
    • 1.8 讨论(1)
    • 1.9 思考题(1)
  • 2 第2章 GIS地理基础
    • 2.1 地球空间的认知及表达
    • 2.2 地球形状及空间模型
    • 2.3 空间参照基础的坐标系
    • 2.4 地球时间系统
    • 2.5 实验项目(2)
    • 2.6 测验(2)
    • 2.7 讨论(2)
    • 2.8 思考题(2)
  • 3 第3章 GIS数据结构和空间数据库
    • 3.1 GIS数据结构(1)
    • 3.2 GIS数据结构(2)
    • 3.3 GIS数据结构(3)
    • 3.4 GIS空间数据库
    • 3.5 GIS数据库设计、维护及管理
    • 3.6 GIS空间查询及数据探查
    • 3.7 实验项目(3A)
    • 3.8 测验(3)
    • 3.9 讨论(3)
    • 3.10 思考题(3)
  • 4 第4章 GIS数据采集和数据处理
    • 4.1 GIS数据源
    • 4.2 地理数据分类和编码
    • 4.3 GIS数据采集和输入
    • 4.4 GIS数据处理(1)
    • 4.5 GIS数据处理(2)
    • 4.6 GIS数据质量和精度控制
    • 4.7 实验项目(3B)
    • 4.8 测验(4)
    • 4.9 讨论(4)
    • 4.10 思考题(4)
  • 5 第5章 GIS空间分析方法
    • 5.1 基于矢量数据的GIS分析(1)
    • 5.2 基于矢量数据的GIS分析(2)
    • 5.3 基于栅格数据的GIS分析(1)
    • 5.4 基于栅格数据的GIS分析(2)
    • 5.5 实验项目(4)、(5)
    • 5.6 测验(5)
    • 5.7 讨论(5)
    • 5.8 思考题(5)
  • 6 第6章 GIS应用模型
    • 6.1 GIS应用模型概述
    • 6.2 常用GIS应用模型
    • 6.3 实验项目(6)
    • 6.4 测验(6)
    • 6.5 讨论(6)
    • 6.6 思考题(6)
  • 7 第7章 GIS可视化及其产品输出
    • 7.1 地理信息可视化理论
    • 7.2 地理信息可视化技术
    • 7.3 动态现象可视化
    • 7.4 GIS输出
    • 7.5 实验项目(7)
    • 7.6 测验(7)
    • 7.7 讨论(7)
    • 7.8 思考题(7)
  • 8 第8章 GIS设计方法及应用
    • 8.1 GIS设计开发简介
    • 8.2 GIS工程开发方法
    • 8.3 应用GIS开发案例(1)
    • 8.4 应用GIS开发案例(2)
    • 8.5 综合实验-for ArcGIS
    • 8.6 测验(8)
    • 8.7 讨论(8)
    • 8.8 思考题(8)
GIS工程开发方法

GIS工程开发方法



从系统工程角度来考虑GIS开发,可划分为一系列的阶段和步骤。本节简要介绍GIS开发的系统工程方法。

一、GIS工程的概念

运用系统工程的原理、方法研究地理信息系统建设开发的方法、工具和管理的一门工程技术称为“GIS工程”,尽管它是系统工程的一个分支,但GIS工程自身也遵循着一套科学的设计原理和方法, 是系统工程普遍原理的具体应用。以空间信息作为其管理对象的 GIS, 与一般的信息系统相比,有其特殊性。GIS工程跨越了多种学科,不仅仅涉及到工程学领域,还涉及社会、经济等领域,为了解决这些领域的问题,除了需要纵向技术之外(如空间分析、计算机管理、人工智能等技术),还要有一种技术从横的方向把它们组织起来,这种横向技术就是GIS工程,也即研制GIS所需要的思想、技术、方法和理论等体系化的总称。

GIS工程的目标在于研究一套科学的工程方法,并与此相适应,发展一套可行的工具系统,解决GIS建设中的最优问题,即解决GIS系统的最优设计、最优控制和最优管理问题,力求通过最小的投入,最合理地配置资金人力物力而获得最佳的GIS产品。

GIS工程与机械工程、建筑工程不同,它作为一种软件产品是抽象的、逻辑性的,而不是实物性的,对它的研制和维护本质上是一个“思考”的过程,很难对其进行控制。GIS 的种类繁多,应用领域广泛,技术要求相差大,无法遵循统一的设计标准,没有准确的数量分析,没有足够的可靠性保证和绝对有效的维护手段,从而决定了GIS工程的研制和开发较其它工程项目要困难得多,需要在实践中不断总结,在理论上作深入研究,来达到GIS工程的研究目标。

二、GIS工程开发阶段划分及任务制定

    GIS工程的建设从计划立项到产品运行涉及到多个环节,参照其他系统的研制过程,用工程化的方式有效地管理GIS建设的全过程,可分为以下六个阶段:可行性研究、用户需求分析、系统总体设计、系统详细设计、系统实现、运行与维护。六个阶段可看作是GIS 工程建设的生命周期,尽管系统开发随应用领域不同功能要求不同而千差万别, 但开发过程仍要遵循这样几个步骤,只是各阶段的具体内容有所差别。

1.可行性研究

    这是系统建设的初始阶段,项目计划确定之后,即开始对系统进行可行性调查研究、论证,主要任务包括如下。

(1)确定系统的总体目标

我们可以把GIS的应用分三个层次:第一个层次是空间数据库,以能进行空间检索为基本要求;第二个层次是在空间数据库基础上的应用系统,  以能进行空间分析为基础,如基于GIS的辅助设计系统(CAD)、办公自动化系统(OA);第三个层次是在前两个层次基础上的各类专家系统(ES),如基于GIS的城市总体规划系统。经过可行性研究确定所建系统处于哪一个层次,主要根据系统建设规模、服务对象的要求、系统建设周期长短、GIS技术发展水平、系统建设硬软件环境等因素确定。建设系统的规划总目标应切实可行,如果大型系统建设周期较长,可以分阶段实施,分别制定近期工程和中远期工程的建设目标。

(2)数据资源的调查分析

数据是GIS运行的“血液”, 在很大程度上决定了系统运行的成功与否,在系统正式建设之前需要对数据资源进行调查、统计、分析,包括系统建设要涉及到哪些部门哪些领域的数据资料,图形数据、表格数据、文字资料是否齐全, 精度要求如何,数据的规范性如何,能否适用于计算机管理,数据的现势性如何等。基础空间信息数据作为空间定位的参照体系,在数据资料中处于特别重要的地位, 对于研究区域的系列地形图基础信息数据资料应作周密的调查分析。

(3)资金财力的调查分析

GIS建设是一项耗资极大的系统工程, 需要有足够的资金财力保证系统的建设实施,资金投入往往决定系统建设规模。对GIS开发及维护时期的资金占有情况要作充分的预测估算,对资金在硬软件资源、数据录入建库、系统管理几部分的分配要制定合理的分配方案。

(4)技术力量的调查分析

建设GIS需要相当数量的各种层次各种专业的技术人员与管理人员,运行GIS需要具有一定专业技能的用户,而且在系统开发时期与运行维护时期有不同的要求。根据系统规模大小和系统的专业领域,对技术力量的数量与结构进行分析,确定系统建设顺利实施的可保证程度。

(5)系统建设时机的把握

一个大型的GIS工程,无论其总体目标处于哪一层次,都对运行环境(部门结构、办公程序)有一个相对稳定的要求。理想的时机是,系统建设应稍滞后于机构改革和办公程序的变更。

(6)建成系统运行效益分析

分析按照既定目标建成的系统是否具有显著的社会效益和经济效益,对用户作业领域的管理水平是否有很大程度提高,能否满足用户的期望要求。预测系统运行的生命力如何,建成系统在向外提供信息咨询, 向有关用户输出图形产品等运作过程中所获取的经济效益如何。对系统的运行效益预测分析要实事求是,它是可行性研究的总结性结果,是上层决策人员作出决策的重要依据。

可行性研究阶段要作的工作繁多,需要GIS开发人员与用户和领导决策人员充分接触,必要时应对领导决策人员和用户进行GIS入门的培训学。深入调查后找出建设系统的有利和不利因素,全面听取正反两方面意见,正确分析系统建设中所面临的困难。提交的可行性研究报告要实事求是,证据充分。最后,组织各方面专家进行论证,作出最终决策。

2.用户需求分析

根据GIS的应用领域和服务对象,把来自用户的信息加以分析、提炼,最后从功能、性能上加以描述,是用户需求分析阶段的任务。系统分析员从逻辑上定义系统功能,解决“系统干什么”,抛开了具体的物理实现过程,暂不解决“系统如何干”。用户需求分析的结果是要获得GIS系统的逻辑模型,这一阶段是系统建设成败的关键,主要任务包括如下。

(1)弄清用户现行业务的运作过程,定义用户需求逻辑功能

用户的业务运作本身就是一个系统,有其内部功能结构,有其运行环境和对外接口。需求分析就是要充分理解该运行系统,根据业务功能的聚散性对系统进行结构化划分,界定系统的功能范围,获取系统与环境进行信息流交换的关系。需求分析还要弄清哪些业务子过程可以通过GIS 在现有发展水平下进行管理或辅助管理,哪些则不能,通常需求功能大于GIS可实现功能。如面向城市规划管理的GIS,对规划设施的指标信息查询可以实现,对建设项目自动选址, 由于涉及多种专业知识的演绎推理,需要基于知识的较强的空间分析功能, 对数据精确完备性有限定的要求。目前水平下,在GIS中实现这一功能是有一定困难的。

(2)详细分析数据的加工处理过程---数据流程图分析

面向空间管理的业务部门,其业务运作是基于大量的图形资料、图表资料、表格数据和文字资料,这些数据的流程反映了其管理作业程序。通过结构化分析把业务过程细化, 对每个细化的业务子过程中的数据处理通过数据流程图来描述,由数据流向、加工、文件、源点和终点四种成份,得到数据操作的逻辑模型.

(3)对空间数据、属性数据进行定义——数据字典设计

在数据流分析的基础上对数据流条目、加工条目、文件条目进行详细描述定义,列出组成该条目的数据项及组织方式、数据类型、存贮长度、取值范围。如“规划设计要点”这一文件条目包括的数据项有用地面积、建筑面积、建筑密度、容积率、居住人口、绿化率、停车场面积、公共设施配套要求、四周退红线距离等。数据字典所描述的对象既有“过程性”数据,也有“状态性”数据。此外,用户业务中的一部分数据隐含在地形图及有关专题图件中,专业管理人员从地图上识别、思考获取这些数据,包括图上注记形式表达的空间设施数质量指标,要素间的空间关系,空间设施组成的群体结构等,在设计数据字典时,应特别注意对这部分数据分析加工进行显式定义,建立空间目标的属性表,为数据组织设计作准备。

(4)用户需求分析报告的撰写

作为该阶段的最终成果,需求分析报告书通过用户系统运作逻辑过程图、数据流程图、数据字典等工具对系统的逻辑模型进行描述,作为下一阶段系统设计的依据。

3.系统总体设计

系统设计是GIS建设的核心阶段,根据设计的层次深度分为总体设计与详细设计,系统总体设计的任务如下。

(1)确定子系统的划分

一个大型的GIS往往要根据一定要求划分成若干子系统,划分的依据有:① 功能的聚散程度;② 运行过程邻近性;③ 数据的共享;④ 行政管理机构的设置。系统设计时,单从面向用户考虑,往往只根据业务部门管理机构的设置划分子系统,一个部门对应一个子系统。当部门的职能范围和管理体制不科学不合理,机构设置不够稳定时,会给系统建设带来极大的困难,因此,应综合考虑这四方面的因素。子系统划分之后,应确定各子系统模块的总体功能,界定各自功能范围。

(2)各子系统之间的接口设计

子系统之间的联系表现在数据共享、中间数据交换和子功能调用等方面。如城市建设信息系统划分成土地、规划、房产、市政、建筑几个子系统,各子系统都要共享空间基础数据、规划数据、地籍数据、管网数据,各自使用的深度和形式不一样。应严格约定这些公用数据的交换格式,保持数据库建库方案的一致性。另外针对不同的子系统数据的使用权限要进行定义。

(3)系统网络设计

包括系统各部分间数据通讯设计,主机、终端设备、通讯接口之间的联系,网络中进程控制,数据访问权限等内容的设计。

(4)硬软件配置

工作站、微机、存贮设备、数字化仪、扫描仪、绘图机及其它外围设备的选定与配置,分系统开发期与系统运行期分别配置。GIS开发平台软件及其它辅助性软件的选定,在充分考查基础上同时顾及功能、容量、性能/价格比、运行效益、可操作性、可维护性多种因素影响。

4.系统详细设计

设计内容包括数据组织和功能操作两方面,详细设计是在总体设计基础上将子系统功能进一步细化。

(1)数据库设计

基于数据流程图分析建立的系统逻辑模型,进行数据模型设计、数据结构设计,建立空间数据与属性数据的连接关系。一般GIS开发平台软件提供数据库管理系统,如Arc/Info的LIBRARIAN,具体设计时根据平台软件要求对LAYER、TILE进行分析设计。空间数据库设计主要是数据分层、要素属性定义、属性编码、空间索引建立等。

(2)数字化方案的设计

数据采集方式(手扶跟踪数字化、图像扫描)的选择,应根据图形数据在系统中所发挥的作用,作为背景定位、提供信息查询、参与空间分析等,确定相应的数字化方案,根据需求功能和数据库组织的要求决定要素的选取与分层,确定数字化中要素关系处理的策略,规定数字化精度要求,规定作业步骤,制定质量检查方案。

(3)系统详细功能的细化与设计

用户需求分析阶段定义了大量的需求功能,该阶段对这些功能具体化。功能是在一定数据上实施的,应先考查该功能所要求的数据能否提供,精度能否达到要求,如果不能,该需求功能将被取消,或推迟到二、三期工程完成。另外要顾及GIS开发软件实现该功能的难易程度,要求系统设计员对开发软件的底层功能比较熟悉,如果开发软件没有提供基础功能,用户从底层开发难度又较大,该功能也将被取消,推迟到软件升级功能完善之后再实现。

(4)菜单、界面、图形显示设计

GIS 是视觉产品,要求给用户提供美观、友好的界面环境。图形显示的背景、专题内容、图例、图表、文字说明的符号颜色与平面布局要有体系,这方面的设计可参考地图学中的图面设计、符号设计的有关内容。

(5)系统安全性设计

应对用户分类,规定各类用户的操作级别, 设计不同数据的访问权限,建立进入系统的口令与密码,建立系统运行事务跟踪记录历史文件.

(6)输入输出设计

对于交互式操作的GIS规定数据输入方式,选择键盘、鼠标、数字化仪输入设备,规定图形图表输出文件格式,选择输出设备,选定输出精度。

5.系统实现

完成系统物理模型的建立,该阶段工程量最大,主要任务如下。

(1)程序编制与调试

在GIS开发平台软件提供的宏命令语言基础上进行代码设计,逐个实现设计阶段定义的功能。程序编制与调试通常应以完备的样区数据为基础。

(2)数据准备及数据库建立

根据建库方案进行数据采集入库。

(3)子系统联网,测试运行效益

(4)用户评价系统完成质量

(5)用户手册、操作手册、测试报告编写

(6)操作人员培训

6.运行与维护

GIS在系统维护中得以生存,维护是决定其生命力的重要阶段。

(1)数据更新

地形图周期性的修测,其他专题图、统计数据、文本数据不时更新,要求时时对系统的数据库维护更新,保持其现势性。

(2)系统功能拓宽完善

用户管理体制的改变、开发平台软件升级、数据形式更改都要求对GIS系统修改增加新的功能,满足用户最新要求。

(3)硬件设备的维护

三、GIS工程开发中的组织管理


1、组织机构

GIS工程建设应该成立专门的组织机构,负责系统的开发管理工作,组织机构可分为三个层次:高层是领导小组,中层是总体技术组,底层是各种工作组。一般地说,底层的各种工作组的设置应考虑系统规模,从专业构成上应有计算机软硬件人员、测绘专业尤其是地图学专业的人员以及与系统用户有关的专业人员,如土地管理与城市规划专业的管理人员和规划师,所有这些人员都应受到GIS原理的基本训练。

2、开发进程管理

(1)开发人员的配置

开发人员是GIS建设中最活跃的因素,可以将其分为三类:高级技术人员(GIS专家或受过GIS基本训练的系统分析员、系统设计人员)、一般技术人员(代码设计员、数据录入员、系统管理员)和管理人员(领导决策者、各阶段的公关协调人员)。工程建设的不同阶段对各类人员的数量要求是不一样的,一般地说在系统实施阶段人员需求量大于系统规划阶段,这也是大多数城市在建设GIS时多采取技术承包的原因。

(2)开发阶段的纵向协调

GIS工程建设的生命周期是有序的, 前后阶段具有衔接性、依赖性,各阶段的工作要不时地反馈协调。若在设计阶段进行物理模型设计时发现数据流程图、数据字典不够完备,逻辑模型十分模糊,应当返到分析阶段重新进行逻辑模型的设计。生命周期的划分也是相对的,系统规模小时总体设计与详细设计可以合并。而且阶段的某些顺序可以打破,如数据库建库工作在建库方案制定好之后可以提前进行。

(3)各子系统开发的横向协调

子系统开发往往由多个开发组并行进行,总体设计中对子系统间的接口及其他联系有明确规定,在实际建设实施中要作管理上的协调,对共享数据格式、传递数据形式、功能调用需要各开发组不时集中讨论协商。

(4)取得用户的密切配合

最好能吸收专业用户中熟悉业务的专职人员直接参与系统开发,尤其是在系统建设前期阶段。

3.文档管理

整个GIS工程建设中要产生多种文档,包括可行性研究报告、用户需求分析报告、总体设计方案、详细设计说明书、数据库建库方案、数字化方案、操作手册、测试报告等。这些文档是软件的一个部分,是开发人员逻辑设计思想的体现,是系统建设的重要成果,是系统维护的重要依据。

文档建设要与开发阶段相配套,作为阶段性成果,一个阶段结束时相应的文档也应提交出来,并作为下一阶段的指导性依据。没有用户需求分析成果,系统设计就无法开展;没有详细设计说明书,代码设计就无法进行。开发过程中,对先行成果作了修改,同时要在文档中体现,前后阶段文档内容要衔接,形成一定体系。很难对文档的编制制定统一规范的格式,但各文档的内容可以规定。文档的术语要符合软件工程的内容要求。在需求分析报告中运用正确表达的数据流程图,数据字典描述工具表达系统的逻辑模型,比自然语言描述要强得多。比较底层的与GIS开发平台紧密相关的文档应使用平台软件指令、功能术语。如选Arc/Info作为开发平台,在数字化方案、程序设计说明书中应出现TIC、COVERAGE、LAYER、ROUTE、TIN等术语。