当前位置:首页 > 空间数据结构
空间数据结构
摘要:空间数据模型和空间数据结构是地理信息系统(GIS)课题的中心内容。本文对空间数据结构的定义、分类进行了一定的研究性的归纳与总结。 关键词:空间数据结构,矢量数据,栅格数据
引言
GIS中空间数据结构和空间数据模型是紧密相关的。数据模型的建立必须通过一定的数据结构,但两者之间也有非常大的区别。数据模型是一个总得概念,是人为概念化的真实,是对现实世界的提取,对现实世界的认识和选择。而数据结构指数据元素之间的相互关系,它是软件常规内涵,根据空间数据结构和数据模型的特点及其关系,可以建立空间数据库系统。
空间数据结构定义
空间数据结构是带有空间数据单元的集合。这些数据单元是数据的基本单位,一个数据单元可以有几个数据项组成,数据单元之间存在某种联系叫做结构。所以,研究空间数据结构,是指空间目标间的相互关系,包括几何和非几何的关系,数据结构是数据模型的表述,数据结构往往通过一系列的图表和矩阵,以及计算机码的数据记录来说明。
空间数据结构的分类
矢量数据结构
定义
矢量数据结构是基于矢量模型,利用欧几里得(EUCLID)几何学中的点、线、面及其组合体来表示地理实体的空间分布,是通过记录坐标的方式,尽可能精确地表示点线多边形等地理实体,自然地理实体的位置是用其在坐标参考系中的空间位置来定义的,坐标空间设为连续,允许任意位置长度和面积的精确定义,其特点是定位明显,属性隐含。
GIS采用的矢量数据结构模型,是将空间地质实体抽象成点、线、面三种几何要素,矢量数据结构通过优化拓扑结构表达空间实体的相关关系,为空间数据库建立基本框架。
矢量数据结构的特点
优点:数据按照点、线或多边形为单元进行组织,结构简单、直观、易实现以实体为单位的运算和显示。
缺点:
A. 独立存储方式造成相邻多边形的公共边界被数字化并存储两次,出现数据冗余和细碎多边形,导致数据不一致;点位字典存储可保证公共边的唯一性。
B.自成体系,缺少多边形的邻接信息,邻域处理复杂,需追踪出公共边。 C.处理岛或洞等嵌套问题较麻烦,需要计算多边形的包含等。 矢量数据的拓扑关系
众所周知,空间分析是GIS的特色功能,因此GIS中的空间数据结构不仅要描述空间对象本身的几何特征,而且要描述空间对象之间的拓扑关系。我们采用的是一种以弧段为基础的拓扑数据模型。
拓扑模型是将实体间的某些拓扑关系和点、线、多边形直接存贮在表中,没有数据冗余。通过这些表,可以方便地判断线状实体的连通关系和面状实体的邻接关系。该模型在空间数据的组织、拓扑空间关系的表达、数据模型的拓扑一致性检验及图形恢复等方面具有较强的能力,因此被广泛应用于GIS软件,如ArcInfo等。但是采用该方法构建新的拓扑空间关系时,所用的时间量较大。 无拓扑关系的矢量数据
无拓扑关系的矢量数据模型也称面条数据模型,它仅记录空间目标位置坐标和属性信息,而不记录它的拓扑关系。它可能有两种形式:一种是每个点、线、面目标直接跟随它的空间坐标;另一种方式是点坐标作为一个文件,线和多边形由点号组成。在第一种形式中,每个实体的坐标都独立存储,毫不顾忌相邻的多边形或线状和点状物。使用这种方法时,除了外轮廓线以外,多边形的边界线数据均获取和存储两次,这就会产生裂隙或重叠,并产生数据冗余。为了消除裂缝,一般需要编辑。
为克服独立实体编码的某些局限性,以共用点位字典为基础建立了一些系统。点位字典包含地图上每个边界点的坐标,然后建立点、线实体和多边形的边界表,它们由点位序号构成。利用点位字典法建立点位字典的数据文件可以消除多边形边界的裂隙和坐标数据的重复储存,但它们仍然没有建立各个多边形实体间的空间关系。
栅格数据结构
定义
栅格数据是最简单、最直观的一种空间数据结构,它是将地面划分为均匀的
网格,每个网格作为一个像元,像元的位置由所在行、列号确定,像元所含有的代码表示其属性类型或仅是与其属性记录相联系的指针。在栅格结构中,一个点
(如房屋)由单个像元表达,一条线(如道路)由具有相同取值的一组线状像元表达,一个面状地物(如旱地)由若干行和列组成的一片具有相同取值的像元表达。
栅格数据结构的特点
1、属性明显,定位隐含,即数据直接记录属性本身,而所在的位置则根据行列号转换为相应的坐标,即定位是根据数据在数据集中的位置得到的,在栅格结构中,点用一个栅格单元表示;线状地物用沿线走向的一组相邻栅格单元表示,每个栅格单元最多只有两个相邻单元在线上;
2、面或区域用记有区域属性的相邻栅格单元的集合表示,每个栅格单元可有多于两个的相邻单元同属一个区域。
压缩编码存储结构
栅格数据是最简单、最直观的一种空间数据结构,它是将地面划分为均匀的网格,每个网格作为一个像元,像元的位置由所在行、列号确定,像元所含有的代码表示其属性类型或仅是与其属性记录相联系的指针。在栅格结构中,一个点(如房屋)由单个像元表达,一条线(如道路)由具有相同取值的一组线状像元表达,一个面状地物(如旱地)由若干行和列组成的一片具有相同取值的像元表达。
栅格数据的编码方法:
栅格数据的编码方法有多种,常见的有栅格矩阵法、行程编码、块码和四叉树编码等,而四叉树编码是一种更有效地压编数据的方法。 栅格结构和矢量结构的相互关系
作为两种不同的数据结构,矢量结构与栅格结构有很大不同。
栅格数据结构简单,但数据存储量大,而矢量数据存储量小,但数据结构复杂;栅格结构容易描述边界复杂的事物便于处理三维连续面,但空间位置精度低,而矢量结构是通过坐标表示的,因此空间位置精度高
栅格结构图像能有遥感资料直接获得,但输出的地图不美观,且难以表达现状网络状的事物;矢量结构不能直接处理数字图像,但空间关系描述全面,对线状,网络状事物分析方便且空间与属性数据综合查询与更新方便,图形显示质量好.
由以上描述可知栅格格式最适合彩色、阴影或形状变化复杂的图像,矢量格式适合于线性图形造型,阴影和色彩简单的CAD图像和图形。
像素图的投影变换与矢量图的投影变换在其图形实施中有较大区别;矢量数据在投影变换前后点数相同,一一对应,可直接利用相关公式进行变换;而栅格数据是由(像素)逐个排列而成的,投影变化后不仅图廓形状发生变化,其图幅面积也会发生变化,势必造成图像的重叠与撕裂,采用逆转化的方法,即从变换后的图像处寻找出目标图与原图之间的对应关系。
矢量图形中地理坐标与屏幕坐标通过投影坐标的过渡来完成,栅格图的数学基础变换不像矢量图那样为单值变换,即原图块与目标图块所含像素数目等,如像矢量图那样将原图像中每个像素进行一一变换就会产生许多漏洞和重叠,给摄像处理带来很大难度,为避免这种情况采用一种间接方式,即先构造目标框架,然后对其间每个像素点找出定在原图像中的对应点,附之以该点的颜色值,填充完毕即实现变换。
矢量结构与栅格结构是可以相互转化的。矢量格式转化为栅格格式需将图片上多边形网、线网等分成元素,再将适当的程序把元素转化成任何一种分辨率的栅格格式;栅格格式转化为矢量格式首先要对扫描所得的密集像元形成的线划用细化处理算法予以细化,同时还要用合适的算法剔除细化处理时产生的多余坐标,另外要处理线划间断重叠等问题,数据转换过程中不可避免要损失部分信息
由于栅格和矢量结构各自有自己的优缺点,因此如何解决二者间矛盾,更好地发挥GIS功能就成为GIS开发的热点之一。研究方向有两个:一是采用混合数据模型,此方法实际是保存了两种结构的地图数据,以便根据不同的需求采用不同的地图数据;另一种是研究一体化的数据模型和数据结构。
共分享92篇相关文档