矢量数据结构与栅格数据结构的转换算法

矢量数据结构与栅格数据结构的转换算法


发布日期: 1970-01-01 更新日期: 2015-02-04 编辑:giser 浏览次数: 6581

标签:

摘要: 对于点状实体,每个实体仅由一个坐标对表示,其矢量结构和栅格结构的相互转换基本上只是坐标精度变换问题。线实体的矢量结构由一系列坐标对表示,在变为栅格结构时,除 把序列中坐标对变为栅格行列坐标外,还需根据栅格精度要求,在坐标点之间插满一系列栅格点,这可以由两点式直...

对于点状实体,每个实体仅由一个坐标对表示,其矢量结构和栅格结构的相互转换基本上只是坐标精度变换问题。线实体的矢量结构由一系列坐标对表示,在变为栅格结构时,除 把序列中坐标对变为栅格行列坐标外,还需根据栅格精度要求,在坐标点之间插满一系列栅格点,这可以由两点式直线方程得到。线实体由栅格结构变为矢量结构与将多边形边界 表示为矢量结构相似,因此以下重点讨论多边形的矢量结构与栅格结构相互转换。

1.矢量向栅格转换

矢量格式向栅格格式转换又称为多边形填充,就是在矢量表示的多边形边界内部的所有栅格点上赋以相应的多边形编码,从而形成栅格数据阵列。几种主要的算法描述如下:

a)内部点扩散算法:由每个多边形一个内部点(种子点)开始,向其八个方向的邻点扩散,判断各个新加入点是否在多边形边界上,如果是边界上,则该新加入点不作为种子点,否则把非边界点的邻点作为新的种子点与原有种子点一起进行新的扩散运算,并将该种子点赋以该多边形的编号。重复上述过程直到所有种子点填满该多边形并遇到边界停止为止 。 r,则该待判点属于此多边形,赋以多边形编号,否则在此多边形外部,不属于该多边形。

b)复数积分算法:对全部栅格阵列逐个栅格单元地判断该栅格归属的多边形编 码,判别方法是由待判点对每个多边形的封闭边界计算复数积分,对某个多边形,如果积分值为2

c)射线算法和扫描算法:射线算法可逐点判断数据栅格点在某多边形之外或 在多边形内,由待判点向图外某点引射线,判断该射线与某多边形所有边界相交的总次数,如相交偶数次,则待判点在该多边形外部,如为奇数次,则待判点在该多边形内部。要 注意的是:射线与多边形边界相交时,有一些特殊情况会影响交点的个数,必须予以排除。

d)边界代数算法:它适合于记录拓扑关系的多边形矢量数据转换为栅格结构。若多 边形编号为a,初始化的栅格阵列各栅格值为零,以栅格行列为参考坐标轴,由多边形边界上某点开始顺时针搜索边界线,当边界上行时,位于该边界左侧的具有相同行坐标的所 有栅格被减去a;当边界下行时,该边界左边所有栅格点加一个值a,边界搜索完毕则完成了多边形的转换。

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

多边形栅格格式向矢量格式转换就是提取以相同的编号的栅格集合表示的多边形区域的边界和边界的拓扑关系,并表示由多个小直线段组成的矢量格式边界线的过程。栅格格式向矢量格式转换通常包括以下四个基本步骤:

a)多边形边界提取:采用高通滤波将栅格图像二值化或以特殊值标识边界点;

b)边界线追踪:对每个边界弧段由一个结点向另一个结点搜索,通常对每个已知边界点需沿除了进入方向的其他7个方向搜索下一个边界点,直到连成边界弧段;

c)拓扑关系生成:对于矢量表示的边界弧段数据,判断其与原图上各多边形的空间关系,以形成完整的拓扑结构并建立与属性数据的联系;

d)去除多余点及曲线圆滑:由于 搜索是逐个栅格进行的,必须去除由此造成的多余点记录,以减少数据冗余;搜索结果,曲线由于栅格精度的限制可能不够圆滑,需采用一定的插补算法进行光滑处理,常用的算 法有:线形迭代法;分段三次多项式插值法;正轴抛物线平均加权法;斜轴抛物线平均加权法;样条函数插值法。

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org