基于最小二乘优化的道路扩展方法与流程

文档序号:19976599发布日期:2020-02-21 18:58阅读:104来源:国知局
基于最小二乘优化的道路扩展方法与流程

本发明涉及一种地图道路的信息处理方法。



背景技术:

如今,随着各种传感器的迅速发展和部署,如城市中车载gps的普及,创造和累积了巨大量的时空数据,挖掘这些数据背后的时空模式对人们日常生活的改善具有巨大意思。比如抓取带地理标签的twitter或者新浪微博数据,通过对这些数据中时空模式的挖掘和探索,对决策者的决策提供了有力的依据。而对时空数据可视化的展示,将进一步有助于相关人员对信息的获取。

对于时空数据,空间信息一般由地图展示,而时间信息一般由时序图展示。近年来,有很多专家研究时空数据的可视化。他们对时空数据的可视化展示大致可分为两类:链接视图和集成视图。链接视图是将空间信息和时间信息放在屏幕的不同视图中,当选取时间视图中某一段时间时,空间视图显示相应时间段里的空间信息。故链接视图可以让不同的信息在不同的充足的视图中得到清晰的展示,然而当用户在这两类视图中不停过滤切换以探索内在时空模式时,由于需要链接目前视图和历史视图中的信息,给用户的认知和记忆带来一定程度上负担;集成视图是将不同类型的信息放在屏幕中同一个视图中显示。基于地理学第一定律——“一切事物都任何其他事物相关,相近的事物更为相关”,将相关的可视化视图放置于一起能更好地帮助用户探索有价值的信息。即将时间视图放置于与其相关的空间视图上下文中,用户无需记忆便可快速链接时间和空间之间的联系。基于这一想法,集成视图尝试将时序图和其相关的空间上下文中在同一个视图中显示,以便探索复杂的时空模式。但是,目前的集成视图一般使用3d可视技术,或直接将时间视图叠加在空间视图上,造成了一定程度的视觉遮挡和杂乱。由于存在很多时空数据与道路相关(如车流量、人群移动轨迹、空气污染等),因此我们将此类时序图“就地”嵌入到地图上的道路,以解决集合视图中视图遮挡问题,同时空间上下文信息被保留。如图1,在道路扩展后,可在路口放置弦图,以表路口车流流量方向和大小。在路段放置堆栈图或折线图,用于表示此路段一周车流量随时间变化,或者空气污染指数随时间变化等。图2中放置交通模拟和交通流量热力图等空间图。此类时空集合视图的主要挑战在于如何扩展道路,将时间视图嵌入地图中。



技术实现要素:

本发明要克服现有技术的上述缺点,提供一种将道路扩展问题转化为最小二乘优化问题的道路扩展方法,为将道路网络中用户感兴趣的道路扩展,且附近道路不发生或只发生细小的形变。

本发明的基于最小二乘优化的道路扩展方法,执行过程如图3所示,以geojson格式的地图数据作为输入,转换数据,用户点击其中一条道路,道路扩展到适当的宽度,输出变形后道路网络地图。具体实现步骤如下:

1.生成道路扩展方法所使用的道路网络地图数据。道路扩展方法处理的数据是数据结构为连通图g={v,e}的数据,其中v是道路网络中道路道路之间交叉点的集合,e是交叉点之间的道路段集合。其具体生成步骤如下:

1.1使用javaopenstreetmap编辑器,生成geojson格式的道路网络数据。geojson是一种用于编码地理数据的json数据结构,其中存储了各地理位置的坐标。

1.2提取geojson数据中道路交叉点以及道路边界点的坐标点,并使用这些坐标点构成数据结构为连通图g={v,e}的数据。

2.获得用户选中的道路(焦点道路),以及和此道路相连接的道路(上下文道路)。

3.获得焦点道路和上下文道路中所有节点,即道路间交叉点和道路边界点。

4.遍历这些节点,为道路扩展创建能量方程,如下公式(7)。能量方程可转为矩阵方程ax=b,其中x存放了节点扩展后的坐标值,即求解目标。

5.求解矩阵方程ax=b,将ax=b转为向量存储节点扩展后坐标值(x'u,y'u),故只需计算矩阵a的,便可得出道路扩展后相关节点的坐标值,最后输出道路网络地图。

6.对于新得到的路网络地图,可能会出现焦点道路和上下文道路交叉的情况。如图4,如果焦点道路f继续扩展,焦点道路f可能会和上下文道路c1交叉,或者上下文道路c2和上下文道路c3交叉。对此,可在图中加入虚拟道路(图4中虚线表示)来解决这一问题。即对于输出的新道路网络,道路扩展方法还需检测其中焦点道路和上下文道路有没有存在交叉现象,或者上下文道路和上下文道路之间存在交叉现象。

7.若存在道路交叉问题,在交叉的道路间加入n*2条虚拟道路,(n的初始值为0.5),如图4虚线所示。

8.重复执行步骤2-7,直到输出的道路网络不存在交叉问题。

进一步,

步骤4所述的道路扩展的实现方法是将道路扩展问题转化为最小二乘优化问题:基于焦点道路的变形创建若干约束条件,以保证焦点道路能扩展到适当的宽度;基于上下文道上路创建若干约束条件,以保证变形最小化或只发生轻度变形;此外,基于扩展区域创建约束条件,以整个道路网络地图在焦点道路扩展后依然能显示原地图的上下文。最后,由这些约束条件经过加权相加构成非线性最小二乘形式的能量方程,由此道路扩展问题转化为优化问题。

步骤4中所述的能量方程及其各项约束项具体是:

连通图g=(v,e)表示道路网络的逻辑结构,v表示道路交叉点的集合,e表示道路段的集合。顶点u是集合v中任意一元素,其在图中的像素坐标为(xu,yu)。边e={u,v}表示顶点u和v之间的边,其中u,v∈v,e∈e。f表示待扩宽的焦点道路,c表示待扩宽的上下文道路。很明显,顶点u和顶点v在图中有更特殊的含义,顶点u是焦点道路f和上下文道路c之间的交叉点,顶点v是上下文道路c另一边的顶点。当某段道路被扩宽,道路网络上每一个点u(xu,yu),将会移至新的位置u'(x'u,y'u)。vf表示焦点道路(thefocusroad)f上点的集合,vn(u)表示顶点u附近的点集合。构成能量方程的各约束项表示如下:

a)、焦点道路变形约束项:

要使焦点道路扩宽w,从另一个角度来说是和此道路相连接的上下文道路上每个点在水平方向和垂直方向上均要移动相应的距离,即wx和wy。图中α是焦点道路和上下文道路之间夹角,θ是上下文道路与水平线之间的夹角,即倾斜角,故dfocus越来越接近0时,顶点u和v在水平和垂直方向移动的距离越接近wx和wy。当处理多条道路的时候,算法迭代每条焦点道路,并为每条道路创建相应的焦点道路变形公式。

b)、上下文道路变形约束项:

为保持道路网络地图原有的整体结构,上下文道路在道路扩展中应保持原有的长度。此约束公式旨在保证上下文道路c={u,v}能随着焦点道路的扩展而移动,但不进行放缩。dist(u,v)是u和v之间欧式距离,通过乘以dist(u,v)的倒数,对于较长的道路,此系数能使其不发生或者只发生轻度放缩。

c)、道路弯曲变形约束项:

除了设置约束项于焦点道路和上下文道路,还需要将另一个重要的约束加在道路弯曲问题上。对于一个规则的、有网状结构的道路网络,为保持原有形态结构,应添加此约束。此约束作用在于,在道路扩展后,上下文道路的倾斜角θ不发生变化。尤其对于处理类似于地铁道路网络图,这种只采取90度角和45度角,高度几何化的图,为其上下文道路创建此约束公式,加大约束公式的权重可保证道路倾斜角不发生变化。

d)、顶点平移约束项:

为了使整个道路网络的上下文视图在道路扩展不发生变,道路网路上所有点在扩展后都应该在边界盒子中。如图5,bx和by表示距离地图内边界的区域,在此图中bx被设置为地图宽度的10%,by为地图高度的10%。当焦点道路扩展完成,会出现上下文道路溢出边界。对区域bx和by加此约束,当上下文道路出现溢出时,处于bx区域的道路将在垂直方向上移动,处于bx区域的道路将在水平方向移动,以保证整个道路网络不会移除边界。

e)、用户心理地图约束项:

为保证用户优化后的心理地图,希望地图中的道路,尤其是焦点道路,应尽可能接近原来的位置,故除以上4中约束公式外,还提出如下约束项:

此约束公式能使焦点道路上所有点不会离原来的位置太远,并且对焦点道路和上下文道路的这种约束作用能传播到整个网络中,从而不破化用户的心理地图。

将以上约束项加权求和,得到所需的能量方程:

能量方程各项系数都是软约束,因此对于不同情形的道路网络,赋予适当的值,即可得出最优的道路扩展结果。的作用在于使焦点道路扩展到一定宽度。当有很多道路连接着一条较长的焦点道路时,用户能通过增大的值使道路扩展到恰当的宽度;用于保证变形后上下文道路依然能保证原有的结构,比如道路长度。当道路地图存在很多密集的上下文道路时,用户可以增大来避免变形后的上下文道路之间的交叉;用于保证道路网络整体的常规结构。比如,处理地铁地图时,该值可以设置较高,以保证地铁线路图的直线结构。用于修整道路网络变形后上下文道路的长度,使其依然处于原定的边界盒子中,且一般情况下我们会赋予一个较高的值。用于保证整个道路网络在变形后依然保持原有的视图上下文。在一般地图时,我们将

本发明的技术构思:获取某一道路网络的geojson数据,将geojson数据转为数据结构为连通图的数据。当用户选中某条道路,遍历此道路和其附近的道路,为这些道路的交叉点创建以上5类约束项。得到约束项后,将这些约束公式转为矩阵方程,最后求解矩阵方程得到扩展后各交叉点的坐标,并输出扩展的地图;接着处理扩展后的地图中焦点道路和附近道路之间的交叉问题。循环遍历输出的道路地图,若存在道路交叉,插入数量以指数速度增大的虚拟道路,再次执行道路扩展算法,得到新的道路网络;若不存在,循环结束,输出最后结果。在实际实验中,我们发现一般插入2条或者4条虚拟道路,便可以解决问题;此外,本算法还提供了一系列高级交互来辅助道路扩展,以使时序图无遮挡地放置其中。用户可直接在道路网络地图中任意路段上进行刷选,滑动条可将道路按用户要求扩展至适宜的宽度。同时更改时序图所需要显示的时间区间,则整个道路网络的时序图都会相应地更新。在时序图放置在扩宽的道路后,如图7,还支持叠加如时间日期文本标签、时间轴、交通方向指示信息,以及用户指定的文本信息等。

本发明的优点:在传统的道路扩展算法中,常见的有seamcarving算法,这一算法大部分的工作是迭代计算地图中的像素点,并找出最优的一条像素路径,所以导致其效率不高。本道路扩展方法将道路扩展问题转为最小二乘扩展问题,使道路扩展能在一步内完成,大大提高了算法的效率,且极大的减小了上下文道路的变形。如图6中,红色为待扩展道路,(a)为原图,(b)为使用seamcarving算法扩展道路,(c)为本发明中提出的扩展道路算法。由图中看到(b)中除了待扩展的道路被扩宽,附近道路也被扩宽,但(c)中只有待扩展的道路被扩宽,附近道路没有被扩宽。故本发明中的方法效率高,能使选中的道路扩展到适宜的宽度,同时附近的道路不发生或至发生轻度形变。

附图说明

图1为时序图叠加示意图

图2为交通模拟信息和交通流量热力图嵌入图。

图3为本发明的道路扩展方法的执行流程图。

图4为本发明的道路扩展优化过程中发生道路交叉情况时的解决方法图解

图5为本发明的道路扩展优化方法图解。

图6为本发明的本算法和传统算法的比较。

图7为本发明的时间方向编码示意图

具体实施方式、

下面结合附图3-7进一步说明本发明。

本发明算法实现主要使用c#编写。

本发明涉及的一种将道路扩展问题转化为最小二乘优化问题的道路扩展方法,包括以下步骤:

1.生成道路扩展方法所使用的道路网络地图数据。道路扩展方法处理的数据是数据结构为连通图g={v,e}的数据,其中v是道路网络中道路道路之间交叉点的集合,e是交叉点之间的道路段集合。

1.1使用javaopenstreetmap编辑器,生成geojson格式的道路网络数据。geojson是一种用于编码地理数据的json数据结构,其中存储了道路各节点的地理坐标。

1.2geojson格式的道路网络数据中存放了道路交叉点的坐标,提取其中的坐标点,并为这些坐标点建立数据结构为连通图g={v,e}的数据。

2.获得用户选中的道路(焦点道路),以及和此道路相连接的道路(上下文道路)。

3.获得焦点道路和上下文道路中所有节点,即道路间交叉点和道路边界点。

4.遍历这些节点,为道路扩展创建如下能量方程。且此能量方程能成ax=b的形式。

本实验中权值系数取值即能量方程由约束项dfocus、dcontext、dbending、和dpreffered加权求和得到。如图5,连通图g=(v,e)表示道路网络的逻辑结构,v表示道路交叉点的集合,e表示道路段的集合。顶点u是集合v中任意一元素,其在图中的像素坐标为(xu,yu)。边e={u,v}表示顶点u和v之间的边,其中u,v∈v,e∈e。f表示待扩宽的焦点道路,c表示待扩宽的上下文道路。当某段道路被扩宽,道路网络上每一个点u(xu,yu),将会移至新的位置u'(x'u,y'u)。构成能量方程的各约束项表示如下:

a)焦点道路变形约束项:

b)上下文道路变形约束项:

dist(u,v)是u和v之间欧式距离

c)道路弯曲变形约束项:

d)顶点平移约束项:

e)用户心理地图约束项:

6.求解矩阵方程ax=b,将ax=b转为向量存储节点扩展后坐标值(x'u,y'u),故只需计算矩阵a的,便可得出道路扩展后相关节点的坐标值,最后输出道路网络地图。

7.对于新得到的路网络地图,可能会出现焦点道路和上下文道路交叉的情况。如图4,如果焦点道路f继续扩展,焦点道路f可能会和上下文道路c1交叉,或者上下文道路c2和上下文道路c3交叉。对此,可在图中加入虚拟道路(在图4中,由虚线表示)来解决这一问题。即对于输出的新道路网络,道路扩展方法还需检测其中焦点道路和上下文道路有没有存在交叉现象,或者上下文道路和上下文道路之间存在交叉现象。

8.若存在道路交叉问题,在交叉的道路间加入n*2条虚拟道路,(n的初始值为0.5),如图4中虚线所示。

9.重复执行步骤2-8,直到输出的道路网络不存在交叉问题。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1