-
2004-11-27
Geodatabase中基于规则的拓扑关系管理机制 - [六個偶然]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
(富融公司 蔡晓兵) 1、问题的提出 空间数据的拓扑关系及其处理方法在高级的空间分析处理和空间数据库数据质量保证方面具有相当重要的作用。在ArcInfo的经典数据格式COVERAGE中,拓扑关系被完整地保存,并有一组检查工具(命令和函数)供使用者对空间数据进行拓扑关系检查并给出错误定位标识和相应的统计数据。这曾经是ArcInfo有别于其它GIS或图形处理软件的最重要的标志之一,为全球GIS界所广泛推崇。随着ArcInfo升级到8版本后,全新的空间数据模型Geodatabase被引入,其中对拓扑关系的管理和处理方法发生了重大的改变。笔者在《中国用户通讯》第十期中曾专门撰文(参见“什么是Geodatabase”)对COVERAGE到Geodatabase的演变进行了阐述,其中有较多的笔墨谈及拓扑关系的处理。直至ArcGIS 8.2版,Geodatabase对拓扑关系的处理都相对薄弱,ArcGIS Desktop在处理类似公共点公共边等空间拓扑关系时,所提供的动态编辑工具相对而言也较为简化和单一。Geodatabase中数据的空间拓扑关系的正确性靠数据入库前的工序来保证,ArcGIS Desktop和Geodatabase本身对此并不提供太多的帮助。时隔一年,情形又一次发生了深刻的变化,在ESRI即将发布的最新版本:ArcGIS 8.3中,Geodatabase对拓扑关系的处理较之以往,由于引入了一些全新的概念和技术,其能力产生了本质的飞跃。 2、Geodatabase中的数据存储和建模 在切入正题之前,让我们对Geodatabase的空间数据存贮机制作一个简要的说明。Geodatabase是ESRI在其新一代GIS平台软件ArcGIS 8中引入的一种全新的空间数据模型。Geodatabase采用一种开放的结构将空间数据(包括:矢量、栅格、影像、三维地形等)及其相关的属性数据统一存放在工业标准的数据库管理系统DBMS中。空间要素类(Feature Class),如:河流、国界、宗地、电杆等,对应了DBMS中的表,而具体的一个要素(Feature)则是表中的一条记录。具有共同空间参考的一组空间要素类又可以组成更大的结构,称为要素数据集合(Feature Data Set)。除了空间要素类以外,Geodatabase中还可以建立关系类、几何网络、定义要素子类型、值域及规则等。所有的要素类均可以借助通用的CASE工具(如:Visio、Rational Rose等)进行模型定义和扩展。 3、Geodatabase中拓扑关系的实现 在ArcGIS 8.3版中,Geodatabase引入了拓扑关系规则。如前所述,在Geodatabase中可以定义关系和规则。拓扑关系规则即是新增加的一类。拓扑关系规则可作用于同一要素数据集中的不同要素类或者同一要素类中的不同要素。用户可以指定空间数据必须满足的拓扑关系约束,譬如:要素之间的相邻关系、连接关系、覆盖关系、相交关系、重叠关系等。所有这些关系都对应相应的规则。在城市规划应用中,两个相邻的地块之间不能有“飞地”,我们可以有一条对应的规则:“相邻多边形间不能存在间隙”。再如,当以河流作为国界时,河流(线状)与国界线必须一致,可用规则:“线必须被多边形边线覆盖”。用户通过选择若干规则的组合构成对空间数据必须满足的拓扑关系的灵活指定。为了检查和维护空间数据的拓扑关系正确性,在ArcGIS Desktop中给出了一组(编辑)工具,用于对空间数据根据用户指定的拓扑关系规则进行编辑,并帮助用户及时发现可能存在的拓扑关系错误。 Geodatabase中并不实际保存拓扑关系。不同要素类之间的公共点、公共边等要素是在拓扑编辑过程中动态地检测到的。例如,我们选择一条线并对其进行编辑,此时Geodatabase将自动检测到与此线要素具有公共几何元素的所有其它要素,当我们修改该线要素时,系统自动对所有的公共边和公共点进行维护,以保持其应有的拓扑关系。这种实现方式的好处在于,可以局部、有选择的维护拓扑关系,效率很高。 4、拓扑规则 拓扑规则可以定义在要素类的不同要素之间,也可以定义在两个或多个要素类之间。比较典型的拓扑规则例子是:多边形不能相互重叠(两个建设用地地块间不可相互重叠);点必须被多边形边线覆盖(建设用地的界址点必须在用地红线上);不能有悬挂结点(用地红线不能有多余的出头线段);两个线层不能相交(地下管线和道路中心线不能有交叉点),等等。在ArcGIS 8.3版中,将给出总共25条可供选用的拓扑规则。在以后发布的版本中,还会给出更多的规则。对一个要素数据集,我们可以定义一个拓扑关系类,在拓扑关系类中,指定若干我们希望数据满足的拓扑关系规则。当然,通过修改拓扑关系类的定义,就能够方便地改变对拓扑关系约束的要求。这给我们管理空间数据带来了很大的灵活性。 5、拓扑属性 如上所述,通过定义拓扑关系类,我们就能按特定的要求规定要素本身及其间必须遵守的空间拓扑约束。在拓扑关系类中,除了拓扑关系规则外,还要指定:参与拓扑约束的各要素类,容限值(cluster tolerance),精度等级(coordinate accuracy rank)。其中: &容限值:指落在以此值为半径的圆形区域内的所有点被看成是一致的,会被捕捉(snap)到一起。 &精度级别:每个参与拓扑约束的要素类都可以人为地赋予一个精度级别,精度级别越高,
http://xieq.yourblog.org/logs/282232.html
随机文章:
越行越远…… 2006-06-06JAVA(我的程序泡沫梦想) 2005-06-17IT企业动物图腾 2004-12-04arcobject说明 2004-11-28ESRI独特的创新思维 2004-11-27
收藏到:Del.icio.us





