道路中心线提取及网络建立的算法研究 (1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
①空外接圆性质 : 离散点集 P的 D 三角网中 , 每一个 三角形的外接圆不包含 P中除该三角形三个顶点外的其他 任何点 ; ②三角形最小角最大 : 离散点集 P上的所有不规 则三角 网 中 , D 三 角 网 的 每 个 三 角 形 的 最 小 角 度 是 最
作者 简 介 : 钟 世 彬 ( 19782) , 男 , 硕 士 , 江西万载人 , 专业是地图制图学 与地理信息工程 , 现从事 GIS开发与 应用研究 。 E2mail: shibinzhong@1631com
参考文献
[ 1 ] 武晓波 , 王世新 , 等 1Delaunay三角网的生成算法研
究 [ J ]. 测绘学报 , 1999, 28 (1) 1
[ 2 ] 周杰 , 丁贤荣 , 汪德 ∃ 1 平面散点集 Delaunay三角
剖分的一种高效方法 [ J ]. 测绘信息与工程 , 2003,
(6) 1
[ 3 ] 艾廷华 , 等 1支持地图综合的面状目标约束 Delaunay
对于交叉口 , 有时会有两个 C类三角形 (如图 4) 。为了 消除这样的三角形 , 我们采用构成交叉路口的三角形的最 长边设定为长度阈值 , 当两个交叉三角形的距离小于阈值 时 , 取得两个三角形的重心连线的中心作为起始点或终点 。 处理过程如图 4:
本算法在保持中心线道路的几何特征和拓扑特征上是完善 的 , 本文的中心线生成方法在诸如制图综合中的双线河变 单线河 , 多变形骨架结构分析 , 地名注记的中心配置也可 应用 。
本文就将基于街区矢量数据的基础上 , 介绍道路中心 线提取及网络建立的算法 。
2 利用约束 D elaunay算法形成道路约束三角形网
空间离散点集上不规则三角网在与几何形体有关的信 息数据分析处理中得到了广泛应用 , 其中 Delaunay三角网 (以下简称 D三角网 )由于其优良的数学性质而成为是最常 用的一种 [1, 2 ] 。D 三角网具有两个独特的性质 :
一般情况下在街区线上的点太少 , 很容易形成生成小 内角的狭长三角形 (如图 1) 。为解决保持 Delaunay特性与 约束条件之间的矛盾 , 我们对街区多边形边界弧段上的矢 量点作加密处理 , 使得有更多的间距接近的点参与构网 。
我们采用方法是 : 当边界线上两点之间的距离大于平 均道路宽度时 , 就添加点 , 直到边界上相邻两点之间的距 离小于平均道路宽度 。平均道路宽度可根据经验预设定 。 从中可看出加密后既保证约束条件又保证了 Delaunay不出 现狭长三角形的特性 。 (如图 1)
4 结束语
基于本算法用 VC实现的程序 , 可以方便的从街区中提 取中心线或从任何双线中提取单线 。在我们的实际工作中 , 需要从 AutoCAD 中转换成系统的数据中提取道路专题 。利 用本程序 , 很好的完成了工作 , 实现了中小比例尺普通地 图上道路网络自动构建 (如图 6) , 为后期空间分析和网络分 析做好了准备 。
收稿日期 : 2007202208
大的 [ 3 ] 。 D 三角网的特性可以最大可能 地消除 狭 长 三 角 形 的 出
现 , 这就使得它在工程中具有了很大的应用价值 。同时 , D 三角网与 Voronoi图在计算几何上是对偶的 , 通过前者可以 方便地计算出后者 , 扩展为更广泛的应用 [4 ] 。
DO I: 1013771 / j1 issn1100922307120081031037
1 引言
网络分析是 GIS应用中的基本工具 , 最优路径和资源 分配都是在地理要素的网络图上进行的 。在三维系统中的 道路漫游 , 在城市中的道路的最短路径分析 , 都是在道路 网络上进行的 。在制图中 , 道路是用两条线表示 , 而要形 成道路网络 , 则需要进行道路中心线的提取 , 变双线为单 线的问题 。
3 道路中心线网络的建立及优化
1) 通过约束三角形网形成道路中心线网络 对提取的位于道路上的三角形集 , 考察三角形元与邻 近三角形的关系 , 对其进行分类 (如图 2) , 只有一边有邻近 三角形的为 A类 , 两边有邻近三角形的为 B 类 , 三边均有 邻近三角形的为 C类 。A 类三角形出现在道路的入口或出 口 , C类三角形出现在道路的交叉口 , 其他处出现的则为 B 类三角形 。 按照下述方法对 3种三角形内的中心线进行连接 , 这 里我们将两邻近三角形的公用边称为邻近边 。A 类三角形 连接惟一邻近边的中点与其相对的顶点 , B 类三角形连接 两条邻近边的中点 , C类三角形连接重心与三边的中点 。 道路中心线网络由道路交叉口结点和道路边构成 。A 类和 C类三角形在道路网络中充当网络图的结点 。在中心 线连接实现的过程中 , 先从 C类三角形开始搜索 , 终止于 A类三角形或 C类三角形 , 得到网络一条边 , 直到处理完 C类三角形 ; 再采用从 A 类三角形开始搜索 , 终止于 A 类 三角形 , 得到所有边 。从而形成道路中心线网络 。如图 2:
【摘 要 】提取道路中心线并建立道路网络是网络分析和地图综合中的基本问题 , 本文提出了利用约束 Delaunay 算法形成道路约束三角形网 , 并在此基础上提取道路中心线 , 形成道路中心线及建立网络 。强调在提取过程中要 注意的几个关键问题 , 并提出了解决方法 。 【关键词 】中心线 ; Delaunay三角网 ; 网络分析 ; 地图综合 【中图分类号 】P282 【文献标识码 】A 【文章编号 】100922307 (2008) 0320105203
} 3 PTR IANGLE, TR IANGLE; 三角形单元 的 拓 扑 结 构 还 要 通 过 边 来 实 现 , 边 的 定 义为 :
typedef struct Edge { struct Vertex 3 pv [ 2 ]; / /指向该边的两个顶点 struct Triangle 3 p t [ 2 ]; / /指向该边所属于的两个三 角形 struct Edge 3 next, 3 p re; / /指向前后的边
2) 网络的进一步优化 为得到平直光滑的中心线 , 可采用最小二乘法进行直 线拟合 ; 在形成约束 Delaunay三角网时 , 加密了点 , 以致 在形成的道路中心线上有很多的点 , 为了减少文件大小 , 对道路中心线进行抽稀 。经过对直线进行拟合和抽稀 , 可 以得到平直光滑的中心线 。
街区边界的抖动会产生多余的中心线分枝 , 对于这些 分支 , 当 “死胡同 ”型道路出现时 , 该分枝作为胡同道路 的中心线是合理的 , 解决这一矛盾 , 可以设定一长度阈值 , 多边形凹部的中心线分枝大于阈值视为合理 , 否则弃除 。 我们在实际过程中 , 以最短道路长度为阈值 。
在建立道路网络 , 我们自动提取了道路的宽度和长度 。 一般情况下 , 道路的宽度是不一样的 , 但是交叉口间的道 路宽度大多数变化不大 。根据这个特点 , 可以得到我们采 用的是方法是 : 从道路约束三角网中 , 获取三角元的宽度 , 取平均值 ; 各三角元的宽度与平均值比较 , 在某个长度阈 值范围内的保留 ; 再次求平均值 , 作为交叉口间的道路宽 度 。添加如下的道路中心线属性结构 。
} 3 PVERTEX, VERTEX; 三角形单元的定义是三角剖分的基础 , 必须定义很好 的结构表达三角形的拓扑结构 , 以提高算法的效率 , 并且 必须方便三角形单元在三角网中脱离拓扑结构 。本文定义 பைடு நூலகம்下 。
typedef struct Triangle { struct Edge 3 pe [ 3 ]; / /指向三角形的三个边 struct Vertex 3 pv [ 3 ]; / /指向三角形的三个顶点 int ID; / / ID 号 struct Triangle 3 next, 3 p re; / /指向前后的三角形
typedef struct
{ double dLen; / /长度 double dW id; / /宽度 double dA rea; / /面积 TCHAR sCode [ 12 ]; / /道路代码 TCHAR sName [ 20 ]; / /道路名 TCHAR sType [ 10 ]; / /道路类型 CHAR sGrade [ 7 ]; / /道路等级 TCHAR time [ 16 ]; / /铺路时间
而在城市地图数据库中 , 街区边界的表达具有双重角 色 , 既是组成街区多边形的弧段又是道路网络的边 , 是跨 接面状目标与网络状目标的桥梁 。城市用地规划 、土地利 用分析是基于街区多边形为主的空间分析 , 交通路径设置 、 城建设施布线选址是基于网络目标为主的空间分析 。对于 街区图的综合则要同时考虑道路网分布的图结构 (连通性 、 邻接关系 、关联关系 、子图层次性 ) 和街区多边形几何信 息 、拓扑信息结构 (面积 、形状 、相邻关系 ) 。为满足这些 应用要求 , 完备的城市地图数据库必须同时建立道路网络 模型和街区多边形模型 , 并在两者之间建立有效的联系 。 以上述的关联规则获取为基础 , 可以为中小比例尺地图中 道路网络建立提供数据源 , 其中将桥梁和居民地视为网络 中的节点 , 如阻抗点或能源中心等 , 将道路段视为链 。
[ J ]. 测绘科学 , 2006, 31 (4) 1
(下转第 65页 )
第 3期 陈学刚等 基于 ESDA 2GIS的新疆县域经济时空差异研究
65
区主要以 “HH”、“LL ”向 “HL ”、“LH ”变化为主 , 内 部空间经济差异性增加 , 未形成经济集聚区域 ; ④天山北 坡以及巴州北部逐渐形成空间差异较小的 “HH ”集聚区 域 。南疆西 部 的 克 州 、喀 什 与 和 田 地 区 已 成 为 落 后 的 “LL ”经济低谷区域 ; ⑤资源禀赋 、基础设施的差异以及 “八五 ”以来实行的经济发展战略是研究期内形成新疆县域 经济差异的重要因素 。
} RoadStru; 3) 道路交叉点的弧线处理 对于交叉口三角形 , 提取的交叉口是弧形 (如图 5) , 这 样是不符合现实的路口 。我们需要对交叉路口进行拉直 。 我们采用的方法是从交叉点开始 , 以一定的长度裁剪 掉直线 , 在比较裁剪后剩余线的角度 , 当两线的角度满足 一定范围时 , 连接两线成一条线 。当是十字路口时 , 求得 交点作为网的结点 。最终形成道路网 。
106
测绘科学 第 33卷
} 3 PEDGE, EDGE; 边界链表的定义如下 :
typedef struct BndChain { struct Vertex 3 chain; / /一个边界 char mark; / /边界标记 , 区分散点 、外边界点 、内边 界点内边界点 struct BndChain 3 next; / /下一个边界 } 3 PBNDCHA IN , BNDCHA IN;
顾及后继中心线提取及建网过程中多边形 、三角形顶 点 、边之间关系的表达 , 对选取的每个三角形元建立如下 的数据存贮结构 :
首先将需要三角剖分的点分为散点和边界点 , 边界点 按一定的顺序 (逆时针或顺时针 )排列 。点的数据结构为单 向链表 , 定义如下 。
typedef struct Vertex { int ID; / / ID 号 double x, y, z; / /坐标值 char mark; / /材料 、边界标记 , 区分散点 、外边界点 、 内边界点 struct Vertex 3 next; / /下一个节点
第 33卷第 3期 2008年 5月
测绘科学 Science of Surveying and M app ing
Vol133 No13 M ay1
道路中心线提取及网络建立的算法研究
钟世彬 ① , 闫喜凤 ②
( ①江西省基础地理信息中心 ,南昌 330046; ②江西科技师范学院 , 南昌 330038)
三角网剖分 [ J ]. 武汉测绘科技大学学报 , 2000, 29
(1) : 352411
[ 4 ] 卢朝阳 , 等 1任意多边形内带特征约束的散列数据
的最优三角剖分 [ J ]. 计算机辅助设计与图形学报 ,
1997, 9 (4) : 30223081
[ 5 ] 李娜 , 等 1 制 图 综 合 中 道 路 与 建 筑 物 的 移 位 研 究
相关文档
最新文档