wuwxxia
路人甲
路人甲
  • 注册日期2004-07-01
  • 发帖数158
  • QQ303098876
  • 铜币171枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1931回复:4

什么是Geodatabase

楼主#
更多 发布于:2004-09-14 20:18
<P align=center><B><FONT face=宋体><FONT size=1>什么是Geodatabase<I>

</I></FONT></FONT></B>
<p>
<P><B><I><FONT face=宋体 size=1>1、引言</FONT></I></B></P>
<P><FONT face=宋体 size=1>随着ESRI ArcGIS 8系列GIS平台软件的推出,我们发现,当谈到空间数据模型和格式的时候,多了一个原来不曾出现的新词:Geodatabase。从字面意义上讲,我们可以将“Geodatabase”拆分为“Geo”和“database”两部分。其中,“Geo”,即“Geography”——“地理”,与“database”——“数据库”连在一起,就是“Geodatabase”——“地理数据库”。“地理数据库”给了我们一个对Geodatabase极为直观的解释,同时,也给了我们一个较大的、较容易混淆的想象空间。在ARC/INFO 7.X以前,空间数据是以Coverage、TIN、GRID等格式表达和管理的,这些数据格式与Geodatabase是一种什么样的关系?Geodatabase可以取代它们吗?Geodatabase更好吗?好在哪里?拓扑关系在Geodatabase中是如何处理的?等等问题。下面本文将就这些问题进行探讨。</FONT></P>
<P><EM><B><FONT face=宋体 size=1>2、COVERAGE、SDE 3 LAYER和Geodatabase</FONT></B></EM><B><B><FONT face=宋体 size=1>a、什么是Geodatabase?</FONT></B></B></P>
<P><FONT face=宋体 size=1>Geodatabase是ArcInfo 8引入的一个全新的空间数据模型,是建立在DBMS之上的统一的、智能化的空间数据库。所谓“统一”,在于Geodatabase之前所有的空间数据模型都不能在一个同一的模型框架下对GIS通常所处理和表达的地理空间要素,如:矢量、栅格、三维表面、网络、地址等,进行统一的描述。而Geodatabase做到了这一点。所谓“智能化”,是指在Geodatabase模型中,地理空间要素的表达较之以往的模型更接近于我们对现实事物对象的认识和表述方式。Geodatabase中引入了地理空间要素的行为、规则和关系,当处理Geodatabase中的要素时,对其基本的行为和必须满足的规则,我们无需通过程序编码;对其特殊的行为和规则,则可以通过要素扩展进行客户化定义。这是其它任何空间数据模型都做不到的。</FONT></P>
<P><B><FONT face=宋体 size=1>b、COVERAGE及其局限性</FONT></B></P>
<P><B></B><FONT face=宋体 size=1>COVERAGE数据模型:
Coverage数据模型在GIS界可谓家喻户晓。它源自ESRI于1981年推出的第一个商业化GIS软件——ARC/INFO。在此之前,计算机化的图形表示,主要是源自通用的CAD软件。在CAD的数据模型中,点、线、面等几何要素以二进制形式保存于文件中,相关的注记、颜色、线型等属性也跟几何数据放在一起。当我们从信息系统的角度来审视这些CAD数据模型时,发现其对于空间数据的信息描述和分析有着致命的弱点。而ARC/INFO的Coverage数据模型,则通过以下两个方面的优势,确立了它在此后近二十年的时间里的空间数据模型标准的地位:</FONT></P>
<P><FONT face=宋体 size=1>* 空间数据与属性数据关联。空间数据放在建立了索引的二进制文件中,属性数据则放在DBMS表(TABLES)里面,二者以公共的标识编码关连。
* 矢量数据间的拓扑关系得以保存。由此拓扑关系信息,我们可以得知多边形是哪些弧段(线)组成、弧段(线)由哪些点组成、两条弧段(线)是否相连以及一条弧段(线)的左或右多边形是谁?这就是通常所说的“平面拓扑”。</FONT></P>
<P><FONT face=宋体 size=1>Coverage数据模型中,我们可以扩展和定义属性表,还可以定义属性表和外部数据库之间的关系。同时,由于当时计算机硬件速度和数据库技术的水平所限,不太可能将空间数据直接存入数据库。Coverage直接建立和存储拓扑关系的思想,正好在当时的条件下使得GIS得以实现较高的空间数据采集精度、存储效率和空间分析能力。</FONT></P>
<P><FONT face=宋体><FONT size=1>但是,在新的技术条件下,COVERAGE的这些优点是否还能得以保持?答案是否定的。那是因为,用COVERAGE模型,在数据采集、编辑时,ArcInfo可以严格地检查多边形是否封闭、是否存在悬挂节点等,以保证建立正确的拓扑关系。但是,如果我们不以逐点、逐线追踪的方式进行空间数据“数字化”,而是按面向对象的方式,明确地输入点、线或面类型的空间要素对象,这样的检查就可以由系统自动保证了。此为其一。</FONT></FONT></P>
<P><FONT face=宋体 size=1>COVERAGE用点、线、面相互关联的拓扑结构记录空间数据,对于多边形的公共边,它不会重复存储,因而节省存储空间。这在内外存介质价格昂贵的年代,是十分突出的优点。随着硬件价格呈几何级数的下降,我们已不再将存储空间的节省与否作为考虑问题的重心。此为其二。</FONT></P>
<P><FONT face=宋体><FONT size=1>对于象邻接、连通和包含等空间分析功能,基于拓扑关系记录是一种不错的选择。但现在的计算机运算能力已经有了成千上万倍的提高,在普通配置的PC机上,已经可以实时地通过计算直接获得分析结果。此为其三。</FONT></FONT></P>
<P><FONT face=宋体><FONT size=1>由此看来,COVERAGE模型可取的方面,有的已经可以不再继续作为强调的因素,有的可以找到代替的、同时也是高效的途径来完成。</FONT></FONT></P>
<P><FONT face=宋体 size=1>COVERAGE的局限性:
计算机软硬件水平的迅速提高,使我们有可能重新考虑COVERAGE数据模型的局限性。“面向对象”的技术和方法已日趋成熟,并在计算机软件设计、工程应用和项目开发等领域得到日益广泛的采纳。这促使我们从“面向对象”的角度去看COVERAGE,我们发现,COVERAGE数据模型有一个明显的缺陷:空间数据不能很好地与其行为相对应。现实世界中不同的领域对象被强行地抽象成了“点”、“线”、“面”等简单空间要素。我们无法区别对待同是“点”类型的“电杆”和“水井”。在COVERAGE数据模型中,我们可以将“电杆”和“水井”同样定义为“点”,因而也可以有同样的操作——“移动”。现实世界中,“移动电杆”是个合理的动作,而“移动水井”则显得牵强。如果我们能将“电杆”和“水井”表达成两个不同的空间要素类,它们各自有不同的“行为”,则不会出现“移动水井”这样不合理的操作。对于“线”和“面”类型的空间要素,我们同样可以列举出大量类似的例子。</FONT></P>
<P><FONT face=宋体><FONT size=1>当然,我们可以通过“二次开发”,用程序来定义和处理不同“空间对象”的不同操作,把矛盾和困难“后推”,交到不得不解决问题的应用开发阶段去完成。按“面向对象”的观点,更好的办法应该是将空间要素与其行为相关联,建立“空间对象”或“地理对象”模型。而这正是Coverage力所不能及的。</FONT></FONT></P>
<P><FONT face=宋体><FONT size=1>以文件方式保存空间数据,而将属性数据放在另外的DBMS系统中。这种方式对于日益趋向企业级和社会级的GIS应用而言,已很难适应。海量数据的管理、并发操作、安全控制和访问效率等,都是我们将目光转向Geodatabase的原因。</FONT></FONT></P>
<P><B><FONT face=宋体 size=1>C、SDE 3.X的Layers</FONT></B></P>
<P><B></B><FONT face=宋体 size=1>ArcSDE 8的前一个版本——SDE 3.X。在SDE 3.X中还没有Geodatabase的概念,其空间数据模型是将空间数据组织到互不关联的若干要素层——LAYERS中。LAYER是一组要素的集合,对应DBMS的若干表(TABLES)。LAYER中存放的是简单空间要素,如:点、线、面等。用户须自行建立不同空间要素类之间的关系,空间要素的行为和规则则要在应用程序中另行开发。另外,象TIN、GRID、IMAGE、Network、参数曲线等空间对象,在SDE 3.X数据模型中尚不能表达。 </FONT></P>
<P><EM><B><FONT face=宋体 size=1>3、Geodatabase的体系结构</FONT></B></EM><B><B><FONT face=宋体 size=1>a、Geodatabase模型结构 * 对象类(Object class)</FONT></B></B></P>
<P><FONT face=宋体 size=1>在Geodatabase中,对象类是一种特殊的类,它没有空间特征,其实例为可关联某种特定行为的表记录(Row in table)。如:某块地的主人。在“地块”和“主人”之间,可以定义某种关系。</FONT></P>
<P><FONT face=宋体 size=1>* 要素类(Feature class)
同类空间要素的集合即为要素类。如:河流、道路、植被、用地、电缆等。要素类之间可以独立存在,也可具有某种关系。当不同的要素类之间存在关系时,我们将其组织到一个要素数据集(Feature dataset)中。</FONT></P>
<P><FONT face=宋体 size=1>* 要素数据集(Feature dataset)
要素数据集由一组具有相同空间参考(Spatial Reference)的要素类组成。
将不同的要素类放到一个要素数据集下的理由可能很多,但一般而言,在以下三种情况下,我们考虑将不同的要素类组织到一个要素数据集中:</FONT></P>
<P><FONT face=宋体 size=1>专题归类表示</FONT><FONT face=宋体 size=1>——当不同的要素类属于同一范畴。如:全国范围内某种比例尺的水系数据,其点、线、面类型的要素类可组织为同一个要素数据集。
创建几何网络——在同一几何网络中充当连接点和边的各种要素类,须组织到同一要素数据集中。如:配电网络中,有各种开关、变压器、电缆等,它们分别对应点或线类型的要素类,在配电网络建模时,我们要将其全部考虑到配电网络对应的几何网络模型中去。此时,这些要素类就必须放在同一要素数据集下。
考虑平面拓扑(Planar topologies)——共享公共几何特征的要素类,如:用地、水系、行政区界等。当移动其中的一个要素时,其公共的部分也要求一起移动,并保持这种公共边关系不变。此种情况下,我们得将这些要素类放到同一个要素数据集下。</FONT></P>
<P><FONT face=宋体 size=1>* 关系类(Relationship class)
定义两个不同的要素类或对象类之间的关联关系。例如:我们可以定义房主和房子之间的关系,房子和地块之间的关系等。</FONT></P>
<P><FONT face=宋体 size=1>* 几何网络(Geometric network)
几何网络是在若干要素类的基础上建立的一种新的类。定义几何网络时,我们指定哪些要素类加入其中,同时指定其在几何网络中扮演什么角色。如:定义一个供水网络,我们指定同属一个要素数据集的“阀门”、“泵站”、“接头”对应的要素类加入其中,并扮演“连接(junction)”的角色;同时,我们指定同属一个要素数据集的“供水干管”、“供水支管”和“入户管”等对应的要素类加入供水网络,由其扮演“边(edge)”的角色。</FONT></P>
<P><FONT face=宋体 size=1>* Domains
定义属性的有效取值范围。可以是连续的变化区间,也可以是离散的取值集合。</FONT></P>
<P><FONT face=宋体 size=1>* Validation rules
对要素类的行为和取值加以约束的规则。如:规定不同管径的水管要连接,必须通过一个合适的转接头。规定一块地可以有一到三个主人。</FONT></P>
<P><FONT face=宋体 size=1>* Raster Datasets
用于存放栅格数据。可以支持海量栅格数据,支持影像镶嵌,可通过建立“金字塔”索引,并在使用时指定可视范围提高检索和显示效率。</FONT></P>
<P><FONT face=宋体 size=1>* TIN Datasets
TIN是ARC/INFO非常经典的数据模型,用不规则分布的采样点的采样值(通常是高程值,也可以是任意其它类型的值)构成的不规则三角集合。用于表达地表形状或其它类型的空间连续分布特征。在ArcGIS 8.1版中,TIN存放在Coverage的workspace中。</FONT></P>
<P><FONT face=宋体 size=1>* Locators
定位器(Locator)是定位参考和定位方法的组合,对不同的定位参考,用不同的定位方法进行定位操作。所谓定位参考,不同的定位信息有不同的表达方法,在geodatabase中,有四中定位信息:地址编码、<X,Y>、地名及邮编、路径定位。定位参考数据放在数据库表中,定位器根据该定位参考数据在地图上生成空间定位点。详细的阐述,请参见《Modeling Our World》之第11章:Finding Locations。 </FONT></P>
<P><EM><B><FONT face=宋体 size=1>4、长事务处理和版本管理</FONT></B></EM></P>
<P><B></B><FONT face=宋体><FONT size=1>长期以来,在GIS的应用中一直存在两个困扰我们的问题:1、GIS空间数据编辑过程相关的长事务处理;2、空间数据的时序变化如何记录。ArcSDE提供了一种全新的空间数据版本管理方法(Versioning),为彻底解决这些问题提供了一条有效途径。</FONT></FONT></P>
<P><FONT face=宋体><FONT size=1>基于空间数据的编辑工作很少向在银行存取一笔钱或在股市上完成一笔交易那么快捷,往往需要较长的时间(数小时、数天、甚至数月)才能结束。例如:城市国土规划部门的批地过程,电信资源管理部门的数据更新维护过程等。对于这种长事务处理过程,ArcSDE的版本管理机制允许用户在事务处理的任何阶段创建自己的数据“版本”。值得注意的是,这些“版本”并非空间数据的完整拷贝,而是一些反映版本间数据变化的增量信息。针对相同的空间范围,甚至对同一空间要素,不同的用户可以同时进行各自的修改操作,而不必将其事先锁定起来。在版本提交或合并时,系统将自动检测到可能的冲突并给出警示,结合ArcInfo或ArcEditor,系统提供对话框帮助用户解决该冲突。这种机制对于需要多人、多部门协同完成的工作流而言,非常有效。</FONT></FONT></P>
<P><FONT face=宋体><FONT size=1>类似于“宗地”、“规划方案”这样的空间数据,随时间而发生变化,同时又必须记录并能随时检索到每次的变化,是其突出的特征。ArcSDE通过对不同的数据变化生成不同的“版本”来完成对数据变化的跟踪。只要指定某一版本(名称),就可得到当时的空间数据,并可在此基础上进一步进行操作。从而达到对历史数据进行记录和管理的目的。 </FONT></FONT></P>
<P><EM><B><FONT face=宋体 size=1>5、Geodatabase优势何在?</FONT></B></EM></P>
<P><B></B><FONT face=宋体><FONT size=1>从前面的阐述中我们可以看到,相对于其他的空间数据模型而言,Geodatabase有其明显的优势:</FONT></FONT></P>
<P><FONT face=宋体 size=1>* 在同一数据库中统一管理各种类型的空间数据;
* 空间数据的录入和编辑更加准确。这得益于空间要素的合法性规则检查。
* 空间数据更面向实际的应用领域。不在是无意义的点、线、面,而代之以电杆、光缆和用地等。
* 可以表达空间数据之间的相互关系。
* 可以更好地制图。对不同的空间要素,我们可定义不同的“绘制”方法,而不受限于ArcInfo等客户端应用已经给出的工具。
* 空间数据的表示更为精确。除了可用折线方式以外,还可用圆弧、椭圆弧和Bezier曲线描述空间数据的空间几何特征。
* 可管理连续的空间数据,无需分幅、分块。
* 支持空间数据的版本管理和多用户并发操作。 </FONT></P><FONT size=1>Geodatabase是ESRI对空间数据建模理论、方法及其实现技术的划时代贡献,其体系结构和设计思想博大精深,非常具有学习、研究和使用的价值。仅通过本文,读者不可能对Geodatabase有完整透彻的了解。好在在ArcGIS 8的软件资料中,随附了一本《Modeling Our World》,是阐述Geodatabase设计和实现思想的杠鼎之作,值得GIS研究和应用开发工作者作为案头必备</FONT>
[此贴子已经被作者于2004-9-14 20:19:36编辑过]
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2004-09-14 21:01
<P>以前发过了好几次,但是的确要看看,G持先</P>
举报 回复(0) 喜欢(0)     评分
yhb5188
路人甲
路人甲
  • 注册日期2004-09-13
  • 发帖数9
  • QQ
  • 铜币143枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-09-15 08:45
<P>懂了,谢谢!</P>
举报 回复(0) 喜欢(0)     评分
CoLa
论坛版主
论坛版主
  • 注册日期2004-06-10
  • 发帖数686
  • QQ51825448
  • 铜币321枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-09-15 09:00
好文章
[color=#8a2be2]弱水三千,只取一瓢! 不论你在哪里,我只离你一个转身的距离![/color] [img]http://www.gisempire.com/bbs/showimg.asp?BoardID=3&filename=2004-6/2004616192214398.gif[/img]
举报 回复(0) 喜欢(0)     评分
ynkm
路人甲
路人甲
  • 注册日期2004-05-26
  • 发帖数264
  • QQ
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-09-15 09:11
<img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
游客

返回顶部