1、第三章 空间数据模型,徐敬海 南京工业大学,本章内容,现实世界的抽象 空间实体 空间数据 空间数据结构 面向对象的空间数据模型 时空数据模型,2.1 现实世界的抽象,空间数据模型是现实世界的一个抽象,它通过使用一个数据对象集合来支持对空间信息的显示、查询、编辑和分析。,OGC地理信息的九层抽象模型,地理信息对现实世界的抽象过程,在对现实世界的观察过程中,除了会对事物进行选择,还会进行抽象和综合,通过抽象便于事物在GIS中进行建模、分析和应用,实现现实世界在GIS中的表达。,3.2 空间实体(地理实体) 3.2.1空间实体的概念,定义: 空间实体是存在于自然世界中地理实体,与地理空间位置或特征相
2、关联,在空间数据中不可再分的最小单元现象称为空间实体。 理解: 空间实体类别及实体内容的确定是从具体需要出发的,GIS中的空间实体是一个概括,复杂,相对的概念。,空间实体类型 空间实体一般按地形维数进行归类划分: 点:零维 线:一维 面:二维 体:三维,有位置,无宽度和长度; 抽象的点,2015年全国地震分布图,空间实体类型 :点实体,空间实体类型 :线实体,有长度,但无宽度和高度用来描述线状实体,通常在网络分析中使用较多 有一定范围的点元素集合,表示相同专题点的连续轨迹,香港城市道路网分布,空间实体类型 :面实体,具有长和宽的目标 表示平面区域大范围连续分布的特征 有些面状目标有确切的边界,
3、有些面状目标在实地上没有明显的边界,中国土地利用分布图,空间实体类型 :体实体,具有长、宽、高的目标; 通常用来表示人工或自然的三维目标,如建筑、矿体等三维目标。,大学校园建筑,3.2.2 空间实体的特征,空间特征 空间特征表达了地理事物和现象的客观存在性、几何形态的多样性和空间相关性,相应的空间特征又包括空间位置特征、空间几何特征、空间关系特征等。 属性特征 属性特征也称为专题特征或功能特征,通过属性数据表达空间实体内在的性质和相关关系。 时间特征 时间特征指空间实体随着时间变化而动态变化的过程。,3.2.3 空间关系,空间关系:指地理空间特征或对象之间存在的与空间特征有关的关系; 绝对关系
4、: 坐标、角度、方位、距离等; 相对关系:邻接、关联、包含等; 相对关系类型 拓扑关系:描述空间对象的邻接、关联、连通和包含等 空间方位关系:描述空间对象在空间上的排列次序,如前后、左右、东、西、南、北等。 空间度量关系:描述空间对象之间的距离等。,拓扑关系 拓扑(Topology)一词来自于希腊文,意思是形状的研究。 拓扑学是几何学的一个分支,研究在拓扑变换下能够保持不变的几何属性拓扑属性。 “橡皮板几何学”:可以设想一块高质量的橡皮板,它的表面是欧式平面,这块橡皮可以任意弯曲、拉伸、压缩,但不能扭转和折叠,表面上有点、线、多边形等组成的几何图形。,拓扑元素:点: 孤立点、线的端点、面的首尾
5、点、链的连接点线: 两结点之间的有序弧段,包括链、弧段和线段面: 若干弧段组成的多边形,点、弧、面的表现形式,欧氏平面上实体对象所具有的拓扑和非拓扑属性,拓扑属性是描述的两个对象之间的关系,故又称拓扑关系 拓扑关系就是描述几何特征元素的非几何图形元素之间的逻辑关系。 即拓扑关系只关心几何图形元素之间的关系,而忽略几何图形元素的形状、大小、距离和长度等几何特征信息。基本拓扑关系关联:不同类图形之间的拓扑关系 邻接:同类图形元素之间的拓扑关系 连通:由节点和弧段构成的有向图网络图形中,节点之间是否存在通达的路径,即是否具有连接性,是一种隐含于网络中的关系包含:多边形内是否包含了其他弧段或多边形 拓
6、扑关系涉及的术语有: 邻接、相交、相离、包含、重合等,点、线、面之间的拓扑关系,2019/11/13,19,3.3地理实体的描述空间数据,1、描述的内容,3、数据类型,4、数据结构,几何数据(空间数据、图形数据) 关系数据实体间的邻接、关联包含等相互关系 属性数据各种属性特征和时间 元数据,矢量、栅格、TIN(专用于地表或特殊造型) RDBMS属性表-采用MIS较成熟,空间元数据,位置、形状、尺寸 识别码(名称)实体的角色、功能、行为、实体的衍生信息 时间 测量方法、编码方法、空间参考系等,空间特征:地理位置和空间关系 属性特征名称、等级、类别等 时间特征,2、基本特征,几何数据 根据空间实体
7、的几何特征,空间对象可分为点对象、线对象、面对象和体对象。 点定义为因太小不能描述为线状或面状的地理特征要素的离散位置。 线定义为因太细不能描述为面状的地理特征要素的形状和位置 多边形定义为封闭的区域面,多边图形用于描述均匀特征的位置和形状,离散地理特征要素的点、线和多边形表达,根据数据的实现形式不同,空间数据的几何数据分为矢量数据和栅格数据。 矢量数据是用坐标对、坐标串和封闭的坐标串来表示点、线、多边形的位置及其空间关系的一种数据格式,矢量数据表达,栅格数据数据表达中,栅格由一系列的栅格坐标或像元所处栅格矩阵的行列号(I,J)定义其位置,每个像元独立编码,并载有属性。,栅格数据表达,栅格单元
8、的大小代表空间分辨率,表示其表达的精度。 栅格单元的值可能是代表栅格中心的取值,也可能是代表整个单元的取值。,中心取值 单元取值,栅格单元的值,通常栅格单元值采用以下几种方法确定: 中心点法 面积占优法 重要性法 百分比法,栅格单元代码的确定,属性数据 空间实体的属性特征用属性数据表达,通常属性是按照一系列简单的、基本的关系数据库概念的数据表来组织。 描述属性数据被组织成数据表,表包含若干行组成。 表中所有的行具有相同的列,即字段。 属性字段的数值类型可以是名义值、序数值、区间值和比率值的一种,3.4 空间数据结构,3.4.1 空间数据结构与数据模型 地理空间数据结构是地理空间数据模型的物理描
9、述,也称为地理空间物理模型。地理空间数据模型是定义地理空间数据结构的基础,地理空间数据结构是地理空间数据模型的具体实现。,空间数据模型和空间数据结构的关系,地理空间认知模型(概念模型)、地理空间数据模型(逻辑模型)、地理空间数据结构(物理模型),构成了对地理实体、现象及其关系,从地理现实世界到计算机世界(数据世界)的三个表达层次。,抽象过程的三个层次关系,3.4.2 矢量数据结构,定义:矢量数据是通过记录空间对象的坐标及空间关系来表达空间对象的位置。 点:空间的一个坐标点;线:多个点组成的弧段;面:多个弧段组成的封闭多边形; 矢量形式是一种最适应于空间对象的计算机表达。 实体数据结构(也称面条
10、数据结构) 拓扑数据结构,实体数据结构:只记录空间对象的位置坐标和属性信息,不记录拓扑关系。又称面条结构。 存储方法: 独立编码:空间对象位置直接跟随空间对象; 点位字典:点坐标独立存储,线、面由点号组成 特征 无拓扑关系,主要用于显示、输出及一般查询 公共边重复存储,存在数据冗余,难以保证数据独立性和一致性 多边形分解和合并不易进行,邻域处理较复杂; 处理嵌套多边形比较麻烦 适用范围: 制图及一般查询,不适合复杂的空间分析,3.4.2.1 实体数据结构(面条结构),不仅表达几何位置和属性,还表示空间关系 表达对象的邻接、关联、包含等关系 表达方式 全显式表达:对结点、弧段、面块相互之间的所有
11、关联关系都进行显式存储 半隐含式表达,3.4.2.2 拓扑数据结构,(1)拓扑结构:全显式表达,面与弧段的关系表,结点与弧段的关系表,弧段与面的关系表,弧段与结点的关系表,(2)拓扑结构:半隐含式表达,用上述部分表格表示空间目标的拓扑关系 面-弧段、弧段-节点 弧段-节点、弧段-面,3.4.3 栅格数据结构,定义 以规则像元阵列表示空间对象的数据结构,阵列中每个数据表示空间对象的属性特征。 栅格数据结构就是像元阵列,每个像元的行列号确定位置,用像元值表示空间对象的类型、等级等特征。 每个栅格单元只能存在一个值。对于栅格数据结构 点:为一个像元 线:在一定方向上连接成串的相邻像元集合。 面:聚集
12、在一起的相邻像元集合。,点,面,线,栅格数据类型 常用的栅格数据类型包括卫星影像、数字高程数据、数字正射影像、数字扫描地图和数字栅格图形。 栅格数据编码 直接栅格编码、链式编码、游程长度编码、四叉树编码,直接栅格编码,链式编码,链式编码示意图,游程长度编码 可沿行方向进行如下游程长度编码: (9,4),(0,4),(9,3),(0,5),(0,1)(9,2),(0,1),(7,2),(0,2),(0,4),(7,2),(0,2),(0,4),(7,4),(0,4),(7,4) ,(0,4),(7,4) ,(0,4),(7,4),块状编码 所示图像可以用12个单位正方形,5个4单位的正方形和 2
13、 个16 单位的正方形就能完整表示,具体编码如下: (1,1,2,9),(1,3,1,9),(1,4,1,9),(1,5,2,0),(1,7,2,0),(2,3,1,9),(2,4,1,0),(3,1,1,0),(3,2,1,9),(3,3,1,9),(3,4,1,0), (3,5,2,7), (3,7,2,0), (4,4,1,0),(4,2,1,0), (4,3,1,0), (4,4,1,0), (5,1,4,0), (5,5,4,7),四叉树编码 四又树结构的基本思想是将一幅栅格地图或图像等分为四部分。逐块检查其格网属性值(或灰度)。,四叉树编码,1)常规四叉树 每个结点记录6个指针变量
14、: 1)父结点指针 2)四个子结点的指针 3)本结点的属性值。,指针不仅增加了数据的存储量,还增加了操作的复杂性。 所以,常规四叉树并不广泛用于存储数据,其价值在于建立索引文件,进行数据检索。,2)线性四叉树 用地址码(定位码、Morton码)记录叶结点的位置、深度 (几次分割)和属性。 优点: 1)存贮量小,只对叶结点编码,节省了大量中间结点的存储,地址码隐含着结点的分割路径和分割次数。 2)线性四叉树可直接寻址,通过其坐标值直接计算其Morton码,而不用建立四叉树。 3)定位码容易存储和执行实现集合相加等组合操作。,四进制的Morton码 方法1: 四叉树从上而下(形成)(从整体开始)由
15、叶结点找Morton码。 A、分割一次,增加一位数字,大分割在前,小分割在后。所以,码的位数表示分割的次数。 B、每一个位均是不大于3的四进制数,表达位置。 由Morton找出四叉树叶结点的具体位置。,03,B,A,方法2:四叉树自下而上合并的方法 1)计算每个栅格对应的MQ MQ=2*Ib+Jb I,J化为二进制Ib,Jb 看最大的I,J,不足在前补零。 其始行列号从0计。 2) 按码的升序排成线性表,放在连续的内存块中。 3)依次检查每四个相邻的MQ对应的属性值,相同合并(不同码位去掉),不同则存盘,直到没能够合并的子块为止。,3)十进制的Morton码-MD 四进制Morton码直观上切
16、合四叉树分割,但许多语言不支持四进制变量,需用十进制表示Morton码. 一种按位操作的方法: 如行为5、列为7的栅格的MD 步骤: (1)行、列号为二进制 Ib= 0 1 0 1 Jb= 0 1 1 1 (2)I行J列交叉(3)再化为十进制。,在一个2n2n的图像中,每个像元点都给出一个Morton码,当n3时即为表所示。,把一幅2n2n的图像压缩成线性四叉树的过程 1)按Morton码把图象读入一维数组。 2)相邻的四个象元比较,一致的合并,只记录第一个象元的Morton码。循环比较所形成的大块,相同的再合并,直到不能合并为止。 3)进一步用游程长度编码压缩。压缩时只记录第一个象元的Mor
17、ton 码。,3.4.4 表面模型,定义 如果将上述高程替换为人口密度、降水量或大气压梯度等,依然可以得到相应的空间曲面,这些反映不同主题的曲面具有一致的表示形式,GIS将它们归纳为表面模型。 DEM中每个点对于一个高程值,用数学语义表达即是区域D上的三维向量有限序列,其数学函数模型如下: Vi=(Xi,Yi,Zi) (i=1,2,.,n)DEM数据的组织方法和表达方式主要有规则格网、不规则三角网和等高(值)线法三种。,3.4.4.1 TIN数据结构,TIN(triangulated irregular network),称为不规则三角网,是基于离散高程点连接成多个相互邻接的三角形面模拟地形起
18、伏变化。,三角形拓扑关系文件,3.4.4.2 狄洛尼(Delaunay)三角网,根据狄洛尼三角剖分的定义,一个三角网成为狄洛尼三角网需符合两个重要的准则: 1、空圆特性:狄洛尼三角网是唯一的(任意四点不能共圆),在狄洛尼三角形网中任一三角形的外接圆范围内不会有其它点存在。 2、最大化最小角特性:在散点集可能形成的三角剖分中,狄洛尼三角剖分所形成的三角形的最小角最大。从这个意义上讲,狄洛尼三角网是“最接近于规则化的”的三角网。具体的说是指在两个相邻的三角形构成凸四边形的对角线,在相互交换后,六个内角的最小角不再增大。,总体上狄洛尼三角网的优点表现为: 最接近 唯一性 最优性 最规则 区域性 具有
19、凸多边形的外壳,3.4.4.3 格网(Gird)数据结构,Grid模型是考虑到采样密度和分布的非均匀性,经内插处理后形成规则的平面分割网格。,3.4.4.4 等高(值)线,等高线也是一种重要的地面高程模型,它是地面上高程相等的相邻点连成的闭合曲线。,矢量栅格数据比较,3.5 面向对象的空间数据模型,3.5.1 类与对象 现实世界是一个真实的世界,不论在何处,人们所见到的东西都可以看成是对象。 当用面向对象的模型描述时,相同类的对象具有相同的属性和行为,它把对象分为两个部分:数据(相当于属性)和对数据的操作(相当于行为)。,在ArcGIS中要使用数以千计的类,面向对象技术还允许建立类与类之间的关
20、系。如关联、依赖、聚合、组合和泛化(继承)等。 关联是指两个类之间存在某种特定的对应关系。 依赖指的是类之间的调用关系。 聚合是整体与部分之间的关系。 组合中的类也是整体与部分的关系,与聚合不同的而是,其中的类不能对立出来。 聚合还是组合需要结合实际的业务环境来区分。 泛化就是两个类之间具有继承关系。,3.5.2 Geodatabase模型 Geodatabase是ArcInfo 8引入的一种全新的面向对象的空间数据模型,是建立在DBMS之上的统一的、智能的空间数据模型。 Geodatabase的基本体系结构包括要素数据集、栅格数据集、TIN数据集、独立的对象类、独立的要素类、独立的关系类和属
21、性域。其中,要素数据集又由对象类、要素类、关系类、几何网络构成。 Geodatabase的空间数据存储方案可分成三种 PersonalGeodatabase(个人空间数据库)File Geodatabase(基于文件格式的数据库) ArcSDE Geodatabase(企业级空间数据库)。,3.6 时空数据模型,时空数据模型的核心问题是研究如何有效地表达、记录和管理现实世界的实体及其相互关系随时间不断发生的变化,即地理信息的时间维度。,序列快照模型 序列快照模型简单易懂、一目了然,便于在计算机上实现,通过现有静态GIS中版本管理的方式,就可以直接存储快照数据。,基态修正模型 该模型将记录某一时
22、刻完整空间信息的状态快照作为基态图,其他时刻的状态中不包含当时完整的空间信息,仅保存相关对象的差异部分 相比序列快照模型,大大减少了存储的数据量,同时提髙了地理对象变化记录的时间分辨率,面向对象的时空数据模型 面向对象的思想是人们对现实世界理解与抽象表达的有效手段,逐渐被相关领域接受和采纳。 采用面向对象思想建立起来的时空数据模型易于实现,查询简单,操作方便,单个对象就能够表征地理实体的整个历史变化。,基于事件的模型 在此模型中,使用一个类似于基态修正模型中的基图(Base map)记录原始状态,用事件列表描述变化过程 “基图+事件列表”的模式可以去除重复不变的地方,并能够方便地计算出某个事件所在时刻的状态,在节省了存储空间的同时,也更加清晰地表现出时空变化过程。,思考题,简述现实世界中对象在GIS中的抽象建模过程。 什么是拓扑关系,如何在GIS中表达拓扑关系。 说明空间数据结构与空间数据模型的关系。 对比TIN数据结构与Grid数据结构。 对下面的8x8的栅格数据分别进行游程长度编码和线性四叉树编码。通过使用ArcGIS理解矢量数据结构与栅格数据结构的区别。,The End Questions?,Thank you!,