gis1117
  • 注册日期
  • 发帖数
  • QQ
  • 铜币
  • 威望
  • 贡献值
  • 银元
阅读:1089回复:0

[翻译]地理数据模型的发展[转帖]

楼主#
更多 发布于:2004-01-08 11:33

地理数据模型是现实世界的抽象,它运用一系列数据对象来支持地图的显示、查询、编辑和分析。
ArcInfo 8介绍了一种新的宜于处理自然行为和要素间关系的面向对象的数据模型。为了理解这种新的模型的效果,回顾三代地理数据模型是有益的。
I  CAD数据模型
这是第一个真正计算机化的制图系统,它采用阴极射线管生成的线来绘制矢量地图,用排成一线的打印机通过套印对象来绘制栅格地图。由此开始,20世纪60年代和70年代,出现了优化的制图硬件和绘图软件,他们使地图具有了合理的制图保真度的。
在这个时代,地图通常是有普通的CAD软件绘制的。CAD数据模型以二进制文件格式存储地理数据,以点、线和区域的形式表达。在这些文件中保存了少量的属性信息;地图图层和注记表是属性的主要表达方式。
II  COVERAGE数据模型
1981年,ESRI推出他的第一个商业GIS软件——ArcInfo,它采用的是第二代地理数据模型——coverage数据模型(也称为地理关系数据模型)。这个模型有两个主要特点:
l        空间数据与属性数据是关联的。空间数据存储在二进制索引文件中,这对于显示和访问数据都是最优的。属性数据存储在表中,这个表的行数与二进制表所记录的要素数目相同,两者通过一个通用标识符关联。
l        可以存储矢量数据间的拓扑关系。这意味着对一条线的空间数据的记录中包含了哪个节点将这条线断开的信息,进而推断出哪些线是相接的,以及哪些多边形在线的左边和右边。
Coverage数据模型的主要优点是允许用户自定义要素表,不但可以添加字段,还可以数据库关系设置成外部数据库的表。

考虑到当时计算机硬件和数据库软件性能的局限,直接在关系数据库中存储空间数据是不现实的。因此,coverage数据模型就在二进制空间数据索引文件与属性数据表之间建立了关联。
尽管coverage数据模型这种空间数据和属性数据的分割是一种折中,但它仍然成为GIS中主要的数据模型。这是因为:coverage数据模型使高性能GIS成为可能,并且通过存储拓扑关系改良了地理分析和提高了数据输入精度。
Coverage数据模型的局限
然而,coverage数据模型有一个显著的缺陷——要素都被聚集到具有相同行为的点集合、线集合、多边形集合里。代表路的线的行为与代表溪流的线的行为是相同的。
Coverage数据模型支持的这种相同行为增强了数据类的拓扑完整性。比如你填加一条穿过多边形的线,那么这个多边形就会自动分为两个。
但是,令人欣慰的是coverage数据模型也支持溪流、道路及其他真实世界对象的特殊行为。比如溪流是单向流动的,当两条溪流汇合时,下流的河段就是上游两段的延续。再比如当两条路相交时,在两条路的接合处一定有十字路口,除非其中一条路是天桥或地下通道。
Coverages中的自定义要素
运用coverage数据模型,ArcInfo的应用开发者们通过在AML中编写的宏代码,在增加要素的这种自定义行为上取得了显著成绩。有很多成绩,如大比例尺、工业精细应用都得以实现。
然而,随着应用变得越来越复杂,找到一种更好的连接行为与要素的方式已迫在眉睫。问题是,开发者的任务是保持软件代码与要素类的同步性——而这并不是一个简单的任务。开发一种包含使行为与要素紧密相连的构件的新的地理数据模型的时候到了。
III  GEODATABASE数据模型
ArcInfo 8推出了一种叫做geodatabase data model的面向对象的新的数据模型。这种新数据模型定义的目的是使你在GIS数据集中的要素更加灵活,这是通过赋予他们自然行为和允许在要素间定义各种关系实现的。
Geodatabase data model是使物理数据模型更接近逻辑数据模型。Geodatabase中的多数数据对象与你在逻辑数据模型中定义的对象都是相同的,比如所有者、建筑物、地块,以及公路。
此外,geodatabase data model.还允许你完成大多数的自定义行为,却无须写任何代码。绝大多数行为是通过ArcInfo 提供的域、有效性规则以及其他框架函数实现的。只需要对要素的更专业的行为编写软件代码。
对象交互作用的情境
为了真正理解面向对象的数据模型的重要性,这里有一些情境,它们阐明了你可能对要素执行的常规操作。从这些情境中,我们将提炼出面向对象的数据模型的优点,从而重新审视geodatabase data model的特征。
填加和编辑要素
当你向GIS数据库中填加地理要素时,你希望确保要素依据规则放置在正确的位置,比如下面的规则:

l        你为属性赋的值要满足有效性规则。一块地只能赋予一种特定的用途,如“居民地”或“农业用地”或“工业用地”。

l        一个要素可以与另一个要素邻近或相接,除非有特定的限制。把酒存储在学校附近是法律不允许的,另外,城市道路与高速公路相接也是不允许的除非在变坡部分。

l        特定要素的集合符合它们天然的空间排列顺序。水永远是向低处流的。某一节点处的水流量是上游水流量之和。

l        要素的几何形状符合它的逻辑位置。连成公路的直线和弧是相切的。另外,建筑物的拐角通常是直角。
要素间的关系
世界上的所有对象都与其它对象有着各种关系。从GIS的角度来看,这些关系大致可以分为三类:拓扑关系、空间关系、一般关系。
这是一些说明上述各种关系类型的例子:

l        当你在电力线系统中编辑要素时,你希望确保一级电力线的端点与二级电力线是准确对接的,那样你就能够在电力网中实施跟踪分析了。你在一个连接系统中加载或编辑要素时,一系列拓扑关系已经为你定义好了。

l        当你操作一张有建筑物、街区、校区的地图时,你可能想判断哪个街区包含特殊的建筑物,校区里所有建筑物的集合,以及哪个街区没有建筑物。GIS的基本功能就是判断一个要素是否在另一个要素的内部、是否与另一个要素相交、是否在另一个要素的外部、或者是否与另一个要素重叠。空间关系是从要素的几何形状推断出来的。

l        有些对象间的关系没有展现在地图上。一块土地与所有者间有所有关系,但所有者并不是地图上的要素。一般关系连接了地块与所有者。地图上的一些要素间有某种关系,但他们的空间关系不清晰。电表通常在变压器附近,但它与变压器是不相连接的。在拥挤的地区,电表与变压器有可能无法依据它们之间的空间临近而有效关联,于是就通过一般关系将二者关联起来。
制图显示
通常,你会用事先定义好的符号在地图上绘制要素,但有时你想更多地掌控要素是如何绘制的。这里有一些特殊的绘图行为:

l        当你显示等高线时,你希望它的高程注记在较平直的线段处,注记间的距离大致均匀如4英寸,而且不要覆盖其它要素。

l        当你在碎部图上绘公路时,你希望把路绘制成平行线,并且在道路交叉点处绘出流线型的道路交叉口。

l        当若干电力线按照自然法则架设在同一组电线杆上时,你可能根据地图单位的一个标准偏移量将它们描绘成一组分散的平行线。
交互分析
动态地图显示需要用户通过点击来选择要素、查找属性和关系,以及实施分析。这是一些你希望在选定的要素上完成特定任务的例子。

l        点击地图上的要素,显示并调用自定义的格式来查询或刷新要素属性。
l        选中计划维修的电力网络的一部分,找到所有的下游用户,并制定邮件列表以通知他们。
Geodatabase数据模型的优势
贯穿这些情境的一般结论是应用面向对象的数据模型对要素建模很有用的。
面向对象的数据模型让你更加自然地刻画要素特征,其实现方式是允许你定义自己的对象类型,定义拓扑、空间和一般关系,以及获知这些对象是如何与其它对象交互作用的。应用geodatabase数据模型的一些优势如下:
l        数据输入和编辑更加精确。通过智能的有效性规则可以避免绝大多数的错误。对多数用户来说,就是因为这项引人注目的优势而采用geodatabase数据模型的。
l        用户可以操作更加直观的数据对象。经过合适的设计,geodatabase包含的数据对象符合用户模型的数据。用户操作的对象依自己的兴趣而定,如变压器、道路、湖泊,而不是一般的点、线、区域。
l        要素间有着多样的关系。你不仅要定义要素的性质,还要定义它与其它要素的关系,即拓扑连接、空间表示和一般关系。这允许你详细说明该要素在与之关联的要素被移动、改变或删除时,它将如何反应。这种关系也允许你定位或查找与其它要素关联的要素。
l        绘制出更优质的地图。你可以更多地控制要素如何绘制,并且可以填加智能的绘制行为。你可以在ArcInfo的制图软件ArcMap中直接应用功能强大的绘图方法。专业化的绘图方法可以通过编写软件代码实现。
l        地图上的要素都是动态显示的。当你处理ArcInfo中的要素时,他们可以对邻近要素的变化作出回应,你也可以将自定义查询和分析工具与要素连接起来。
l        要素的形状更容易定义。Geodatabase数据模型允许你运用直线、圆弧、椭圆弧及贝塞而曲线定义要素的形状,
l        要素类是连续的。原则上,geodatabase能容纳海量的要素而无须补丁或其它空间隔离。
l        多个用户可以同时编辑地理数据,geodatabase数据模型支持同一区域内的多个用户编辑要素的流式工作,它会解决由此产生的冲突。
可以肯定,没有面向对象的数据模型你也能实现上述的某些优势,但是你将处于不利条件下——你需要写外部码,它们与要素间连接松散,并且复杂又易出错。
Geodatabase数据模型的主要优点是你有一个使创建智能要素非常容易的框架,这些智能要素能够非常形象地模拟现实世界对象间的交互作用和行为。
喜欢0 评分0
游客

返回顶部