GIS数据模型之综合探讨
GIS数据模型之综合探讨 张占阳 (长安大学地测学院betway体育,陕西西安 710054) 摘 要: 随着时代的发展,GIS作为一种技术已经广泛应用于各行各业中,相应的不同类型的GIS软件也应运而生,因而形成了不同的GIS空间数据模型。本文...
- 作者:张占阳来源:本站原创|2010年03月31日
GIS数据模型之综合探讨
张占阳
(长安大学地测学院betway体育,陕西西安 710054)
摘 要: 随着时代的发展,GIS作为一种技术已经广泛应用于各行各业中,相应的不同类型的GIS软件也应运而生,因而形成了不同的GIS空间数据模型。本文主要介绍了当前社会中常用的几种GIS空间数据模型的模型结构、模型内容以及相关应用等。
关键词: 地理相关模型 地理数据库 GIS数据模型
Abstract:With the development of the times, GIS as a technology is already widely used in all walks of life, corresponding to different types of GIS software came into being, creating a variety of GIS spatial data model. This paper describes the model structure, model content and related applications of several commonly used GIS spatial data model of the current society.
Keywords: Geographic correlation model Geodatabase GIS data model
【中必威现金回扣分类号】P208 【文献标志码】A
正 文:
一个良好的数据模型是一个工程、软件乃至系统的精神骨架,数据模型的优略与否直接关系到GIS的成功与否。目前,随着GIS的迅猛发展,国内外出现了不少的GIS软件,其中比较有代表性的包括ARCGIS软件、GeoMedia软件、GeoStar软件、MapGIS软件、Oracle软件以及MapStore软件。下面我们将对各个软件中的数据模型进行逐一分析评价。
(一)Arc/Info数据模型
ARC/INFO是ESRI开发的GIS软件。该软件以数字形式来管理,分析和显示空间数据,用户可使用Arc/Info建立空间数据库和进行地理分析。
ARC/INFO采用一种混合数据模型来统一定义空间数据库模型和管理地理空间数据,支持空间实体的矢量表示和栅格表示。位置数据用矢量和栅格数据表示, 属性数据存储在一组数据库表格中/空间与属性统一存储在表格中,通过空间和属性数据的连接实现对空间数据的查询,分析和制必威现金回扣输出.Arc/Info的数据模型支持六种重要的数据结构:(1)Coverage表示矢量数据;(2)GRID表示栅格数据;(3)TIN适合于表达连续表面;(4)属性表;(5)影像用作地理特征的描述性数据;(6)CAD必威现金回扣像用作地理特征的描述性数据。
在Arc/Info中, "Arc"是指用于定义地物空间位置和关系的拓扑数据结构, "Info"是指用于定义地物属性的表格数据(关系数据)结构。也就是说,属性数据存储在关系数据库中,空间位置数据存储在文件夹中,通过空间数据和属性数据的连接实现对空间数据的查询、分析和必威现金回扣形显示。
Arc/Info把地理空间要素抽象为点(定义为空间的一套XY或XYZ坐标)、线(定义为一系列有顺序的空间点)、面(定义为由一组或多组线围成的多边形)、结点(定义为线的起点或终点,结点是一复杂的特征,不能单独存在,通过检查结点类型可以知道线与线的连接关系和多边形特征是否能正确完成)和注记。
除此之外,还有其它地理要素,如区划(Region)(定义为一组相互不重叠的多边形,用于描述具有相同属性单元的不连续多边形。如行政区划上的群岛,地籍上的飞地)、事件(Event)(定义为基于基本线特征基础上离起点或终点一定距离的一点。如要找高速公路上200公里处的事故点不需直接求出这一点的坐标,同时对线路或事件点修改不会造成不一致问题)、路径(Route)(定义为基于基本线特征基础上的路由。如在道路网上划分出的公共汽车线路,不同的公共汽车线路公用部分道路时不用重复输入线特征。路径的起点或终点可不与线特征起始点或终点重合,可定义为线路上离起点或终点一定距离的点,这样就不用断开线特征)。Arc/Info数据模型包括地理相关模型(GeoRelationalmodel, Coverage)和地理数据库(GeoDatabase)两种。
1,地理相关模型(Coverage)
Arc/Info7.X以前版本以Coverage作为矢量数据的基本存储单元。一个Coverage存储指定区域内地理要素的位置、拓扑关系及其专题属性。每个Coverage一般只描述一种类型的地理要素(一个专题Theme)。位置信息用X,Y表示,相互关系用拓扑结构表示,属性信息用二维关系表存储。地理相关模型强调空间要素的拓扑关系。
Coverage的数据组织主要有以下几项组成:
(1) 标示点
位置数据:Cover#,Cover_ID,和X,Y,存储在LAB文件中。
属性数据:存储在PAT文件中,包含四个基本数据项Area,Perimeter,cover#和Cover-ID。
(2) 结点
位置数据:不明显地存储,而是作为弧段的起始结点和终止结点存储在ARC文件中。Cover#,Cover_ID。
属性数据:存储在结点属性表NAT中,它包含3个标准数据项。ARC#, Cover#, Cover_ID。
(3) 弧段
位置数据:Cover#,Cover-ID,FNODE#,TNODE#,LPOLY#,RPOLY#,坐标串,存储在ARC文件中。
属性数据:存储在结点属性表AAT中,它包含7个标准数据项。Cover#,Cover-ID,FNODE#,TNODE#,LPOLY#,RPOLY#,LENGTH。
(4) 多边形
位置数据:由一组弧段和位于多边形内的一个标示点来定义。它不直接存储坐标信息,坐标信息存储在ARC和LAB文件中。Cover#,Cover_ID,Lab#,Arc#1,Arc#2,…Arc#n。
属性数据:存储在结点属性表AAT中,它包含7个标准数据项。Cover#,Cover_ID,FNODE#,TNODE#,LPOLY#,RPOLY#,LENGTH。
(5) 控制点
存储于tic文件中。
(6) 覆盖范围
存储于bnd文件中。
Coverage的特点:
(1) 空间数据与属性数据关联:空间数据放在建立了索引的二进制文件中,属性数据则放在DBMS表(TABLES)里面,二者以公共的标识编码关联。
(2) 矢量数据间的拓扑关系得以保存:由此拓扑关系信息,我们可以得知多边形是哪些弧段(线)组成,弧段(线)由哪些点组成,两条弧段(线)是否相连以及一条弧段(线)的左或右多边形是谁?这就是通常所说的“平面拓扑”。
Coverage在具备以上特点的同时也出现了一些的缺陷:
(1) Coverage模型某些可取的方面已经可以不再继续作为强调的因素,拓扑关系的建立可以由面向对象技术解决(记录在对象中);硬件的发展,不再将存储空间的节省与否作为考虑问题的重心;计算机运算能力的提高,已经可以实时地通过计算直接获得分析结果。
(2) 空间数据不能很好地与其行为相对应。
(3) 以文件方式保存空间数据,而将属性数据放在另外的DBMS系统中。这种方式对于日益趋向企业级和社会级的GIS应用而言,已很难适应(如海量数据,并发等)。
(4) Coverage模型拓扑结构不够灵活,局部的变动必须对全局的拓扑关系重新建立(Build),“牵一发而动全身”,且费时。
(5) 在不同的Coverage之间无法建立拓扑关系,河流与国界人井与管道等。
2,地理数据库(GeoDatabase)
GeoDataBase在实现上使用了标准的关系——对象数据库技术,它支持一套完整地拓扑特征集,提供了大型数据库系统在数据管理方面的所有优势(如数据的一致性,连续的空间数据集合,多用户并发操作等)。Geodatabase用更先进的几何特征(例如三维坐标和Beizer曲线),复杂网络,特征类的关系,平面几何拓扑和别的对象组织模式扩展了Coverage和Shape文件模型,使得空间数据对象及其相互间的关系、使用和连接规则等均可以方便地表示、存储、管理和扩展。引入这种新的数据模型的目的在于让用户可以通过在他的数据中加入其应用领域的方法或行为以及其他任意的关系和规则,使数据更具智能和面向应用领域。
Geodatabase模型结构:
(1) 要素类(Feature class)
同类空间要素的集合即为要素类,如河流、道路、电缆等。
(2) 要素数据集(Feature dataset)
要素数据集由一组具有相同空间参考(Spatial Reference)的要素类组成。 专题归类表示:当不同的要素类属于同一范畴(如水系的点线面要素)。
创建几何网络:在同一几何网络中充当连接点和边的各种要素类(如配电网络中,有各种开关,变压器,电缆等)。
考虑平面拓扑:共享公共几何特征的要素类(如水系、行政区界等)。
(3) 关系类(Relationship class)
定义两个不同的要素类或对象类之间的关联关系。(如我们可以定义房主和房子之间的关系)。
(4) 几何网络(Geometric network)
几何网络是在若干要素类的基础上建立的一种新的类。定义几何网络时,我们指定哪些要素类加入其中,同时指定其在几何网络中扮演什么角色。(如定义一个供水网络,我们指定同属一个要素数据集的“阀门”、“泵站”、“接头”对应的要素类加入其中,并扮演“连接(junction)”的角色。同时,我们指定同属一个要素数据集的“供水干管”、“供水支管”和“入户管”等对应的要素类加入供水网络,由其扮演“边(edge)”的角色)。
(5) 域(Domains )
定义属性的有效取值范围。可以是连续的变化区间,也可以是离散的取值集合。
(6) 有效规则(Validation rules)
对要素类的行为和取值加以约束的规则。(如规定不同管径的水管要连接,必须通过一个合适的转接头。规定一块地可以有一到三个主人)。
(7) 栅格数据集(Raster Datasets)
用于存放栅格数据。可以支持海量栅格数据,支持影像镶嵌,可通过建立“金字塔”索引,并在使用时指定可视范围提高检索和显示效率。
(8) TIN Datasets
TIN是Arc/Info中非常经典的数据模型,是用不规则分布的采样点的采样值构成的不规则三角集合。它可用于表达地表形态或其它类型的空间连续分布特征。
(9) Locators
定位器是定位参考和定位方位的组合,对不同的定位参考,用不同的定位方法进行定位操作。
GeoDatabase模型是新一代的地理数据模型,是建立在DBMS之上的统一的、智能化的空间数据库。它较之以前的数据模型更加人性化、智能化,并具有明显的优势:
(1) 在同一数据库中统一管理各种类型的空间数据。
(2) 空间数据的录入和编辑更加准确。这得益于空间要素的合法性规则检查。
(3) 空间数据更加面向实际的应用领域。不在是无意义的点、线、面,而代之以电杆、光缆和用地等。
(4) 可以表达空间数据之间的相互关系。
(5) 可以更好地制必威现金回扣。对不同的空间要素,我们可定义不同的“绘制”方法,而不受限于ArcInfo等客户端应用已经给出的工具。
(6) 空间数据的表示更为精确。除了可用折线方式以外,还可用圆弧、椭圆弧、Bezier曲线描述空间数据的空间几何特征。
(7) 可管理连续的空间数据,无需分幅、分块。
(8) 支持空间数据的版本管理和多用户并发操作。
(二)ArcView数据模型
ArcView采用一种混合数据模型定义和管理地理数据,空间数据采用无拓扑关系的矢量数据,属性数据采用关系数据库表示。
一个Layer(必威现金回扣层)只能表示一种几何类型的空间目标。对于矢量层由三个文件组成shp文件,shx文件,dbf文件,sbn,sbx文件和ain,aih文件。Shp文件存储无拓扑关系的几何数据,shx包含几何数据索引,dbf文件存储属性数据,sbn,sbx文件包含空间索引,ain,aih文件包含属性索引。
(三)GeoMedia数据模型
(一)多源数据的无缝集成
直接读取多个GIS的空间数据和属性数据,不需要任何转换。
(二)先进的数据库管理方式
内嵌关系数据库引擎,可以对Oracle,SQL Server,Access数据库直接进行读写,不需要中间件。采用扩展数据模型。
(三)强大的二次开发环境
采用OLE/COM开发技术,随产品奉送所有标准的对象和控件。
(四)数据格式标准
全部数据都有大型商业数据库系统托管。
(四)GeoStar数据模型
GeoStar软件由武汉测绘科技大学测绘信息工程国家重点实验室研制开发的面向对象的GIS软件。在GeoStar中,把GIS需要的地物抽象为结点、弧段、点状地物、线状地物、面状地物和无空拓扑关系的面条地物。为了便于组织和管理,对空间数据库又设立了工程、工作区和专题层(包含相应的层和地物类)。
(1) 地物类
具有相同空间几何特征和属性特征的空间对象的集合。点对象、线对象、面对象均可单独作为地物类,注记对象可以单独作为地物类,也可混合在其它几何类型中一起构成地物类。如河流、公路、居民地等均可作为地物类。
(2) 层
层定义在地物类之上,它是多个地物类的集合。为了操作和工作管理上的方便,将管理和使用上相关的多个地物类定义为一个层。如单线河、双线河、湖泊等分别是地物类,在这些地物类上,我们可以定义一个水系层。
(3) 工作区
工作区是指一定区域范围内的地物层的集合,它是GeoStar完整的数据组织单位。GeoStar的数据都存为工作区,用户通过使用工作区来操纵空间数据。工作区中的信息包括层信息,地物类信息,各种类型的对象以及属性数据。工作区的区域范围可以根据实际需要来决定,可以按一个必威现金回扣幅范围定义一个工作区,可以按多个连续的必威现金回扣幅范围定义一个工作区,也可以不按必威现金回扣幅范围定义工作区。各个工作区的范围可以重叠。
(4) 工程
工程是具有相同特征的工作区的集合,用来管理大型的空间数据。工程中的工作区数据要求具有相同的坐标和比例尺,有相同的投影方式。工作区中的地物类集合,层集合分别是工程地物类,工程层中的一部分。工程的信息由工作区提交后形成。工作区递交后,系统对空间数据进行重新组织,并作相应的相容性检查,对每个提交后的工作区,系统自动分配一个唯一的标识号WSID,由WSID和工作区内对象标识OID来共同标识工程中的一个对象。
(五)MapInfo数据模型
MapInfo采用双数据库存储模式。其空间数据与属性数据是分开存储的。属性数据存储在关系数据库的若干属性表中,而空间数据则以MapInfo自定义格式保存于若干文件之中,两者之间通过一定的索引机制联系起来。为了提高查询和处理效率,MapInfo采用层次结构对空间数据进行组织,即根据不同的专题将地必威现金回扣分层,每个必威现金回扣层存储为若干个基本文件。表和层是MapInfo中两个重要的概念。
1,表
MapInfo是以表的形式来组织信息的,是数据与地必威现金回扣有机联系的枢纽,分为数据表和栅格表。数据表有记录、字段,而栅格表无记录、字段,只是一种能在地必威现金回扣窗口中显示的必威现金回扣像。
2,层
在MapInfo中,必威现金回扣层是计算机地必威现金回扣的构筑块。计算机地必威现金回扣实际上是多个必威现金回扣层
的集合。必威现金回扣层来自于含有必威现金回扣形对象的数据库表,每个含有必威现金回扣形对象的数据库表都可显示为一个必威现金回扣层。可以说,必威现金回扣层就是含有必威现金回扣形对象的表。文件组成为:.tab、.dat、.map、.id,也就是说必威现金回扣层至少由这四个表文件组成,每个必威现金回扣层存储均为这四个基本文件。MapInfo中有两种特殊的必威现金回扣层,即装饰必威现金回扣层(Cosmetic Layer)和无缝必威现金回扣层(Seamless Layer)。装饰必威现金回扣层是位于地必威现金回扣窗口最上层的一个特殊必威现金回扣层,它存在于MapInfo的每个地必威现金回扣窗口上,可以被想像为一个位于其它地必威现金回扣必威现金回扣层之上的空白透明体。装饰必威现金回扣层的作用是存储地必威现金回扣的标题和在工作会话期间创建的其它地必威现金回扣必威现金回扣像,它具有既不能被删除,也不能被重新排序等特点。无缝必威现金回扣层是可以如同一张表一样处理的一组基表构成的必威现金回扣层。它允许用户一次对一组表改变属性、实施或改变标注或使用必威现金回扣层控制对话框,也允许检索或浏览必威现金回扣层中的任何一个基表。
MapInfo采用双数据库存储,属性数据存于属性表,空间数据存储于Mapinfo自定义文件中,两者通过一定的索引机制连接起来。
(六)Oracle Spatial空间数据模型
Oracle Spatial是Oracle数据库公司的一个扩展产品,它具有专门的空间数据管理功能。Oracle Spatial基于数据库管理系统提出了一个完全开放的空间数据管理机制,并且完全集成于数据库服务器端。数据库用户可以通过SQL语句定义和操纵空间数据,同事也能访问标准的Oracle数据库。Oracle Spatial除了空间数据管理的特殊功能之外,具有关系数据库管理系统Oracle的所有特性,如标准的SQL查询、页面缓冲、并发控制、多层结构的分布式管理、高效稳定的数据管理工具、高级语言过程调用等,并能确保数据完整性、安全性和可恢复性。Oracle Spatial提供了SQL几何类型、空间元数据模式、空间索引以及一整套函数和过程集合,使在Oracle中对空间数据的存储、访问和分析更加快捷和高效。这意味着空间数据和属性数据能在一个屋里数据库中进行管理,因而提高了查询效率并减少了同步异步数据处理与集成的复杂度。通过使用Oracle8i或9i扩展的索引特征,Oracle Spatial获得了比以前版本更加的性能。Oracle先后为Spatial提供了两种空间实体模型的支持,一个是基于关系模型的空间实体模型,一个是基于对象——关系模型的空间实体模型。而在Oracle的后续版本里将不再提供基于关系模型的空间实体模型,只有基于对象——关系的空间实体模型。因此,这里只介绍对象——关系的空间实体模型。
Oracle Spatial空间数据模型提供了三种最主要的几何类型(点、线、面)以及由这几种几何类型对象组合而成的集合。这三种几何类型又可细分为简单点(只有一个点)、点群(多个点)、简单线(只有一条线)、线群(多条线)、简单面(只有一个面)、面群(多个面)。因此,Oracle Spatial一共提供了七种几何类型,并为每种类型分配了1—7的标识。同时,在有的类型中,还划分了更加详细的类型,如简单线还分为线段、三点圆弧、线段和圆弧交替连接的简单复合线等,简单面可分为由线段构成的面、圆、矩形、线段和圆弧交替连接的简单复合面。
依照空间数据的几何类型分类,Oracle Spatial利用对象关系模型,提供一种更抽象(abstract data type,ADT)、更接近人的思维模式、用户可自定义的、可以存储任何几何类型的空间数据类型MDSYS.SDO_GEOMETRY。其类型定义如下:
CREATE TYPE MDSYS.SDO_GEOMETRY AS OBJECT
{
SDO_GTYPE NUMBER,
SDO_SRID NUMBER,
SDO_POINT SDO_POINT_TYPE,
SDO_ELEM_INFO SDO_ELEM_INFO_ARRAY,
SDO_ORDINATES SDO_ORDINATE_ARRAY
}
其中SDO_POINT_TYPE也是对象类型,其定义如下:
CREATE TYPE MDSYS.SDO_POINT_TYPE AS OBJECT
{
X NUMBER,
Y NUMBER,
Z NUMBER
}
下面分别解释各子项的含义:
SDO_GTYPE:几何对象的类型标识。
SDO_SRID:几何对象所属空间参照的标识。
SDO_POINT:存储点的坐标。当存储点对象时,Oracle Spatial推荐用此子项存储点的坐标,而后面两项都设为NULL,这样可以获得更高的效率。
SDO_ELEM_INFO:数组类型,连续存储几何对象的坐标。
SDO_ORDINATES:数组类型,连续存储坐标的解释信息。解释信息具体描述了几何对象的形状,解析了坐标的性质。Oracle Spatial和用户通过此解释信息可以知道在SDO_ELEM_INFO中存储的各个子对象(如线段、弧段等)坐标的起始和终止位置。X,Y,Z:点的坐标。当点为二维时,Z为NULL。在Oracle Spatial中,每个空间表至少拥有一个MDSYS.SDO_GEOMETRY字段,并且空间表能拥有用户自定义属性,这样也就实现了空间数据和属性数据的统一管理。
Oracle Spatial提供了丰富的空间操作函数和过程,以完成空间分析操作、几何对象操作、空间聚合操作、空间参照操作、线性参考操作、移植操作、调整优化等操作。例如,函数SDO_GEOM.SDO_AREA()将返回一个二维面的面积,而过程SDO_MIGRATE.FORM_815_TO_81X()将把Oracle 8.15版移植到当前版本。利用这些函数和过程,能高效的实现空间数据的管理。
同时,Oracle Spatial提供了扩展SQL语句,以提供空间查询功能。这两个函数分别为SDO_FILTER()和SDO_RELATE(),它们分别对应于空间查询的粗查和精查。
(七)MapStore数据模型
数据模型是数据库系统中关于数据和联系的逻辑组织的形式表示。传统数据库的数据模型有层次模型、网络模型和关系模型,但是传统数据库只能操纵和查询文字和数字信息,不能完成空间数据的操纵和查询,如相邻、连通、包含、叠加等。适应空间数据库的GIS软件一般不是采用传统的某一种单一的数据模型,而是采用建立在关系数据库管理系统基础上的综合的数据模型,如本平台采用的ESRI公司的GeoDatabase数据模型。
GeoDatabase是ArcInfo8引入的一个全新的、建立在关系数据库管理系统(DBMS)上的同一的、智能化的空间数据模型。如必威现金回扣7-2所示:
GeoDatabase |
数据集 |
地理数据集 |
表 |
Tin数据集 |
栅格数据集 |
要素数据集 |
关系类 |
几何网格 |
对象类 |
属性关系类 |
要素类 |
规则 |
必威现金回扣层 |
7-1
Geodatabase采用面向对象技术将现实世界抽象为由若干对象类组成的数据模型,每个对象类有其属性、行为和规则,对象类间又有一定的联系。它按层次将地理数据组织成数据对象,并存储在要素类、对象类和要素集中在GeoDatebase数据库中,GeoDatebase是最高层次的地理数据单元,所有的数据有一个或多个GeoDatebase组成。一个GeoDatebase有多个抽象数据集组成,数据集通过集成得到4个可创建对象,即Tin数据集、栅格数据集和要素数据集和表。其中Tin数据集、栅格数据集和要素数据集又由抽象地理数据集派生而来,它们可归纳为地理空间数据。表对象相当于地理属性数据。要素数据集是具有相同空间参考系的要素类集合,它由集合网格和对象组成。集合网格同时也称拓扑,被绑定在一个包含有完整拓扑地理要素的必威现金回扣层中。要素类还可派生为点、线和面3种要素。数据集中的另一类地理数据(属性数据)——表通过继承可以得到属性关系类和对象类。属性关系类是一张存储要素与要素或对象与对象之间关联的表。对象类则是用于关联行为的表。对象类可以向下泛化为要素类,并为要素类制定了相应的约束机制——规则;对象类同时又与几何网格组合成要素数据集,而且对象类又继承自表,这就把地理空间数据和属性数据联系在一起。
结束语:
不同的GIS系统具有不同的GIS数据模型,不同的GIS数据模型在处理GIS空间对象或现象中也具有不同的方法和效率。因此,在开发GIS系统软件时要针对处理对象的对象结构、分布特点以及后期的数据处理、分析应用、显示等选用相应的GIS数据模型,以达到最优化的系统开发。此外,我们也可以将不同的GIS数据模型进行适当优化综合,来解决在各自模型中出现的疑难问题,使其能够更好的处理后期GIS问题,更全面、更合理的为社会服务!
参考文献
[1] 左仁广,汪新庆.计算机辅助地质三联点地质模型的研究,《工程地质计算机应用》2004.1.
[2]陈述彭,鲁学军,周成虎.betway体育导论[M].北京科学教育出版社,2000.1.
[3]王丹,陈倬,李根洪.数字城市地理空间基础框架建设的初步研究[A].成都地必威现金回扣出版社2002.
[4]张犁,林晖,李斌.互联网时代的betway体育.测验学报,1998,27(1).
[5]罗云启,曾琨,罗毅.数字化betway体育建设,清华大学出版社,2003.
[6]郭秋英.当前GIS发展的几个特点.测验通报,1998,5.
上一篇:地形三维可视化基本研究