① 实体与实体之间的联系是什么
在数据库里边,所谓【实体】就是E-R模型;具体关系如下:
E-R模型的构成成分是神悔模实体集、属性和联系集,其表示如下列步骤:
(1) 实游缓体集用矩形框表示,矩形框内填写实体的名称。
(2) 实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。
(前空3) 实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—N或M—N。
② 地理模型与实体地理系统的关系是怎样的
附属。地姿含理模型是指抽象地表示区域地理系统状态或其组册型成要素特征的实物模型或数学统计模型,与实体地理系统具有附属关系,只有根据实体地理系统才能整迹姿笑理和规划出地理模型。
③ 地理信息语义分析与关系构建
地理信息除了在数据结构上存在异构,在语义上也存在异构。地理信息语义上的异构可以分为空间数据的异构和非空间数据的异构,以下分别对这两种语义异构进行阐述。
5.5.1.1 空春判逗间数据语义分析与空间关系构建
地理信息中空间数据的语义关系主要可分为以下三种。
(1)拓扑关系: 主要指地理对象间相离(DT)、相接(TO)、重叠(OV)、覆盖(CO)、包含(CT)、相等(EQ)、被覆盖(CB)、在内部(IN)八种关系。其中覆盖(CO)与被覆盖(CB),包含(CT)与在内部(IN)为逆反关系。
(2)方位关系: 主要指一个地理实体相对于另一个地理实体的方向关系。众所周知的八个方位关系为: 北(N)、西北(NW)、西(W)、西南(SW)、南(S)、东南(SE)、东(E)、东北(NE)。以图形(像)中央的地理实体作为第一个起始位置来确定其他地理实体相对于此起始位置地理实体的方位关系; 然后以第一个起始位置为圆心,在周围找一个地理实体作为参照,依此类推,确定地理实体之间的相互位置关系。
如图 5.38 所示,首先选 A 作为第一个起始参照实体,建立其他地理实体与 A 地理实体的空间方位关系; 然后在地理实体(F、G、H)中再选择一个作为下一个参照实体,依顺时针方向选择 F 作为第二个参照实体,建立其他地理实体(除去已经建立方位关系的 A 实体)与 F 地理实体之间的空间方位关系,依此类推,用同样的方法建立地理实体之间的空间方位关系。
图 5.38 地理实体的参照关系
图 5.39 空间方位之间的推理关系
如上图 5.39 所示,在方位关系中,A 实体和 B 实体的空间方位存在以下关系。
若 B 位于 A 的北方向,则 A 位于 B 的南方向;
若 B 位于 A 的西北方向,则 A 位于 B 的东南方向;
若 B 位于 A 的西方向,则 A 位于 B 的东方向;
若 B 位于 A 的西南方向,则 A 位于 B 的东北方向;
若 B 位于 A 的南方向,则 A 位于 B 的北方向;
若 B 位于 A 的东南方向,则 A 位于 B 的西北方向;
若 B 位于 A 的东方向,则 A 位于 B 的西方向;
若 B 位于 A 的东北方向,则 A 位于 B 的西南方向。
以上方位关系在空间推理时会用到。用 OWL 建立其相互关系后,就可以用 Jena 推理出相互关系。
(3)距离关系: 通常人们用远、近、较远和较近等来形容两个地理实体之间的距离,但这样的形容不准确且容易引起歧义。对于距离关系,我们采用对象质心之间的标准欧氏距离。
针对上述空间数据的语义异构问题,提出用属性关系图(Attribute Relational Graph,ARG),来描述地理实体及其空间关系信息。参照图 5.40 的图形和它的 ARG,ARG 的结点标有对象的标号。两个结点之间的边标有两个结点间的关系信息。结点 N1 与 N2 之间的边标有(N1,D,67,8.9,N2),这表明 N1 与 N2 之间的拓扑关系为相离(Disjoint),它们之间的角度为 67°(随下标递增顺序测量),它们之间的距离为 8.9 个单位。
图 5.40 图形与其属性关系图 ARG 的映射过程
为每幅图形创建 ARG 之后,ARG 要映射到特征空间的一个多维点,特征空间中的点按照某种预先指定的顺序进行组织(以中央地理实体为第一个起始参照实体)。首先是第一个地理实体,其后是该地理实体与所有其他地理实体之间的关系; 然后是第二个地理实体以及第二个地理实体与随后所有地理实体间的关系,依此类推,直至建立完整的 ARG。在这个阶段,对象之间的方位角也转换为方位谓词。如图 5.40,N1 与 N2 之间的角度 67°就映射为西南方位(SW)。
5.5.1.2 非空间数据语义分析与关系构建
非空间数据中的语义异构,主要由于人们对同一或相同类的地理实体在表述概念上存在差异,如对于南京,有人称之为金陵,又有人称之为石头城; 而一些国家地理划分中的州在中国等同于省的概念。非空间数据中表示相等或相似的语义关系又称为同主体语义关冲毕系。非空间数据的语义异构一般分为以下两种: 异形同义词,既不同的词汇表达同一个含义,如南京,又可称为金陵或石头城; 同形异义词,即同一个词汇表达不同的含义。
其中同形异义词间的关系可扒卖以用 OWL 中的以下语义标签描述: differentFrom(个体不同),两个个体可以显式声明为不同; allDifferent(全不同)和 distinctMembers(不同成员),这两个词配合使用表示一定数量的个体两两不同。
异形同义词的关系可以用以下标签描述: equivalentClass(等价类),两个类可以声明为等价,即使它们尽管名字不同,但拥有相同的实例,等价类可以用来创建同义类; sameAs(个体相同),两个个体可以声明为相同,用它可以创建一系列指向同一个个体的不同名字。
对于一些属性关系可以用 equivalentProperty(等价属性),inverseOf(逆反属性),TransitiveProperty(传递属性),SymmetricProperty(对称属性),FunctionalProperty(函数属性),inverseFunctionalProperty(反函数属性)等来描述。在建立非空间数据的语义关系时,本研究按照 ARG 中地理实体出现的顺序构建非空间数据语义关系,这样便于利用第
5.5.2 部分的算法自动生成应用本体实例。
④ 地理空间实体的三要素是什么它们之间的关系是怎样的
空间位置、属性、时间
⑤ 地理空间实体的三要素是什么它们之间的关系是怎样的
空间位置、属性、时间,三者是空间基本概念,相对独立的
⑥ 地理实体和空间数据的关系是什么如何理解这句话
举例来说,一座山就是一个地理实体,这座山相关的所有数据中与空间有关系的数据就是空间数据。比如山的经纬网坐标,和其他山之间的相对位置关系,当你使用数据(经纬度、山之间方位和距离)保存这个关系,这个数据就是空间数据。
按照国际惯例
地理实体的命名权通常归属于地理实体的主权所有者或发现者。
多年来,传统海洋大国如美、英等国均成立专门的机构开展国际海底地理实体命名工作,中国于2010年正式开展国际海底区域地理实体命名工作。
⑦ 什么是地理实体
地理实体是地理数据库中的实体,是指在现实世界中再也不能划分为同类现象的现象。地理实体通常分为点状实体、线状实体、面状实体和体状实体,复杂的地理实体由这些类型的实体构成。
⑧ 地理信息系统的数据模型包括那些相互联系的方面试举例说明
1.引言
经过几十年的发展,今天的GIS系统已经具备了较强的数据存贮、管理和输入输出功能,但目前大多数的GIS仍然是以数据为中心的,在完整表达客观地理世界、进行高层次的空间分析和直接提出决策方案的能力方面还远远不够,导致这种情况的根本原因在于现有GIS的数据模型不能准确地表达客观地理世界。为此,作者为现有GIS软件总结了两种典型的数据模型[1]:拓扑关系数据模型和面向实体的数据模型,并分析了它们各自的优缺点,指出应该在整体论的基础上为地理空间建立一个能够直接反映人们认知的整体数据模型。
2.面向对象的整体数据模型
GIS本质上是对客观地理世界的近似模拟,其理想状态应该是尽可能准确地反映地理世界,同时做到数据量最小,又便于人们从中获取所需要的信息和规律。要达到这种理想状态,我们需要做好两步工作:1)准确理解地理空间;2)为地理空间建立面向对象的整体数据模型---一个基于地理空间整体论、完全以面向对象方式组织的GIS数据模型。
地理空间的理解可以简单概括为[1]:地理空间是一个目标组合排列集,每个目标或说对象都具有位置、属性和时间信息,及与其它对象的拓扑关系、语义关系等。基于这一认识,我们可以得到,表达地理空间的整体GIS数据模型有如下特征:
■ 将地理空间按照人的思维方式理解为基于目标的空间和定义在地球表层目标集上的关系。除了要研究对象的几何位置及拓扑关系外,还要重视研究对象间的语义关系。
■ 整体数据模型虽然要求我们将客观世界作为整体看待,但在执行具体的数据组织时也需要对众多的地理实体进行分层。分层是基本的和必要的,但由于为一种目的进行的分层很难满足另外的需求,因此重要的不是提供一种通用的分层,而是对方便地加入、删除对象等维护层的操作予以足够的支持。复合图层含有不按对象维数分层的含义,能够很好地体现客观 世界的整体特征,为不同层中的关联对象或用户感兴趣的不同类型对象提供了一个集中存贮与交互的独立空间,整体数据模型尤其应该增强复合图层的功能,使用户能够自由地加入、删除、修改、查询任意类型(点、线、面和复杂实体)的地理实体,同时能够进行强大的空间分析;
■ 虽然传统的GIS数据模型常将基于对象的模型用矢量结构表达,而将基于场的模型用栅格结构表达[2][3],其实可将对象和连续场这两种看似对立的模型统一在面向对象的整体数据模型中,因为面向对象的方法作为一种框架不仅可以描述基于对象的模型,也可以描述基于场的模型[3][4]。
■ 空间对象是处在三维空间中的,并具有多尺度特征。
■ 整个数据模型完全以面向对象的方式组织。
由上可见,在整体数据模型中,地理空间被表达为一个具有相互关系的对象集。每个对象不仅具有自己的几何信息、属性信息和时间信息,而且与其它对象之间具有拓扑关系和语义关系。所有这些信息在整体数据模型中都处于同等重要的地位,其中起着连接作用的是对象本身。根据对象的形状特点,同时为了方便计算机实现与管理,我们可以将地理空间中的对象分为5种基本对象:点、线、面、注记和复杂对象。其中,前面四种对象比较简单,统称为简单对象,这里只介绍第5种对象---复杂对象。
复杂对象是由简单对象组合派生的,可以划分为如下两种类型:
1)单纯型复杂对象
多个同样类型的对象合并成为一个单纯型复杂对象。·复杂点:点群,由多个点状对象构成的集合,整个集合是一个对象,如聚集在一起的多个水文站等;•复杂线:线群,由多个线状对象构成的集合,整个集合是一个对象,如一线状水系,一径流网络等;·复杂面:面群,由多个面状对象构成的集合,整个集合是一个对象,如一湖泊群,一海洋群岛等。
2)混合型复杂对象
点、线、面共存的复杂对象。混合型复杂对象的混合种类包括:点与线混合,点与面混合、线与面混合及点、线、面同时存在的混合,多个不同类型对象合并成一个就构成了混合型复杂对象,因此混合型复杂对象不属于点、线、面中的某一基本类型,在属性上也就不具备这些基本类型对象的一些特有信息,如线对象的长度,面对象的面积和周长等,这在数据库表结构的设计中要予以必要的考虑。
单纯型复杂对象可以在相应类型的简单对象集中存贮和在相应图层中显示,也可以在复合对象集中存贮和在复合图层中显示;混合型复杂对象只能在复合对象集中存贮和在复合图层中显示,它们不适合存入简单对象集,也不宜在点、线、面简单图层中显示,因为它们的加入会破坏简单对象集和简单图层的专题特性,也不便于管理。
上面介绍的这5种对象在地理空间中都是以三维形态存在的,但由于三维GIS建设的成本较高,在技术实现上也有相当的难度,而目前二维GIS能够满足大部分实际需求,因此我们在表达三维客观地理世界、实现整体GIS数据模型时以开发二维GIS为主,而在某些需要查看具体三维细节的地方提供机制以表现其三维结构,例如可以另开辟一个小的三维地图窗口来表现对象的三维形状、结构和拓扑关系等。
时间问题[5]-[8]、语义关系和拓扑关系[9]-[11]一直是GIS界长期研究的热点,虽然它们在整体数据模型里面占有很重要的位置,但是本文的重点在于确定整个数据模型和系统的总体组织,对它们的具体讨论将在以后逐步展开。
3 系统数据组织
3.1 对象集
对象集是指由众多对象构成的集合。划分对象集的目的在于存储和管理对象的方便,它可以是由同种几何类型的对象构成的集合,也可以是由不同类型对象组成的集合。在整体GIS数据模型中,有如下三类对象集:
■ 简单对象集:包括简单点对象集、线对象集、面对象集和注记对象集四类;点对象集是由简单点对象或单纯型复杂点对象组成的集合,线对象集是由简单线对象或单纯型复杂线对象组成的集合,面对象集是由简单面对象或单纯型复杂面对象组成的集合。简单对象集也可称为专题对象集。
■ 复合对象集:由简单点、线、面对象、注记对象、单纯型复杂对象或混合型复杂对象等不同类型对象组成的集合。在这种对象集合中,可以包含任意类型的对象元素;
■ 场:场是由有机关联的对象构成的集合,其中的元素在几何上不再相互独立,而是紧密相关,这一点与以上两种对象集不同。如TIN、GRID、影像和网络等。场中的元素对象一般较多,场本身就是一个对象集,因此我们在概念上不再另设场对象和场对象集。
由上可见,对象类型与对象集类型并不是完全一一对应的,例如:单纯型复杂线对象与简单线对象一样分别存贮与显示在简单线对象集和简单线图层中,不必要专门的单纯型复杂线对象集和单纯型复杂线图层来存贮和显示。
除了点、线、面三种单纯型复杂对象外,其它各种对象(点、线、面简单对象、注记对象和混合型复杂对象)与对象集类型都是一一对应的。另外,场是一种对象集,不过由于其中的元素并不是场对象(没有场对象概念),因而场与场中的元素也不存在一一对应的关系,但在实现时开发者完全可以设计一个场类来管理各种各样的场。
值得指出的是,整体GIS数据模型认为人们感知的客观世界是一个由众多类型不同的地理实体组成的整体世界,而不是人为分割的、僵化的对象层,但由于分层能够为GIS管理和显示地理对象提供极大的方便,因此我们在基本分层(在本文中是对象集)的基础上,特别提出并强调复合对象集的概念,以此来表达和实现整体GIS数据模型的整体思想。复合对象集打破了GIS中传统分层的框架,为不同对象集中的关联对象或用户感兴趣的不同类型对象提供了一个集中存贮与交互的独立空间,但同时也为系统开发和管理带来了一定难度。比如,单纯型对象集的显示、修改、存贮、管理、分析和输出都可采用统一的方法进行,而复合对象集的这些操作则必须在内部进行分别处理(按对象类型)。虽然如此,但单纯型对象集与复合对象集都是为了满足不同的用户需求而设计的,二者在对象组织、系统实现和空间分析上各有优缺点,一个功能强大的GIS应该同时支持它们。
3.2 图层
对象集加上自己特有的显示属性即是图层,因此对象集类型与图层类型是一一对应的。由于对象集包括点、线、面、注记对象集、复合对象集和场6种基本类型,因此图层也有相应的点、线、面、注记图层、复合图层和场图层6种基本类型。对象集用来存贮对象的空间与属性数据,而图层则用来设置对象集的显示风格并控制对象集的显示范围、显示比例和操作特性(如可显示、可选择、可编辑和可捕捉等),二者各司其职又相互联系。在对应关系上,一个图层只对应一个对象集,而一个对象集却可显示在不同的地图窗口中对应多个图层,因此对象集与图层之间的关系是一对多的关系。
表1 各种对象的存贮与显示对比表
Tab.1 Contrast of store and display of all kinds of objects
对象类型
存贮的对象集
显示的图层
点与单纯型复杂点
简单点对象集表
简单点图层
线与单纯型复杂线
简单线对象集表
简单线图层
面与单纯型复杂面
简单面对象集表
简单面图层
混合型复杂对象
复合对象集表
复合图层
场
多个非同类简单对象集表
场图层
注记对象
注记对象集表
注记图层
3.3 数据库
我们这里所说的数据库是指广义的数据库,其定义为“存贮对象的集合”。物理上不管是以文件形式还是以商业数据库形式存在,只要存贮有对象,我们都称为数据库。就综合性能而言,一般是文件系统在小量数据方面有自己的长处,而商业数据库则对大量数据的支持有着文件系统无法替代的优势。
3.4 地图或地图窗口
对象集是用来存贮地理对象的,图层是用来控制对象的显示的,两者都不等同于地图或地图窗口。我们的地图或地图窗口是一种框架,是显示对象的实际载体,也是控制图层并对之进行操作和分析的主体。
3.5 工作空间
工作空间是为系统管理方便而设计的,相当于一个大的仓库,里面存贮有数据的基本信息,如数据库的名字与尺寸、地图和其它资源(如点、线、面型符号)。系统运行时可调入数据库对之进行管理控制。
4 数据存储与访问
4.1 存储结构
4.1.1 简单对象集对应的表结构
如前文所述,对象集包括点、线、面、注记对象集、复合对象集和场6种基本类型,因此在数据库中应该设计与之对应的6种表。对于文件系统而言,表的概念可以扩展为结构,也就是说用6种结构来存贮这些对象集的各个元素。其中,结构的成员与表的字段是一一对应的,为了操作方便,我们还可以定义一个专门的类来管理这个结构。对于商业数据库而言,表就是关系数据库系统中的普通表,不必进一步考虑。
不同的对象类型对应不同的表,但所有对象集都可采取形如表2的结构,当然不同类型的对象集在空间坐标串的组织及属性字段名字上会有不同。由于点对象与单纯型复杂点对象除了空间坐标串组织方式稍有不同外(不过都是用同样的方法打包成外部不可见的二进制块,可视为相同),其余字段都相同,因此它们可以共存于一个表,也可以一起显示在同一图层中,在各方面的处理上几乎没有什么差别。线对象与单纯型复杂线对象、面对象与单纯型复杂面对象的关系与此类似,也可同存于一个表和在同一图层中显示。当然,简单对象与单纯型复杂对象的空间坐标串的组成结构不同,单纯型复杂对象应该有能够识别多个同类型简单子对象的格式或标记。对于混合型复杂对象,必须用单独的混合型复杂对象表存贮,表结构中除了没有简单对象公有的长度、面积等字段外,其它字段均可根据需要进行设置,结构形式仍同于表2。
表2 简单点、线、面对象及单纯型复杂点、线、面对象表
Tab.2 Data structure of all kinds of objects
对象ID
用户ID
空间信息
语义关系1…
属性1…
属性n
…
…
…
…
…
…,三维结构与时间表存在的标志
由上可见,我们并未如拓扑关系模型那样在面对象表的空间坐标字段里用一系列弧段标识号来表示面对象的组成,而是直接用其坐标串。虽然这样在多边形的公共边上会有重复存储现象出现,但在计算机存储设备日益增大的今天,这已经不再是主要问题,相反这种坐标存储方式使面对象表不再依赖线对象表,其中的元素也变成为相对独立、完整的对象,同时也将提高系统访问数据的速度。这种方式是面向实体的数据模型和面向对象整体数据模型在内部实现机制上的一个特色,是一种以空间换时间的存储方式。
4.1.2 三维结构与时间属性的表结构
目前的GIS仍然以二维GIS为主,但有时又需要查看少数对象的三维结构与时间特性,因此我们在整体GIS的数据库中为这部分对象单独设计了“三维结构与时间表”。为了讨论方便,我们把上面的表2称为主表,而把这个表称为副表(表3)。副表中并不存储整个对象集的全部对象,而是只存储部分具有三维结构与时间特性的对象。至于哪些对象能有三维结构与时间属性存贮在副表中,则要看它们在主表中最后一个属性字段里的标志值。如果标志值为真,则有,否则在三维结构与时间属性表中就没有这些对象。
有时候对一部分对象我们只关心其三维结构或只关心其时间属性,这部分对象的取值不能简单地设为真或假,此时要修改标志变量的值域将之设置为4值域,即V={0, 1, 2, 3},其中0表示既没有三维结构又没有时间属性,1表示有三维结构但没有时间属性,2表示没有三维结构却有时间属性,3表示两者都有。如果整个对象集中存在值为1或2的对象,那么该表就要拆分成两部分以分别存储它们的三维结构与时间属性,当然这些对象的其它信息仍然存储于主表中。
表3 三维结构与时间表
Tab.3 3D data structure and time attribute of all kinds of objects
对象ID
三维结构
时间属性1
时间属性2
时间属性n
…
…
…
…
…
4.1.3 复合对象集对应的表结构
复合对象集是整体GIS数据模型中一个很重要的概念,对于复合对象集,我们可以用两种方式存贮它。1)物理方式,即在物理上将对象的所有信息都集中存放于一个表中。由于不同类型对象的字段不尽相同,因而必然会造成一些字段的空间浪费,例如点对象的长度和面积字段在现实世界中没有实际意义,所占空间自然就是浪费。显然,复合对象集中对象的类型越多,造成的空间浪费就越大。不过,如果复合对象集中包含的对象类型只是简单点与单纯型复杂点,或简单线与单纯型复杂线,或简单面与单纯型复杂面,那么就不会存在字段不一致导致的空间浪费问题。2)逻辑方式,即复合对象集中只存贮对象的系统ID号,而实际的信息仍存在于简单点、线、面对象和单纯型点、线、面复杂对象表---主表中。只是当读取复合对象集中对象的信息时,要打开并访问相应类型的主表,需要耗费一定的系统时间。到底采用何种方式合适,要视具体情况而定。作者的建议是,当复合对象集中对象类型较少时,采用物理方式较为合适。反之,采用逻辑方式则更为合理。作为一个好的GIS系统,应该对这两种存贮方式都进行强有力的支持。
4.1.4 场对应的表结构
面向对象的整体GIS数据模型不仅在概念上将地理对象作为一个个独立的实体看待,而且在内部存储上也是将它们独立存储,各对象表之间并不存在拓扑依赖关系,这一点与基于拓扑关系的数据模型有很大的不同。那么,面向对象的整体GIS数据模型如何处理对象间的拓扑关系呢?我们知道,拓扑模型存贮对象间拓扑关系的一个很重要的目的是为了实现数据共享(同时也降低了访问速度),整体GIS放弃了这一点,它在对象的单个表中为每个对象都存贮了完整的坐标信息。拓扑关系在GIS中并不是最基本的信息,当在特殊情况下需要时我们可以将它们临时构建出来,生成的拓扑关系存放于新的对象集中,形成专门的具有拓扑关系的对象集,这种对象集就是场(这里特指矢量场)。场表的字段设置基本上采用了拓扑关系数据模型的表结构,面与线之间的坐标存储具有依赖关系。
其实,拓扑关系数据模型中预先存储的拓扑关系和整体GIS数据模型中临时构建的拓扑关系都是最基本的点、线、面邻接关系,并未涉及到相交、相离、覆盖等更多的拓扑关系,邻接关系也是拓扑关系中最常用的一种,因此我们只讨论点、线、面间的邻接拓扑关系,其它关系可根据空间查询和分析运算得到。
1)网络场
网络场是包含并强调点、线拓扑关系的最典型代表,网络场对应的对象表有两个:以弧段为主的弧段---结点表(表中含坐标串字段)与以结点为主的结点---弧段表(表中可含结点坐标字段,也可不含)。其中结点---弧段表中可存贮弧段标识号,也可不存(如果不存,可在弧段---结点表中查得结点的弧段),但结点表一定要存在,因为结点有属性要保存。网络场的两个表包含了点与线之间的邻接拓扑关系,我们可以通过它们查得任意结点的邻接弧段和结点,可以查得任意弧段的起止结点。弧段的位置信息一般存于弧段---结点表的空间坐标串字段中,端点的坐标可存于该字段中,也可在结点---弧段表中设一坐标字段存贮。
2)TIN场
TIN场由两类表即可存贮:三角形表和点表。三角形的坐标存于点表的坐标字段中,三角形表本身不存储坐标信息,而只存三角形顶点序号,这些序号的排列有严格的顺序,不能随意颠倒。
3)点-线-面场
有了多边形---弧段、弧段与结点和多边形、结点---弧段三个表,我们就可以得到任意多边形、任意弧段和任意结点的拓扑邻接关系[1]。其中弧段与结点和多边形表是枢纽,为弧段默认设置了空间坐标串字段、从结点、到结点、左多边形和右多边形5个字段。含有这种点、线、面之间拓扑关系的典型场有城市街区图、地籍管理中的宗地等。
其它场如GRID模型、影像数据是栅格数据管理的范围,数据结构相对简单,本文不作讨论。
4.1.5 数据库选择
在数据库类型选择上,有三种模式可供参考:
■ 全文件方式,即空间数据和属性数据都存贮在文件系统中;
■ 文件数据库混合方式,即空间数据存贮在文件系统中,而属性数据存贮在商业数据库中;
■ 全数据库方式,即空间数据与属性数据都存贮在商业数据库中,两种数据可以存放于同一个表也可分别存放于两个表中。
4.2 访问机制
上一小节讨论了地理对象的存贮方式,作为一个大的空间数据库,仅有这些表是不够的。6种基本对象集表只是给我们提供了装载对象的空间,其中的商业数据库表虽然也给我们提供了访问接口(文件系统中表的接口则需要我们自己开发),但究竟如何进行有效的调度访问则还需要进一步设计和组织。
4.2.1 空间索引
我们知道,由于每个表具有相对固定的字段结构,因此一个表只适合存贮类型相同的对象,在整体GIS数据模型里,一个表通常对应一个对象集。一个数据库中往往有多个表,为了管理表的方便,可以用一个统一的表---总表来管理所有对象集对应的表,总表使我们在不必访问数据库各表的情况下就能得到它们的基本信息(如对象集的范围、对象集的索引表等)。一个数据库中只存在一个总表。
在解决了统一管理对象集表的问题后,进一步,为了快速访问各表中的地理对象,我们可以为每个表建立空间索引和属性索引。属性索引可以直接利用关键字在数据库中建立,而空间索引则需要采用一定的算法来实现,常用的方法有R树索引、网格索引和四叉树索引等。为每个对象分配的空间索引编号都存在该对象集的空间索引表中,即一个对象集表对应一个空间索引表。一个数据库中所有对象集表和相应的空间索引表都只对应一个总表。
表4 对象集表对应的空间索引表
Tab.4 Spatial index table of all kinds of object sets
索引块编号 索引块内的对象ID集合
…
….
4.2.2 对象存取
关系数据库以结构简单规范着称,访问存取操作技术也易为人们理解和掌握。当我们把地理对象存入数据库中以后,后面对这些对象的访问、修改也就容易了,在表中加、删记录也相当简单。采用的方法都是将给定的空间、属性条件组织成标准的SQL语句,输入查询算子里面执行即可。当然,对于空间条件的处理,需要自己写算法实现。总体来说,对数据库中对象的访问是以记录集为媒介的,不管是读出对象信息,还是修改、加入、删除记录(写进),都要通过记录集进行,因此必须首先进行查询(SQL查询和空间查询)得到带有所需字段的记录集。对于不支持这种规范化操作的文件型数据库,可以自己开发类似的访问引擎实现对象存取。图3表示了在数据库中进行对象存取的一种机制。
5 系统实现
相对于以前的GIS数据模型而言,整体模型更能真实地逼近客观世界,我们开发的商品化软件---SuperMap 系列软件很好地体现了整体GIS数据模型的思想,能够满足整体GIS的大部分需求,目前已经在国内外市场上得到了广泛应用。
图4展示的是SuperMap系列软件之一的通用桌面GIS系统---SuperMap Deskpro 3.0版本,该系统完全以面向地理实体的方式组织,不仅存贮有地理实体的位置与属性信息,而且能够方便地存取实体之间的拓扑关系和语义关系。在图层的组织方面,不仅符合用户对地理世界的直接感知模式(通过复合对象集实现),而且支持用户根据自己的需要对地理数据进行理性地思考、组织、存贮、管理与显示(简单对象集不仅能满足用户的专题需要,同时也能避免用户误操作对专题数据统一性的破坏)。在数据存贮与管理方面,既支持小数据量的文件型数据库,同时也支持市场上广为流行的大型商用数据库,如SQL Server和Oracle等,空间索引和查询的速度也满足海量数据用户的实际需求。作为桌面GIS系统,SuperMap Deskpro 3.0为用户提供了友好的图形界面,在操作上也为用户批量处理数据提供了很大的方便。SuperMap Deskpro 3.0参加国家科技部和国家遥感中心组织的2001年度国产地理信息系统软件测评后,作为优秀的桌面GIS产品获得了科技部的表彰推荐。
6 结语
用户感知到的地理世界是一个整体,而不是一个个数据层,而且是动态变化和处于三维空间中的。地理世界中的各种实体之间具有拓扑关系和语义关系。为了使做出来的GIS尽可能地符合用户对地理世界的认知,面向对向的整体GIS数据模型及其实现系统需具有如下特点:
1) 强调拓扑关系与语义关系;
2) 强调特定对象的三维结构与时间属性;
3) 重视在复合对象集与复合图层方面增强功能,例如增加任意类型的对象与对象集;
4) 面向对象与拓扑关系数据结构相结合、面向实体与面向场数据模型共存;
5) 客观世界是一个整体,本质上没有GIS的分层概念,但有时在GIS系统中也需要跨层研究对象之间的关系。对于这种跨层拓扑关系我们可以用三种方法揭示:①将各层显示在同一地图窗口中进行观察;②跨图层查询并将结果显示在同一地图窗口中,结果也可保存为地图或复合对象集;③利用整体数据模型中的网络场和点-线-面场有效地模拟跨层之间的拓扑关系。
6) 地理实体之间的语义关系可以通过对象的属性来标识。
⑨ 建立地理模型,应遵从哪些基本原则
地理模型是指抽象地表示区域地理系统状态或其组成要素特征的实物模型或数学统计模型。是地理科学研究的重要工具和方法之一。但由于区域地理系统的复杂多变性和开放性特点,影响区域地理系统的许多因素及其作用尚无法精确测定,因此,应用较为广泛的是通过对已有经验的总结所得出的统计数学模型,而地理模型相对较少。运用地图和遥感技术所建立的地理空间模型是地理学研究的特有工具。
任何一个地理模型,都表征着对一个地理实体的本质描述,既标志着对实体的认识深度,也标志着对实体的概括能力,从这个意义上看,一个地理模型代表着一种地理思维。在建立地理模型时,必须遵守以下原则:①相似性。即在一定允许的近似程度内。可确切地反映地理环境的客观本质;②抽象性。即在充分认识客体的前提下,总结出更深层次的理性表达;③简捷性。既是实体的抽象,又必须是实体的简化,以便降低求解难度;④精密性。即必须使模型的运行行为具有必要的精确度,它反映了所建模型的正确精度;⑤可控性。即以地理模型所表示的地理环境,要能进行控制下的运行及模拟。目前人们所理解的地理模型,一般指地理系统模型。