第4章 空间数据转换算法

第4章 空间数据转换算法

4.1 矢量数据向栅格数据转换

4.1.1 矢量点的栅格化

将点的矢量坐标x,y换算为栅格行,列号:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.1.2 矢量线的栅格化

八方向栅格化,全路径栅格化和恒密度栅格化
1.八方向栅格化:
根据矢量的倾角情况,在每行或每列上,只有一个像元被涂黑(赋予不同于背景的灰度值)。其特点是在保持八方向连通的前提下,栅格影像看起来最细,不同线划间最不易粘连。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.全路径栅格化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.1.3 矢量面的栅格化

  矢量面格式向栅格面格式转换又称为多边形填充,就是在矢量表示的多边形边界内部的所有栅格点上赋予相应对的多边形编码。
1.内部点扩散算法
  适用于在栅格图像上提取特定的区域。
  该算法由每个多边形一个内部点(种子点)开始,向其8个方向的邻点扩散,判断各个新加入点是否在多边形边界上,如果是在边界上,则该新加入点不作为种子点,否则把非边界的邻点作为新的种子点与原有种子点一起进行新的扩散运算,并将该种子点赋以该多边形的编号。重复上述过程直到所有种子点填满该多边形并遇到边界停止为止。
相关代码实现可参考:
种子点生长算法上——二维种子点生长

2.射线算法和扫描算法
  可以进行点与多边形关系的判断
  射线算法可逐点判断数据栅格点在某多边形之外或在多边形之内,由待判点向图外某点引射线,判断该射线与某多边形所有边界相交的总次数,如相交偶数次,则待判点在该多边形外部;如为奇数次,则待判点在该多边形内部。
在这里插入图片描述
相关代码实现参考:
矢量数据向栅格数据的转换(面转换的射线算法实现)
  扫描算法是射线算法的改进,将射线改为沿栅格阵列行或列方向扫描线,判断与射线算法相似。
3.边界代数算法
  边界代数多边形填充算法是一种基于积分思想的矢量格式向栅格格式转换算法,它适合于记录拓扑关系的多边形矢量数据转换为栅格结构。
算法步骤:
  对每幅地图的全部具有左右多边形编号的边界弧段,沿其前进的方向逐个搜索;
  当边界上行时,将边界位置与左图框之间的网格点加上一个值=左多边形编号-右多边形编号;
  当边界下行时,将边界位置与左图框之间的网格点加上一个值=右多边形编号-左多边形编号。
相关代码实现参考:
矢量数据向栅格数据的转换(面转换的边界代数算法实现)
在这里插入图片描述

4.2栅格数据向矢量数据转换

4.2.1 栅格点坐标与矢量点坐标的关系

在这里插入图片描述
在这里插入图片描述

4.2.2 栅格数据矢量化的基本步骤

(1)边界提取:采用高通滤波将栅格图像二值化或以特殊值标识边界点。
(2)边界线追踪:对每个边界弧段由一个节点向另一个节点搜索,通常对每个已知边界点需沿除了进入方向的其他7个方向搜索下一个边界点,直到连成边界弧段。
(3)拓扑关系生成:对于矢量表示的边界弧段数据,判断其与原图上各多边形的空间关系,以形成完整的拓扑结构并建立属性数据的联系。
(4)去除多余点及曲线圆滑:由于搜索是逐个栅格进行的,必须去除由此造成的多余点记录,以减少数据冗余;
搜索结果,曲线由于栅格精度的限制可能不够圆滑,需采用一定的插补算法进行光滑处理,常用的算法有线性迭代法,分段三次多项式插值法,正轴抛物线平均加权法,斜轴抛物线平均加权法,样条函数插值法。

4.2.3 线状栅格数据的细化

1.用距离变换法搜寻中轴线
  距离变换图是一种栅格图像,其中每个像元的灰度值等于它到栅格地图上相邻物体的最近距离。
在这里插入图片描述
2.最大数值计算法
在这里插入图片描述
大V值点。
3.经典的细化算法
在这里插入图片描述
在这里插入图片描述
4.边缘跟踪剥皮法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值