第三章 开始你的ArcInfo项目

在上一章中, 你知道了计算机是怎么用x,y平面坐标系统来存储诸如点线面之类的地图特征. 你也知道了描述性的信息是怎样以表格的方式存储在数据库中的, 以及属性数据与地图特征之间是怎样通过一个标识而连接起来的.

现在你将要开始把这些概念应用到GIS项目中去. 本章的开始部分讨论进行一个典型的GIS项目的四个步骤:

  • 设定目的
  • 建立数据库
  • 执行分析
  • 展示分析结果

本章的其余部分讨论数据库建立的最初步骤: 数据库设计. 具体地, 将讨论到:

  • 确认所需要的空间数据层
  • 定义各种属性及其代码 用主控TIC文件来注册地理坐标
  • 代号表
  • 存储安排

项目概要

一个GIS项目可以划分为一系列的步骤. 尽管你所遇到的很多项目其解决步骤会非常相似, 特定项目的设计和应用是需要很多考虑的.

步骤1: 设定项目的目的

这是一个项目开始的第一步. 重要的条款包括:

  • 需要解决的是什么问题? 当前这种问题是怎样解决的? 有不需要使用GIS就可以解决的方法吗?
  • 最终将生成什么产品? 报告, 工作底图, 还是报告使用的地图? 这些产品需要经常生成吗?
  • 听众是谁?技术人员?制定计划者?还是普通听众?
  • 这些数据还将有其它(可能的)用途吗? 如果有, 对这些数据有些什么特殊要求呢?

步骤2: 建立数据库

这是最关键也是最耗费时间的一步. 数据库的完整性和准确性将绝对分析和最终产品的质量. 建立数字化的数据库的步骤通常为:

  • 数据库设计:确认研究区边界, 将采用什么坐标系统,需要哪些数据层, 每层都包含些什么特征, 怎样组织和编码这些属性. 本章将主要讲述这些内容.
  • 自动操作数据:包括以下步骤:
    • 将空间数据输入数据库中, 即数字化或从其它文件格式转换(第四章)
    • 使你的空间数据可用: 查找和修改错误, 建立拓扑关系(第五章)
    • 输入属性数据, 并使之与空间数据相连接(第六章)
  • 数据库操作和管理: 将数据转换位真实世界坐标, 合并相邻的coverge, 维护数据库.(第七章)

步骤3: 数据分析:

只有数据分析才能真正体现地理信息系统的价值. GIS可以很有效地执行那些靠手工非常耗时或几乎不可能做到的分析操作. 通过GIS, 你只需要稍微改变一下分析方法就可以测试一系列的可能情况.根据你对项目的设定和建立的数据库, GIS可以很好地完成任务. 第八章将详细讨论地理分析.

步骤4: 展示你分析的结果:

GIS提供很多的方法来定制地图和生成报告. 你最终的产品应该与你在项目开始时设定的目标和计划的听众直接相关.你的总结和用图形和表格数据表示你分析结果的技巧,将可能影响到决策的制定. 第九章将讨论这个问题.

设定项目的目的

本书的后面部分将详细讲述一个GIS的小项目, 通过它你将可以学习到GIS项目的流程和ArcInfo的功能. 项目介绍: 本地的一个大学计划为水产系修建一个实验室来进行一个研究项目. 他们的选址条件限定为沿海岸的靠近小镇的农用土地,必须满足以下的条件:

  • 面积最少2000平方米;
  • 地基土壤应适合于建筑;
  • 土地目前使用情况最好是灌木丛. (林地的清理费时费钱, 农用地保护禁止占用耕地)
  • 本地法令规定新建筑必须在已有的排污管道300之内;
  • 法律规定新建筑必须离河流边界20米以上.

你的任务就是寻找可能适合的地址. 你需要生成显示这些可能的地块, 同时显示道路交通情况, 列表显示各地块的面积和估计售价.

设计数据库

在开始进行数据自动化操作之前应该先设计数据库, 这样才能确保所有需要的特征层和属性数据都在进行分析之前已经有了. 在分析或制图过程中再修改数据库将耗费更多的金钱和时间. 而且, 一个设计合理的数据库能够确保你的数据还可以用于将来的项目.

数据库的设计受很多因素的影响. 本书所提及的只是一个简要的,简化了的过程.当然, 我们讨论到的条目同样适用于复杂的数据库的设计.

数据库的设计主要包括三个步骤: 确认项目所需要的地理特征,属性和数据层. 定义各属性存储的参数. 确保坐标的注册. 请注意你的数据来源, 不管是地图还是数字化的数据, 对于设计过程来说是很重要的. 你应该首先应该考虑你研究区的数据资料来源是什么.

确定数据层和属性:数据库设计的第一步是要明确数据库中将包括哪些数据. 这是一个三步曲:

  • 确认地理特征及其属性
  • 组织数据层
  • 确认需要操作的coverage

确认地理特征及其属性:这是由你所需要执行的分析操作和需要制作的地图决定的.根据你分析的准则和需要的地图, 每种特征可能需要一些的属性. 例如, 考虑以下准则:

  • 确认土壤适宜性
  • 利用土壤分类号码来选择灌木丛地
  • 根据面积和土地使用类来估价

根据这些准则, 你将需要土壤多边形地理特征, 适宜性级别属性; 需要 土地利用多边形特征, 土地利用编码和单价属性.

另外, 如果结果地图需要你显示土地利用类型, 道路状况, 主要的河流. 你所需要的特征和属性可以列表如下:

Geographic features Feature class feature attributes
Soils Polygons Suitability
Landuse Polygons
  • Cost per hectare
  • Land use code
  • Land use type
Roads Lines Road code
Streams Lines Stream class

数据层的组织:在你确认了所需要的特征及其属性后, 你可以开始着手组织特征层. 怎样将层组织于数据库中受到很多因素的影响, 每个项目都会有所不同. 最基本的考虑是特征类型(点线面)和特征主题.

通常, 点线面将存储于不同的层中. 例如, 水井点该存储于一个层中, 而线状的道路该存储于另外一个层中.

特征也可以通过主题来组织. 例如, 河流存储于一个层中, 而道路保存在另外一个层, 尽管它们都是线状的特征, 分开存放显然更有意义. 与河流联系的属性可能是名称, 等级, 流量等, 而道路的属性则可能是名称, 路表类型, 车道数. 因为它们的属性明显不同, 所以同一地区的河流和道路也应该分开存储.

确认需要自动操作的coverage:确认地理特征和属性及组织它们使你明白你的数字地理数据库将包含哪些coverage. 在一些情况下, 可以获得的数据可能是专题地图的形式, 也有可能已经是数字格式了.在另外的一些情况下, 你只有基础地图. 这样, 从中获得各个单独的层就比较困难, 因为基础地图上信息很多, 数据捕捉就比较困难.通常只能通过在透明地图上数字化特定特征来完成.

完成各个地图稿数字化工作以后, 你需要把地理特征以x,y坐标方式随同属性数据一起存储于你的数字数据库中.

定义各个属性:确认你的各个层所需要的属性数据后, 你需要为各个属性制定特别的参数以及其类型. 现在决定这些可以使以后的建立存储属性数据的文件的任务变得简单.(第六章)

编码:属性数据通常是一文字串或者数字的形式保存的. 你需要决定哪些属性用数字形式, 哪些属性用文字串形式保存. 例如如果你需要用街道名字来标记各街道, 你需要将街道名以文本方式存储.

一些文本属性以代码方式存储更为合适. 存储一个代码显然比存储一长串文字更容易, 也更好处理. 例如, "Urban/Developed"可以存储为UD 或者代码100. 属性编码使你更容易选择和绘制特定的特征.例如, 编码可以作为公共项与另一表相连接, 并在这个表格中指定绘图符号代码.

另外, 属性值重复很多的也最好用编码值来存储以减少数据量.

代码也可以用来代表某一数值范围. 如坡度分级就可以用数字编码来表示:1--0-10%, 2--11-25%, ......

存储空间安排: 在考虑怎样存储属性的同时, 需要考虑分配存储空间.例如, 确定文字串的最多字符数, 数字的位数和小数位数.过大地分配空间将造成数据量非常大.

建立数据词典: 数据词典维持各个coverage的属性的名称, 对属性值的描述. 数据字典对于你的数据库有着无可估量的价值, 它在整个项目进程中起到参考作用, 在移交数据给别人时更为重要.

下面是一个样本:

特征 类型 属性 描述
土壤 多边形 土壤代号 土壤类型的缩写
适宜性
  • 0
  • 1
  • 2
  • 3
  • 不适宜
  • 适宜差
  • 中等适宜
  • 很适宜
土地利用 多边形 利用代码
  • 100
  • 200
  • 300
  • 400
  • 500
  • 600
  • 700
  • 城市
  • 农业
  • 灌木丛
  • 林地
  • 水域
  • 湿地
  • 裸地
河流 线条 分类编号
  • 1
  • 2
  • 主干流
  • 小支流
排污系统 线条 直径 实际的直径
代号
  • 1
  • 2
  • 60cm
  • 45cm
街道 线条 街道代号
  • 1
  • 2
  • 良好
  • 一般

坐标注册: 确定了你所需要的所有数据层之后, 你需要保证所有的coverage能够很好地对齐. Z正如你所见到的, 你的数据库中将包含表示同一地区不同特征的coverage, 在你进行合并时, 其坐标数据必需要很好地对齐.如果你的坐标只是接近而没有对齐, 你将会遇到位移问题: 叠加时产生很多碎多边形, 制图时边缘不整齐, 在量测数据是的不准确.

诀窍: 如果某一特征在多个coverage中出现, 如研究区边界, 你可以生成一个包含这些特征的模板coverage, 然后用它来生成新的coverage, 再进行其它特征得添加.

坐标注册一般可以分为四步完成:

  1. 确保你有知道真实世界坐标的TIC点位.确认TIC点.
  2. 确保你所生成的coverage都使用这一套TIC点.
  3. 利用第一步中的坐标值建立一个只包含TIC点的coverage.
  4. 利用TIC coverage, 把你的coverage从数字化的坐标转换为真实世界坐标.

生成主控TIC coverage

确保坐标注册正确的第一步是要获得有效的TIC点位置.尽管在你进行坐标变化之前你并不需要用到这些坐标值, 在你进行数字化生成coverage之前就应该确定TIC点位.在已有的coverage上休改TIC点是很费时间的事情, 而且容易引入错误.

建立TIC点位的一个办法是建立主控TICcoverage.此coverage包含TIC的编号(ID), X坐标值, Y坐标值.由于TIC点将用于坐标的转换, 你需要保证TIC点位置很容易找到.通常, 我们采用地图的四角(经纬交点)作为TIC点.

如果地图上没有明显的TIC点位供采用, 你就需要自己选择. 通常TIC点要求在地图上很容易确认的地方, 如研究区的边角处. 同时你所选择的位置的真实世界坐标必需是已知的. 确认采用哪些位置作为TIC点后, 标记出它们的位置和编号.

我们前面讨论过, 经纬度坐标不能在平面坐标中量测, 但它往往是地图上最容易获取的准确点位. ArcInfo允许你经纬度坐标投影到二维平面中去.

开始项目的数据自动化操作

完成数据库的设计任务之后, 你就可以建立数据库, 开始收集所有需要的数据了.你需要收集那些已经是数字化的资料, 不管是以ArcInfo coverage的格式或者是可以转换的格式. 对于其它没有数字化资料的层, 你需要获取最可能好的地图来进行数字化.

工作空间组织和命名规范: 在开始着手建设数据库之前, 有必要建立一个工作空间来存放你将要生成的coverage, 文件和地图. 而且, 现在有是该确立一些文件命名规范的时候了. 这些步骤将帮助你有效地管理项目数据.

典型的工作空间的组织包含一个工作路径, 其下是工作空间的各个层. 例如, 你可以建立一个道路工作空间, 一个土壤工作空间, 等等. 每个工作空间都包含有各个处理阶段的coverage和文件. 你有新生成的coverage, 建立拓扑结构的coverage, 修改编辑中的coverage, 等等.

c:>yourname/data/roads/.....

/land/landdg01, landcn02, landed03, info ...

/soils/......

coverage是从工作空间水平上使用的.如果你确定一些命名规范, 对你的项目进程将有很大的帮助. 好的命名规范使你仅从文件名字就能够文件的状态和处理进程. 例如:

  • LANDDG01--新数字化的coverage
  • LANDCN02--建立了拓扑结构的coverage
  • LANDED03--编辑修改错误的coverage
  • LANDBD04--重新建立拓扑关系的coverage

备份你的数据: 日常地备份你的数据可以极大地减少失败和节省时间.经过大量工作而生成的结果更应经常备份. 而且, 保存上一步处理的结果也是一个很好的习惯, 也即你的每一步新操作都是在上一步结果的拷贝上进行的. 这样你可以回到你的上一步重新进行操作. 等操作完全成功后, 你可以安全地删除多余的coverage.

高级话题: 建立一个应用系统 使你的数据不只是局限于特殊的项目, 而是达到资源共享. 不同部门的人员可以对不同的数据进行管理修改, 同时避免数据矛盾的出现.分布式的GIS.

 

本章结束