首页 百科知识 栅格数据结构向矢量数据结构的转换

栅格数据结构向矢量数据结构的转换

时间:2022-10-09 百科知识 版权反馈
【摘要】:栅格数据向矢量数据转换能为数据输入工作提供便利,相对于矢量数据向栅格数据转换,栅格数据转换成矢量数据的原理和实现方法要复杂得多。栅格数据向矢量数据的转换包括中心线矢量化、轮廓线矢量化、自动矢量化和半自动矢量化等多种方式,然而无论哪一种,最终都要落实到点的矢量化上来。线画图形扫描后产生栅格数据,一般情况下,栅格数据是按0~255的不同灰度值表达的。

4.5.4 栅格数据结构矢量数据结构的转换

栅格数据向矢量数据转换能为数据输入工作提供便利,相对于矢量数据向栅格数据转换,栅格数据转换成矢量数据的原理和实现方法要复杂得多。栅格数据向矢量数据的转换包括中心线矢量化、轮廓线矢量化、自动矢量化和半自动矢量化等多种方式,然而无论哪一种,最终都要落实到点的矢量化上来。

1.点矢量化

点的矢量化是点的栅格化的逆过程,是线和面矢量化的基础,它是由单个像元矢量化后形成的一个点(参考图4-20),其计算公式如下:

img50

在此,x0、y0为左上角原点坐标,Dx、Dy则表示栅格单元的两个边长。

2.线的矢量化

进行线实体的栅格数据结构向矢量数据结构转化,要求在线实体矢量化前,其横断面只能保持一个栅格的宽度,然后再进行矢量化转换计算。这要求线的矢量化必须首先进行细化处理,再进行栅格的矢量化,最后平滑成一条光滑曲线。在此,线的矢量化通常包括以下几个步骤。

(1)二值化

线画图形扫描后产生栅格数据,一般情况下,栅格数据是按0~255的不同灰度值表达的。为了简化追踪算法,需把256个灰阶压缩为2个灰阶,即0和1两级。假设任一格网的灰度值为G(i,j),阈值为T,那么,如果G(i,j)大于等于T,则记此栅格值为1,如果G(i,j)小于T,则记此栅格值为0,即

img51

(2)细化

二值化后,再进行线的细化。细化是消除线横断面的多余栅格,使得每一条线只保留代表其轴线或周围轮廓线位置的单个栅格的宽度。在此,栅格线的“细化”可采用“剥皮法”、“骨架化”等细化方法。

骨架法就是先确定图形的骨架,再将非骨架上的多余栅格删除。确定骨架首先需要扫描全图,凡是像元值为1的栅格都用V代替,而V值是该栅格与北、东和东北三个相邻栅格像元值之和,这样具有最大V值的栅格就成为骨架,需要保留,同时删除其他栅格,并考虑连通。

剥皮法的实质是剥掉等于一个栅格宽的一层,直到最后留下彼此连通的由单个栅格点组成的图形。因为一条线在不同位置可能有不同的宽度,故在剥皮过程中必须注意一个条件,即不允许剥去会导致曲线不连通的栅格,这是这一方法的技术关键所在。其解决办法是,借助一个在计算机中存储着的,由以待剥栅格为中心的3×3栅格组合图来决定,判断待剥栅格八领域是否符合组合图中的可剥中心点的排列形式,如果符合,则剥掉该像元,否则,保留该像元属性值。也可通过判断像元八领域中自身连通块数来决定,如图4-21所示,一个3×3的栅格窗口,如果像元八领域中自身连通块数只有一个,表示该像元可以剥去,而如果大于一个,则表示该像元不可剥去。

img52

图4-21 栅格图像剥皮判断方法

例如,对图4-22所示栅格图,可按上述方法进行剥皮,该栅格图像经过多次剥皮后,形成单骨架形态,就可以进行跟踪矢量化处理了。

img53

图4-22 栅格数据剥皮处理过程

①跟踪:跟踪的目的是将细化处理后的栅格数据,转换为从结点出发的线段或闭合的面域边界。跟踪时,一般从图幅左上角按顺时针或逆时针方向,从线段的起始点按八邻域方式进行搜索,依次跟踪相邻点,直到完成全部线实体栅格的矢量化,获得完整的弧段或多边形,然后记录各点坐标和结点,写入矢量数据库。

②去除多余点及曲线光滑:由于搜索是逐个栅格进行的,所以弧段或多边形的坐标点数据十分密集。为了减少存储量,在保证线段精度的情况下可以删除部分坐标点数据,并进行曲线光滑处理。

拓扑关系的生成:转换成矢量数据结构后,对于用矢量数据表示的边界或弧段,可进一步判断线与线之间的连接关系及面与面之间的邻接关系,以建立完整的拓扑关系数据。

3.面的矢量化

面矢量化的核心在于轮廓线的搜索,即沿着聚在一起的某一属性代码栅格集周边,按照一定的方向进行搜索,确定最外围的单层栅格链,再进行栅格的矢量化。轮廓线搜索可采用2×2栅格阵列作为窗口顺序沿行、列方向对栅格图像全图扫描,如果窗口内四个栅格有且仅有两个不同的编号,则该四个栅格表示为边界点;如果窗口内四个栅格有三个以上不同编号,则标识为结点(即不同边界弧段的交汇点),保持各栅格原多边形编号信息。对于对角线上栅格两两相同的情况,由于造成了多边形的不连通,也当作结点处理。

本章小结

本章基于空间地理数据的基本特征,学习空间地理数据在计算机世界的不同表达方式,主要包括以下几方面的内容:

1.空间地理数据特征认识。认识空间地理数据的特殊性,总结空间地理数据构成及分类。

2.空间数据表达方式。认识空间数据的抽象过程及其在计算机世界的几种表达方式。

3.栅格与矢量数据结构。这是本章的重点内容,由于栅格数据和矢量数据在表达方式上的不同,它们在后期数据处理和操作上有很大差别,通过两种数据编码的学习,掌握两种数据结构的优势和劣势,为以后的学习奠定基础。

4.空间数据结构转换。了解栅格数据结构与矢量数据结构之间相互转换的基本原理。

思 考 题

1.空间实体可抽象为哪几种基本类型?它们在矢量数据结构和栅格数据结构中分别是如何表示的?

2.叙述四种栅格数据存储的压缩编码方法。

3.试写出矢量和栅格数据结构的模式,并列表比较其优缺点。

4.叙述由矢量数据向栅格数据转换的方法。

5.叙述由栅格数据向矢量数据转换的方法。

6.简述栅格到矢量数据转换细化处理的两种基本方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈