当前位置:甜馍馍地理信息网 >> 地理信息系统GIS >> 算法与数据结构 >> 正文 >>  [阅读资讯:从数据结构角度理解ESRI的Geodatabase设计指导]

从数据结构角度理解ESRI的Geodatabase设计指导

[ 来源:互联网 | 时间:2007年09月22日 | 收藏本文 ] 【

地理信息系统是一个丰富的数据宝库,这些数据是自然features和facilities,比如交通和公用事业网络。当这些数据以geodatabase收集和管理时,如果不为了地理用途,外部的数据库应用系统也可以有效地获取和共享这些数据。地理数据模型是真实世界的抽象,它使用一系列数据对象来支持地图的显示、查询、编辑和分析。

一 对象建模与GeoDatabase

1 用GIS建模对象

地理信息系统(GIS)的目标是提供地理框架以支持地球资源智能利用的决策和管理人造环境。

大部分时候,一个GIS以地图和符号的形式提供信息。观察提供的地图,它提供你这样一些识:事物在那里,他们是什么,怎样通过道路或者其他交通方式到达那儿,以及领接和领近的事物事什么。GIS也能够通过与个人电脑上的地图进行交互对话来传播信息。这一交互可以揭示纸质地图上不明显的信息。

比如,我们可以查询一个feature已知的所有属性,建一个连接网络中两点所有事物的列表,以及对诸如水流、旅游时间或污染扩散等测量质量的模拟。显示和分析用的信息取决于你如何个世界上的地理物体。

建模一个系统的诸多途径

我们与在这个世界上的物体进行的交互是各种各样的,你可以通过很多途径为他们建模。例如:河流。河流的设计就很有趣,因为它们是自然对象,它们为交通而用,它们划定政治和行政区域,它们是地表重要的特征。可以想到很多种方法来在GIS中建模河流。

地图用途指导数据模型

很明显,即使一个普通的地理物体比如河流也能够在GIS中通过多种方式表达。没有一种模型是一定优越的。你想要创建的地图类型和要解决的问题领域将指导那种模型最佳。

2 地理数据模型进展

地理数据模型是真实世界的抽象,它使用一系列数据对象来支持地图的显示、查询、编辑和分析。ArcInfo介绍了一种新的面向对象数据模型以及它对于表达自然行为和特征关系的优势。要理解这种新模型,我们首先回顾一下三代地理数据模型。

I CAD数据模型

最早计算机化的地图系统绘制矢量地图是使用阴极射线管射出的线,绘制栅格地图是使用线划打印机的套印符号。由此起源,60和70年代产生图形硬件和绘图软件的优化,能够以合理的制图逼真度渲染地图。

在这个时代,地图主要由普通的CAD(计算机辅助制图)软件绘制。CAD数据模型以二进制文件格式存储地理数据,并以点、线划和面域的形式表达。很少属性信息能保存在这些文件里;地图图层和注记是主要的属性表达方式。

II Coverage数据模型

1981年,ESRI推出它第一个商业化GIS软件ArcInfo,它应用了第二代地理数据模型—coverage数据模型(也称为地理关系数据模型)。这种模型两个关键方面:

* 空间数据与属性数据相结合。空间数据存储为索引化二进制文件,它为显示和存取做了优化。属性数据存储在表里,有一定数量的行,行数等同于二进制文件中的Feature数量,通过共同的唯一码组织在一起。

* 能够存储矢量feature的拓扑关系。这意味着一个线状的空间数据纪录包含了以下信息:哪些节点界定了这条线,通过推断可知哪些线相连,还有哪些多边形在其左边和右边。

coverage数据模型的主要进步在于给与用户自定义Feature表的能力;不仅仅可以添加字段,而且相关数据库可以建立为外部数据库表。由于当时计算机硬件和数据库的限制,空间数据直接存储入关系数据库不可行。因此更好的选择是,coverage数据模型结合了索引化二进制文件的空间数据和表状属性数据。

尽管这种空间数据与属性数据的分割是一种折衷选择,coverage数据模型仍成为GIS主流数据模型。这是有很好理由的——coverage数据模型使得高性能GIS成为可能,存储了拓扑关系便于改进地理分析和更加精确的数据录入。

coverage数据模型的局限

coverage数据模型有一个重要的缺陷——feature由同样的点、线、多边形集合聚合而成,它们表达一般的行为。代表一条路的线的行为和代表一条小溪的线的行为是一样的。

coverage数据模型支持的一般行为导致一个数据集的拓扑完整性。一个例子,如果加一条线穿过一个多边形,它就会自动分为两个多边形。但是也需要支持溪流、道路和其他真实世界物体的特殊行为。例如,一条河流向一个方向流动,当两条河流段合流时,下游河段是两股上游水流的相加;当两条道路相交,在两者接合处应该有一个交通交叉口,除非其中一条道路是立交或隧道。

在coverage中自定义feature

利用coverage数据模型,ArcInfo应用开发者通过AML所写的宏代码在为feature加入这类行为方面取得了一些显著的成功,建立了许多成功的大型产业应用。然而,随着应用变得越来越复杂,很明显需要更好的方法来结合feature和behavior。其问题是开发者要保持应用代码与feature类的同步性——这可不是容易的任务。一种新的能够紧密结合behavior和feature的地理数据模型的时代到来了。

III Geodatabase 数据模型
ArcInfo推出一种新的面向对象数据模型称为geodatabase数据模型。这种新的数据模型的定义目的在于使得GIS数据集里的feature更加智能,方法就是通过赋予它们自然行为以及允许feature间任何种类的关系。geodatabase数据模型使得物理数据模型与其逻辑数据模型更加接近。geodatabase中的数据对象最接近于逻辑模型中定义的,比如说所有者、建筑物、地块和道路。

进一步,geodatabase数据模型让用户不用写一行代码就可以实现大部分自定义行为。大部分行为是通过ArcInfo提供的领域、确认规则和其他函数的框架实现的。仅仅在为更专业的feature行为建模时才需要撰写代码。

对象交互情境

为了让你对面向对象数据模型重要性有一个认识,这里有举了一个情境,它表明了通常你需要对feature所作的操作。从这个情境,我们仔细考察面向对象数据模型的长处以及总览一下geodatabase数据模型的特性。

(1)填加编辑feature

当你为你的GIS数据库填加地理feature时,你要保证feature根据规则进行正确的布置,就比如:

* 你赋予一个属性的值必须在一个可预测可允许的值的集合内。一个土地地块只能赋予一定的土地用途比如“居住”“农业”或者“工业”。
* 一定feature的集合遵从于他们自然的空间组合。一个河流系统应该总是往低处流。汇流点的下游水流是上游水流的总和。
* feature的几何形状遵从它的逻辑布局。构成道路的直线和曲线必须相切。建筑物的拐角绝大部分是直角。

(2)feature间的关系

地球上所有物体都与其他物体有关系。从GIS角度看,这些关系可以分为三类:拓扑关系、空间关系和一般关系。

有些例子可以说明这三种关系:

* 当你在一个电力事业系统中编辑feature时,你要确定主线和次线的端点正好接上,你就能够在电力网络上实施跟踪分析。当在一个相互连接的系统中装载和编辑feature时,就定义了一系列的拓扑关系。

* 当你操作一幅有建筑、街区和学校区的地图时,你可能想要判断哪一个地块有一个特殊的建筑,所有包含学校区的建筑集合,以及没有建筑的街区。一个GIS的基本功能就是判断一个feature是否与另一个feature是包含、相接、叠加。空间分析从feature的几何形体推断而来。

* 有一些对象之间的关系并不表现在地图上。一个地块与一个所有者有关系,但是这个所有者并不是地图上的feature。一般关系联接了地块和所有者。一些地图上的feature有关系,但是他们的空间关系并不明显。一个需给电表在一个变压器附近,但与其没有接触。在人口稠密地区电表和变压器空间上的接近可能不能保证其可靠性,因此一般关系将两个feature联接在一起。

下一页
本文共 3 页,第  [1]  [2]  [3]  页

【推荐本文】 【打印本页】 【返回顶部

>> 相关文章:

● 上一篇文章:没有了
● 下一篇文章:常用的空间插值方法汇总及各自特点
最新文章
推荐文章