[GIS原理] 4.1 矢量空间数据结构(实体数据结构|spaghetti数据结构|拓扑空间数据结构)

在知识传播途中,向涉及到的相关著作权人谨致谢意!

【有种说法】矢量数据的实质还是栅格数据

  1. 计算机中的数据本身就是对连续现实世界的离散表达。矢量数据在计算机存储和显示中的空间分辨率非常大,但受到计算机存储性能的限制,矢量数据也有小数点维数,即矢量数据的离散的空间坐标,这就和栅格数据在计算机中是离散的类型数据一样
  2. 矢量数据在计算机的存储中也是由一个个很小的像素点组成,这样才能组成计算机能处理识别的二值信息
  3. 矢量数据的本质是二值化的栅格数据,其实是一种理想化的栅格数据

矢量空间数据结构

【矢量数据结构】对矢量数据模型进行数据的组织

【优点】

  1. 它通过记录实体坐标及其关系,尽可能精确地表示点、线、多边形等地理实体
  2. 具有精度高、存储空间小等特点,是一种高效的图形数据结构
  3. 允许任意位置、长度和面积的精确定义

【具体方法】几何图形及其关系用关系文件方式组织

  • 几何图形及其关系用文件方式组织
  • 属性数据通常采用关系型文件记录
  • 两者通过实体标识符连接

在这里插入图片描述

【分类】矢量数据结构是否明确表示地理实体间的空间关系分为实体数据结构、拓扑数据结构

实体数据结构/spaghetti数据结构

【实体数据结构】构成多边形边界的各个线段,以多边形为单位进行组织,对点、线、面都单独编码并记录坐标的一种数据结构

【优点】编码容易、数字化操作简单和数据编排直观

【缺点】

  • 相邻多边形的公共边界要被数字化和存储两遍,节点在数据库中被多次记录,不仅造成数据冗余,还容易造成数据的不一致,引起严重的匹配误差,可能导致输出的公共边界出现间隙或重叠
  • 每个多边形自成体系,缺少多边形的邻域信息和图形的拓扑关系
  • 岛只作为一个单图形,没有建立与外界多边形的联系
  • 难以检查多边形边界的拓扑关系正确与否,如是否存在间隙、重叠、不完整的多边形(死点)或拓扑学上不能接受的环(奇异多边形)等问题

【具体实现】

  1. 方法1:点数据文件(点号、XY坐标)+多边形数据文件(多边形ID、点号串、类别码)
  2. 方法2:点数据文件(点号、XY坐标)+多边形数据文件(多边形ID、坐标串、类别码)

在这里插入图片描述

在这里插入图片描述

拓扑空间数据结构

【拓扑空间数据结构】描述对象域周边对象关系特征的数据结构

【类型】拓扑空间数据结构没有固定的格式,还没有形成标准,但基本原理相同

  • 索引式
  • 双重独立编码结构DIME
  • 链状双重独立编码结构

【共同的特点】

  • 点是相互独立的,点连成线,线构成面;
  • 每条线始于起始结点,止于终止结点,并与左右多边形相邻接

索引式拓扑空间数据结构

【索引式结构】采用树状索引以减少数据冗余并间接增加邻域信息
【思想】将点、线、面看成三个层次,面由线构成、线由点构成,形成树状索引。坐标只存储点的XY,一条线对应n个点的ID集,一个多边形对应n个线的ID集
【具体方法】对所有边界点进行数字化 –> 将坐标对以顺序方式存储 –> 由点索引与边界线号相联系,以线索引与各多边形相联系,形成树状索引结构

【优点】

  1. 树状索引结构消除了相邻多边形边界的数据冗余和不一致问题
  2. 在简化过于复杂的边界线或合并多边形时刻不必改造索引表,邻域信息和岛状信息

【缺点】两个编码表都要以人工方式建立,工作量大且容易出错

【文件】点文件(点ID、XY坐标)+线文件(边ID、组成该边的点ID集合)+多边形文件(多边形ID、组成该多边形的边ID集合)
在这里插入图片描述
在这里插入图片描述

双重独立编码结构/DIME(Dual Independent Map Encoding)码

【背景】这种数据结构最早是由美国人口统计系统采用的一种编码方式

【DIME】它对图上网状或面状要素的任何一条线段,用其两端的节点及相邻多边形予以定义,组成一个弧段文件

【优点】通过双重独立编码可以检查数据,并自动形成面文件
【缺点】由于美国的行政边界是条直线,此编码结构的直线只表示两端点 –> 只能用直线两端点的序号及相邻的多边形来表示
【文件组织】线文件:线号+左多边形+右多边形+起点+终点

在这里插入图片描述

链式双重独立编码

  1. what:多边形文件+弧段文件+弧段坐标文件+节点文件
  2. what:链式双重独立式数据结构是DIME数据结构的一种改进

【DIME】在DIME中,一条边只能用直线两端点的序号及相邻的多边形来表示
【链状数据】

  1. 在链状数据结构中,将多个直线段看成一个弧段(或链段),每个弧段可以有许多中间点
  2. 而弧段代替了DIME中的直线,使链式双重独立编码能够存储多结点的直线

【数据结构】

  1. 【组织方法一】结点文件(结点号、XY坐标、连接的弧段)+弧段点文件(弧段ID、点号集)+弧段文件(弧段ID、起始点、终结点、左多边形、右多边形)+多边形文件(多边形ID、弧段号的集合、其他属性列)
  2. 【组织方法二】弧段坐标文件(弧段ID、坐标串)+弧段拓扑文件(弧段ID、起始点、终结点、左多边形ID、右多边形ID)、多边形拓扑文件(多边形ID、弧段号的集合、属性)
    没有结点文件,XY坐标以坐标串的形式存储在弧段坐标文件

链式双重独立编码1
链式双重独立编码2

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片