得鹿梦鱼 得鹿梦鱼

空间数据管理

空间数据库

数据库就是为一定目的服务,以特定的数据存储的相关联的数据集合,它是数据管理的高级阶段,是从文件管理系统发展而来的。地理信息系统的数据库(简称空间数据库或地理数据库)是某一区域内关于一定地理要素特征的数据集合

空间数据库的特点

  1. 数据量特别大,地理系统是一个复杂的综合体,要用数据来描述各种地理要素,尤其是要素的空间位置,其数据量往往很大
  2. 不仅有地理要素的属性数据(与一般数据库中的数据性质相似),还有大量的空间数据,即描述地理要素空间分布位置的数据,并且这两种数据之间具有不可分割的联系
  3. 数据应用广泛,例如地理研究、环境保护、土地利用与规划、资源开发、生态环境、市政管理、道路建设等

GIS的内部数据结构——矢量结构和栅格结构

描述地理实体的数据本身的组织方法,称为内部数据结构。空间数据结构是指适合于计算机系统存储、管理和处理的地学图形的逻辑结构,是地理实体的空间排列方式和相互关系的抽象描述。它是对数据的一种理解和解释,不说明数据结构的数据是毫无用处的,不仅用户无法理解,计算机程序也不能正确的处理。对同样的一组数据,按不同的数据结构去处理,得到的可能是截然不同的内容。空间数据结构是地理信息系统沟通信息的桥梁,只有充分理解地理信息系统所采用的特定数据结构,才能正确地使用系统

内部数据结构基本上可分为两大类:矢量结构和栅格结构(也可以称为矢量模型和栅格模型)。两类结构都可用来描述地理实体的点、线、面三种基本类型

空间数据编码是空间数据结构的实现,即将根据地理信息系统的目的和任务所搜集的、经过审核了的地形图、专题地图和遥感影像等资料按特定的数据结构转换为适合于计算机存储和处理的数据的过程。由于地理信息系统数据量极大,一般采用压缩数据的编码方式以减少数据冗余

在地理信息系统的空间数据结构中,栅格结构的编码方式主要有直接栅格编码、链码、游程长度编码、块码、四叉树码等;矢量结构主要有坐标序列编码、树状索引编码和二元拓扑编码等编码方法

矢量模型

在矢量模型中,现实世界的要素位置和范围可以采用点、线或面表达,与它们在地图上表示相似,每一个实体的位置是用它们在坐标参考系统中的空间位置(坐标)定义

点数据通过使用坐标指示避难场所等位置。线数据通过记录多个点来表示,并用于指示河流,道路,铁路等线状要素地物。该线的点包括端点和节点,与简单点区分开来。此外,连接此端点和节点的线称为链或弧。通过用线连接三个或更多个点来创建表面来表示多边形数据,并且用于指示假定的海啸淹没区域的范围。这个多边形的重要之处在于有一个机制来表示闭合线的外部和内部

栅格模型

在栅格模型中,空间被规则地划分为栅格(通常为正方形)。地理实体的位置和状态是用它们占据的栅格的行、列来定义的。每个栅格的大小代表了定义的空间分辨率。由于位置是由栅格行列号定义的,所以特定的位置由距它最近的栅格记录决定

常见的栅格式数据如数值地图、卫星影像、航空照片、数值高程模型等

数值地图 :模拟式地图(如:纸图)以扫瞄的方式将其数值化,由栅格所组成
卫星影像 :人造卫星拍摄各种不同波长的反射光,再将各波长拍摄图像迭合形成彩色图案,能反映出真实地表的现况。因位置高,涵盖面也就很广,可以快速收集大范围地区的地理数据
航拍照片 :空载摄影机利用可见光波段拍摄地表,因位置低,分辨率较卫星影像高
数字高程模型(Digital Elevation Model,DEM) :以数字型态来描述地表高程的模型,含有 X 坐标、Y 坐标、 Z高程值,可利用来做水文、地下水等相关模拟

栅格数据结构及其编码

栅格数据结构

栅格结构是最简单最直接的空间数据结构,是指将地球表面划分为大小均匀紧密相邻的网格阵列,每个网格作为一个象元或象素由行、列定义,并包含一个代码表示该象素的属性类型或量值,或仅仅包括指向其属性记录的指针。因此,栅格结构是以规则的阵列来表示空间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征

点、线、区域的格网

栅格数据结构特点

属性明显,定位隐含,即数据直接记录属性的指针或属性本身,而所在位置则根据行列号转换为相应的坐标,也就是说定位是根据数据在数据集中的位置得到的
栅格结构表示的地表是不连续的,是量化和近似离散的数据。在栅格结构中,地表被分成相互邻接、规则排列的矩形方块(特殊的情况下也可以是三角形或菱形、六边形等),每个地块与一个栅格单元相对应

决定栅格单元代码的方式

  1. 中心点法:用处于栅格中心处的地物类型或现象特性决定栅格代码
  2. 面积占优法:以占矩形区域面积最大的地物类型或现象特性决定栅格单元的代码
  3. 重要性法: 根据栅格内不同地物的重要性,选取最重要的地物类型决定相应的栅格单元代码
  4. 百分比法:根据矩形区域内各地理要素所占面积的百分比数确定栅格单元的代码

栅格数据结构编码方法

  1. 直接栅格编码:直接编码就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每行都从左到右逐个象元记录,也可以奇数行地从左到右而偶数行地从右向左记录,为了特定目的还可采用其他特殊的顺序
  2. 压缩编码方法:目前有一系列栅格数据压缩编码方法,如键码、游程长度编码、块码和四叉树编码等。其目的,就是用尽可能少的数据量记录尽可能多的信息,其类型又有信息无损编码和信息有损编码之分。信息无损编码是指编码过程中没有任何信息损失,通过解码操作可以完全恢复原来的信息,信息有损编码是指为了提高编码效率,最大限度地压缩数据,在压缩过程中损失一部分相对不太重要的信息,解码时这部分难以恢复。在地理信息系统中多采用信息无损编码,而对原始遥感影像进行压缩编码时,有时也采取有损压缩编码方法

矢量数据结构及其编码

矢量数据结构

地理信息系统中另一种最常见的图形数据结构为矢量结构,即通过记录坐标的方式尽可能精确地表示点、线、多边形等地理实体,坐标空间设为连续,允许任意位置、长度和面积的精确定义,事实上,其精度仅受数字化设备的精度和数值记录字长的限制,在一般情况下,比栅格结构精度高得多。

对于点实体,矢量结构中只记录其在特定坐标系下的坐标和属性代码;对于线实体,在数字化时即进行量化,就是用一系列足够短的直线首尾相接表示一条曲线,当曲线被分割成多而短的线段后,这些小线段可以近似地看成直线段,而这条曲线也可以足够精确地由这些小直线段序列表示,矢量结构中只记录这些小线段的端点坐标,将曲线表示为一个坐标序列,坐标之间认为是以直线段相连,在一定精度范围内可以逼真地表示各种形状的线状地物;“多边形”在地理信息系统中是指一个任意形状、边界完全闭合的空间区域。其边界将整个空间划分为两个部分:包含无穷远点的部分称为外部,另一部分称为多边形内部。把这样的闭合区域称为多边形是由于区域的边界线同前面介绍的线实体一样,可以被看作是由一系列多而短的直线段组成,每个小线段作为这个区域的一条边,因此这种区域就可以看作是由这些边组成的多边形了

特点

矢量结构的特点是:定位明显、属性隐含,其定位是根据坐标直接存储的,而属性则一般存于文件头或数据结构中某些特定的位置上,这种特点使得其图形运算的算法总体上比栅格数据结构复杂的多,有些甚至难以实现,当然有些地方也有所便利和独到之处,在计算长度、面积、形状和图形编辑、几何变换操作中,矢量结构有很高的效率和精度,而在叠加运算、邻域搜索等操作时则比较困难

矢量数据结构编码方法

  1. 点实体:对于点实体和线实体的矢量编码比较直接,只要能将空间信息和属性信息记录完全就可以了。点是空间上不能再分的地理实体,可以是具体的或抽象的,如地物点、文本位置点或线段网络的结点等,由一对x、y坐标表示

点实体
2. 线实体:线实体主要用来表示线状地物(如公路、水系、山脊线等)符号线和多边形边界,
线实体
3. 多边形:多边形数据是描述地理信息的最重要的一类数据。在区域实体中,具有名称属性和分类属性的,多用多边形表示,如行政区、土地类型、植被分布等;坐标序列法、树状索引编码法、拓扑结构编码法

矢栅结构的比较及转换算法

栅格结构与矢量结构的比较

矢量数据栅格数据
优点数据结构紧凑、冗余度低 \n 有利于网络和检索分析 \图形显示质量好、精度高数据结构简单 \n 便于空间分析和地表模拟 \n 现势性较强
缺点数据结构复杂 \n 多边形叠加分析比较困难数据量大\n 投影转换比较复杂

相互转换算法

矢量结构与网格结构的相互转换,是地理信息系统的基本功能之一

对于点状实体,每个实体仅由一个坐标对表示,其矢量结构和栅格结构的相互转换基本上只是坐标精度变换问题,不存在太大的技术问题

线实体的矢量结构由一系列坐标对表示,在变为栅格结构时,除把序列中坐标对变为栅格行列坐标外,还需根据栅格精度要求,在坐标点之间插满一系列栅格点,这也容易由两点式直线方程得到。线实体由栅格结构变为矢量结构与将多边形边界表示为矢量结构相似

重点讨论多边形(面实体)的矢量结构与栅格结构相互转换

矢量格式向栅格格式的转换

矢量格式向栅格格式转换又称为多边形填充,就是在矢量表示的多边形边界内部的所有栅格点上赋以相应的多边形编码

  1. 内部点扩散算法
  2. 复数积分算法
  3. 射线算法和扫描算法
  4. 边界代数算法

栅格格式向矢量格式的转换

多边形栅格格式向矢量格式转换就是提取以相同的编号的栅格集合表示的多边形区域的边界和边界的拓扑关系,并表示由多个小直线段组成的矢量格式边界线的过程

步骤
  1. 多边形边界提取
  2. 边界线追踪
  3. 拓扑关系生成
  4. 去除多余点及曲线圆滑

空间索引机制

空间索引就是指依据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构,其中包含空间对象的概要信息,如对象的标识、外接矩形及指向空间对象实体的指针。作为一种辅助性的空间数据结构,空间索引介于空间操作算法和空间对象之间,它通过筛选作用,大量与特定空间操作无关的空间对象被排除,从而提高空间操作的速度和效率。空间索引的性能的优劣直接影响空间数据库和地理信息系统的整体性能,它是空间数据库和地理信息系统的一项关键技术

索引类型

  1. 格网型空间索引: 将研究区域用横竖线条划分大小相等和不等的格网,记录每一个格网所包含的空间实体。当用户进行空间查询时,首先计算出用户查询对象所在格网,然后再在该网格中快速查询所选空间实体,这样一来就大大地加速了空间索引的查询速度
  2. BSP树空间索引: BSP树是一种二叉树,它将空间逐级进行一分为二的划分
  3. KDB树空间索引: KDB树是B树向多维空间的一种发展。它对于多维空间中的点进行索引具有较好的动态特性,删除和增加空间点对象也可以很方便地实现;其缺点是不直接支持占据一定空间范围的地物要素
  4. R树和R+树
  5. CELL树

空间信息查询

  1. 基于属性特征查询
  2. 基于空间关系和属性特征的查询