空间数据结构的转换

  • 格式:pdf
  • 大小:201.64 KB
  • 文档页数:6

空间数据结构的转换

一、栅格结构与矢量结构相互转换的必要性

矢量结构与栅格结构各有优缺点,前面已有论述,请复习前面所学的知识。

栅格结构分辨率低,输出的地图既不精确又不美观,但它空间分析功能强

大,在对多边形的面积、周长与均值计算中方便有效;矢量结构精度高,能输

出精确而美观的地图且存储量很小,是理想的图形表达形式,还能较好地反映拓扑关系,但空间分析功能太弱,在对多边形的面积、周长与均值计算中是不

能与栅格结构相比的。因此在采集数据时,采用矢量结构,而分析问题时,用

栅格结构。人们越来越认识到,不论栅格数据结构还是矢量数量结构都是描述

空间数据的有效方法,但本身又都存在着一定的局限性。为了根据需要,取其

优点,研究两类数据结构的转换技术。

今天随着计算机的运算速度、存储能力与高分辨率显示功能的惊人发展和

高性能图形输入、输出设备的问世,以及人们对认识栅格结构与矢量结构差别

的深刻程度(两者的差异都是技术问题,而不是重要的概念差别)上的飞跃,使栅格结构与矢量结构的相互转换不仅在理论上能够实现,而且在实践上也已成

为现实。地理信息系统正在解决栅格结构与矢量结构存在的局限性的问题,研

制更加优化的数据组织结构,矢量与栅格一体化数据结构在理论与实践上也基

本成熟。

二、矢量向栅格转换

矢量向栅格转换容易实现,现在已开发的各种转换软件,通过简单的处理

就可以自动完成。

矢量结构向栅格结构转换又称为多边形填充,就是在矢量表示的多边形边

界内部的所有栅格点上赋以相应的多边形编号,从而形成栅格数据阵列。从点、

线、面实体转化为栅格单元的过程称之为栅格化,栅格化的首要工作是选择单元的大小和形状,而后检测实体是否落在这些多边形上,记录属性等。

栅格化的过程是个生成二维阵列的过程,主要操作如下:

⑴将点和线实体的角点的笛卡儿坐标转换到预定分辨率和已知位置值的矩阵中;

⑵沿行或沿列利用单根扫描线或一组相连接的扫描线去测试线性要素与单

元边界的交叉点,并记录有多少个栅格单元穿过交叉点;

⑶对多边形,测试过角点后,剩下线段处理,这时只要利用二次扫描就可

以知道何时到达多边形的边界,并记录其位置与属性值。

矢量结构向栅格结构转换的主要转换方法(算法)有:

⑴内部点扩散算法:该算法是由多边形的一个内部点(种子点)开始,向其

它8个方向的临点扩散,并判断各个新加入点是否在多边形边界上,如果是边界点,则该新加入点不做种子点,否则把非边界点作为新的种子点继续扩散,

并将多边形的属性值赋予该栅格。以此类推,直到种子点填满多边形为止,多

边形栅格数据生成。

内部点扩散算法扩散运算程序设计比较复杂,需在栅格阵列中进行搜索,占用内存大。当复杂图形中某个多边形两侧的边界在同一或相邻的两个栅格象

元之内,会造成多边形的不连通,此时,需要多个种子点共同完成多边形的连

通。

⑵复数积分方法:复数积分法是通过判断多边形栅格单元的归属问题的转换方法。具体方法是:由判断点对每个多边形的封闭边界计算复数积分,对某

个多边形,如果积分值等于2πi,则该待判点属于此多边形,赋予多边形的编

号;如果积分值不等于2πi,则该待判点在多边形的外部,不属于此多边形。

复数积分法算法设计不很复杂,可靠性强,但计算工作量大,运算时间长,

不适合低档次的计算机。

⑶射线算法:该算法是判断各栅格点在多边形的内外位置,通过从待判点向外引射线,然后判断该射线与多边形的边界相交的次数。当相交奇数次时,

该点在多边形内部;当相交偶数次时,该点在多边形外部。点在多边形内部时,

把多边形编号赋予该点。

射线算法计算量大,在特殊情况下很难判断射线与多边形边界是否相交,从而会增加编程的复杂性和算法的不完善性。

⑷扫描算法:在射线算法的基础上形成了扫描算法,其基本原理仍是判断点在多边形的位置,点在多边形内部,则给该点赋值为多边形的编号。具体操

作为:沿栅格阵列的行(或列)方向进行逐行(或列)扫描,对扫描线两次遇到多

边形边界的交点之间的栅格,属于多边形内部的点,把多边形编号赋予该点。

扫描算法使计算效率得到了提高,但算法中的不完善处仍未解决。

⑸边界代数法

边界代数法是一种基于求积分思维的转换方法。它根据多边形的各边界弧段的拓扑信息,通过简单的数学运算将拓扑信息动态地赋给各个栅格单元,从

而完成矢量到栅格的转换。

具体方法为:对初始化的栅格阵列各象元赋初值0,给多边形赋编号(即把多边形内的初值0用编号取代);以栅格行列为参考坐标系,从多边形边界上某

点开始顺时针搜索边界线。当边界上行时,位于该边界线段左侧的具有相同行

号的所有栅格象元被减去编号值;当边界下行时,位于该边界线段左侧的具有

相同行号的所有栅格象元被加上编号值,当沿边界搜索一周重新回到起点后,所有多边形内部象元点都已被赋值,从而完成了多边形填充,实现了矢量向栅

格转换。

边界代数法转换过程中,不必考虑各边界弧段的排列顺序与搜索轨迹的关系,避免了公共边界的重复运算问题,具有算法简单、可靠性强与运算速度快

的特点。是适合微机地理信息系统的优秀算法。

三、栅格向矢量的转换

栅格向矢量的转换是将具有相同属性代码的栅格集合表示为多边形区域的边界与边界的拓扑关系,是将每个边界弧段由多个小直线段组成的矢量格式边

界线的过程,这个由栅格单元转换到几何图形的过程称为矢量化。矢量化要保

持栅格结构存在的连通性、临界性与被转换物体的外形。

栅格向矢量的转换从概念上容易理解,但在转换中包括对细化的处理,将产生大量的多余坐标要去除,因此比矢量向栅格转换的算法要复杂得多。栅格

向矢量转换中最困难的是边界线搜索与拓扑结构的形成。

栅格向矢量转换通常包括下列步骤:

⑴多边形边界提取与细化:二值化(把256个灰度压缩到2个灰度,边界线

占一灰度)通过确定结点和边界点来实现。

⑵边界线追踪:以矢量形式记录栅格点中心的坐标,对已提取的结点或边

界点,判断跟踪搜索方向后,由一个结点向另一个结点搜索每一个边界线弧段,

直到连成边界弧段为止。

⑶拓扑关系生成:将原栅格数据的边界拓扑关系形成完整的矢量拓扑结构

并建立与属性数据的联系。

⑷去除冗余点:在逐个搜索边界点时,遇到边界弧段是直线的情况时,会造成一些多余点,因此必须将这些多余点记录去除。

⑸曲线圆滑:曲线受栅格精度限制一般不圆滑,因此采用一定的插补算法对不圆滑现象进行光滑处理。

曲线圆滑常用的算法有:

⑴线性迭代法;

⑵分段3次多项式插值法;

⑶正轴抛物线平均加权法;

⑷斜轴抛物线平均加权法;

⑸样条函数插值法。

通过栅格向矢量转换,可将栅格数据分析的结果,在矢量绘图仪上输出;

将大量的面状栅格数据转换为少数矢量数据表示的多边形边界,起到压缩数据

的作用;将自动扫描仪获取的栅格数据加入到矢量形式的数据库。从而大大地丰富了地理信息系统数据采集与输入的功能。

书中内容解释:

1、地理空间及其表达:

⑴地理空间概念;

我国选用的大地坐标系投影与椭球体(采用80年中国国家大地坐标系,75年国际大地测量协会推荐的国际椭球,1:50万的地图采用高斯投影,85年国

家高程基准,比黄海面高29mm);

⑵空间实体的表达:关键是点的表达:用一个没有大小的点来表达点元素,称矢量表示法;用一个有固定大小的点来表达点元素时,称栅格表示法。

2、地理空间数据及其表达

⑴空间数据:数据来源:地图数据(普通地图与专题地图),影像数据(航空

航天卫星遥感),地形数据(等高线、DEM与其他实测地形数据)

属性数据

元数据:概念:是关于数据的数据。是关于数据的内容、质量、状况、和

其他特性的描述性信息。如:过去图书馆的卡片、出版图书的版权说明、磁盘标签、地图图例等都是元数据。通过这些元数据,可了解一些这些书、磁盘、

音像制品的情况,看是否满足你的需求。

作用:主要用于描述数据集,也用于描述数据集系列和各个要素及其属性。有效地管理、维护、和更新数据,建立数据档案;为数据集编目和数据交换提

供信息,便于用户检索查询数据,评价数据的可用性,并可用过有效途径获得

数据,利用元数据找到需要的数据。为数据库服务:分布式、多元异构数据库,

通过元数据提供支持。帮着用户处理转换所需的信息。

问题的提出:为了解决由于信息量日益巨增而产生的信息管理以及信息分

发与共享要求等迫切的问题提出来的。GIS数据具有多数剧源、多时相、多尺

度、多分辨率和多类型等特点,数据量大,而且与日剧增,需要进行数据的生产、管理、使用、更新和维护等,如何组织管理好这些数据、有效的快速的访

问、查询,元数据通过通过对数据的描述与说明,帮助解决这些问题。

⑵空间数据的基本特征:几何特征、属性特征、时间特征

⑶空间数据的计算机表示:如何组织数据、如何建立数据之间的联系。用

的是矢量表示法,用点、线、面、注记四个要素,地物、地物类、地物层、工

作区、工程组织。

空间数据与属性数据用用户标识码(ID)进行链接,弧段的拓扑关系为:始点、终点、左多边形、右多变形4个数据项组成。

栅格矢量一体化数据结构

对于面状地物,矢量数据使用边界表达的方法,边界是闭合线,中间是空

洞;栅格法是用空间填充的方法,将多边形中的任一点都直接与某地物联系在

一起,直接表达的方法还是理想的。