电子地图道路拓展方法、装置、电子设备及存储介质转让专利

申请号 : CN201810474799.6

文献号 : CN108981734B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘册杨凯徐小建

申请人 : 北京三快在线科技有限公司

摘要 :

本发明涉及电子地图道路拓展方法、装置、电子设备及存储介质。所述方法包括以下步骤:以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线;由所述坐标点向所述直线侧方进行拓展,得到拓展点;分别以所述两个坐标点和所述拓展点组成矢量三角形,计算所述矢量三角形的面积符号;根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置;连接直线同侧的所述拓展点,形成拓展道路。本发明对道路进行上行和下行两个方向等距离拓展;将球面坐标映射到墨卡托坐标系角度计算更准确;几何模型简单,对复杂的道路曲线采用矢量面积的方法保证扩展点的相对位置的准确性。

权利要求 :

1.一种电子地图道路拓展方法,其特征在于,该方法包括以下步骤:以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线;

由所述坐标点向所述直线侧方进行拓展,得到拓展点;

分别以所述两个已知坐标的坐标点和所述拓展点组成矢量三角形,计算所述矢量三角形的面积符号;

根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置;

连接直线同侧的所述拓展点,形成拓展道路;

其中,由所述坐标点向所述直线侧方进行拓展,得到拓展点,包括:经由所述坐标点向所述直线侧方构造拓展方向线,在所述坐标点不是道路的起始点或者终点的情况下,所述拓展方向线是在该坐标点沿路宽方向构造的以该坐标点为交点的两条直线夹角的角平分线,所述两条直线分别由该坐标点及与该坐标点相邻的已知坐标的坐标点构造而成;

沿所述拓展方向线的两个方向,从所述坐标点按照设定距离进行移动,得到拓展点。

2.根据权利要求1所述电子地图道路拓展方法,其特征在于,所述方法应用于球面坐标系电子地图时,在所述以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线之前还包括:将电子地图经纬度的坐标点从球面坐标转换到墨卡托坐标系;

在所述连接直线同侧的所述拓展点,形成拓展道路之前还包括:将所述拓展点从墨卡托坐标系转换到球面坐标系。

3.根据权利要求1所述电子地图道路拓展方法,其特征在于,所述构造拓展方向线还包括如下步骤:判断所述坐标点是否是道路的起始点或者终点;

若所述坐标点是起始点或终点,则其拓展方向线平行于与所述起始点或终点相邻的坐标点的拓展方向线。

4.根据权利要求1所述电子地图道路拓展方法,其特征在于,所述设定距离为道路实际宽度的一半。

5.根据权利要求1或2所述电子地图道路拓展方法,其特征在于,所述矢量三角形面积符号的计算方法包括以下步骤:所述直线的两个点为P1(x1,y1),P2(x2,y2),点P1到P2为矢量的前进方向;点P3(x3,y3)为拓展点;

求三角形P1P2P3的面积:

 ,

其中:矢量  、 在横轴上投影分别为(x1-x2)、(x1-x3),在纵轴上投影分别为(y1-y2)、(y1-y3)。

6.根据权利要求5所述电子地图道路拓展方法,其特征在于,所述根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置方法为:若S为正值时,三角形P1P2P3为逆时针方向,则P3在矢量  的左侧;

若S为负值时,三角形P1P2P3为顺时针方向,则P3在矢量  的右侧;

若S为0时,则拓展点P3在矢量  上。

7.一种电子地图道路拓展装置,其特征在于,所述装置包括:路线构造模块,用于以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线;

拓展模块,用于由所述坐标点,向所述直线侧方进行拓展,得到拓展点;

矢量三角形计算模块,用于分别以所述两个已知坐标的坐标点和所述拓展点组成矢量三角形,计算所述矢量三角形的面积符号;

判断模块,用于根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置;

道路拓展模块,用于连接直线同侧的所述拓展点,形成拓展道路;

其中,所述拓展模块包括拓展方向线构造模块、拓展点构造模块,所述拓展方向线构造模块用于在所述坐标点不是道路的起始点或者终点的情况下,所述拓展方向线是在该坐标点沿路宽方向构造的以该坐标点为交点的两条直线夹角的角平分线,所述两条直线分别由该坐标点及与该坐标点相邻的已知坐标的坐标点构造而成;

所述拓展点构造模块用于沿所述拓展方向线的两个方向,从所述坐标点按照设定距离进行移动,得到所述拓展点。

8.根据权利要求7所述电子地图道路拓展装置,其特征在于,所述装置应用于球面坐标系电子地图时,则所述装置还包括:墨卡托坐标转换模块,用于将电子地图经纬度的坐标点从球面坐标转换到墨卡托坐标系;

球面坐标转换模块,用于将所述拓展点与直线的相对位置从墨卡托坐标系转换到球面坐标系。

9.根据权利要求7或8所述电子地图道路拓展装置,其特征在于,所述拓展模块还包括坐标点判断模块,所述坐标点判断模块用于判断所述坐标点是否是道路的起始点或者终点;

所述拓展方向线构造模块还用于:

若所述坐标点是起始点或终点,则所述拓展方向线平行于与所述起始点或终点相邻的坐标点的拓展方向线;

所述拓展点构造模块具体用于沿所述拓展方向线的两个方向,从所述坐标点按照设定距离进行移动,得到所述拓展点,所述设定距离为道路实际宽度的一半。

10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6之任一项所述的方法。

11.一种计算机可读存储介质,其上存储有处理器程序, 其特征在于,该处理器程序用于执行权利要求1至6之任一项所述的方法。

说明书 :

电子地图道路拓展方法、装置、电子设备及存储介质

技术领域

[0001] 本发明涉及智能交通技术领域,具体涉及电子地图道路拓展方法、装置、电子设备及存储介质。

背景技术

[0002] 在智能交通领域,实时动态交通信息服务能为公众出行、交通运输等提供高效可行的交通状况和出行规划信息,达到节省时间、降低成本和低碳环保等目的。通过互联网网站和智能终端在电子地图上叠加显示交通路况信息,是大众获取交通信息的最基本方式。但该方式面临如下问题:由于地图供应方提供的道路有些是单条线,体现不出方向性,而交通流是存在方向性的,所以在路况信息的表达过程中,必须按实体道路进行一定的宽度进行双向拓宽,进而准确区分出上下行方向,并叠加到地图上进行道路拓展。
[0003] 现有方案主要是在获取目标路网内所有路段集的基础上,根据每段道路曲线的经纬度点随路段方向变化而累积的顺时针角度或逆时针角度对道路曲线进行上行方向的定向拓宽。再判断生成的拓宽曲线是否相交,若相交则删除相交的曲线并对缺失的路段还原。这种方案的缺点是明显的:只能对道路进行上行方向的定向拓宽,在平面坐标系进行球面坐标的角度和长度的计算时,会导致计算的角度与实际有偏差,对复杂道路曲线则会出现拓展的道路相交问题。

发明内容

[0004] 为了解决上述方案存在的问题,本发明提供了一种电子地图道路拓展方法,其特征在于,所述方法包括以下步骤:
[0005] 以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线;
[0006] 由所述坐标点向所述直线侧方进行拓展,得到拓展点;
[0007] 分别以所述两个坐标点和所述拓展点组成矢量三角形,计算所述矢量三角形的面积符号;
[0008] 根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置;
[0009] 连接直线同侧的所述拓展点,形成拓展道路。
[0010] 进一步地,所述方法应用于球面坐标系电子地图时,
[0011] 在所述以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线之前还包括:将电子地图经纬度的坐标点从球面坐标转换到墨卡托坐标系;
[0012] 在所述连接直线同侧的所述拓展点,形成拓展道路之前还包括:将所述拓展点从墨卡托坐标系转换到球面坐标系。
[0013] 进一步地,所述由所述坐标点向所述直线侧方进行拓展,得到拓展点的方法包括如下步骤:
[0014] 经由所述坐标点向所述直线侧方构造拓展方向线;
[0015] 沿所述拓展方向线的两个方向,从所述坐标点按照设定距离进行移动,得到拓展点。
[0016] 进一步地,所述构造拓展方向线包括如下步骤:
[0017] 判断所述坐标点是否是道路的起始点或者终点;
[0018] 若不是起始点或终点,则在该坐标点沿路宽方向做以该坐标点为交点的两条直线夹角的角平分线,作为所述拓展方向线;所述两条直线分别由该坐标点及与该坐标点相邻的已知坐标的坐标点构造而成;
[0019] 若是起始点或终点,则其拓展方向线平行于与所述起始点或终点相邻的坐标点的拓展方向线。
[0020] 进一步地,所述设定距离为道路实际宽度的一半。
[0021] 进一步地,所述矢量三角形面积符号的计算方法包括以下步骤:
[0022] 所述直线的两个点为P1(x1,y1),P2(x2,y2),点P1到P2为矢量的前进方向;点P3(x3,y3)为拓展点;
[0023] 求三角形P1P2P3的面积:
[0024] S(P1,P2,P3)=1/2×P1P2×P1P3×sin∠P1=1/2|P1P2×P1P3|,
[0025] 其中:矢量P1P2、P1P3在横轴上投影分别为(x2-x3)、(x1-x3),在纵轴上投影分别为(y2-y3)、(y1-y3),则有
[0026] S(P1,P2,P3)=|(x2-x3)(y1-y3)-(y2-y3)(x1-x3)|/2。
[0027] 进一步地,所述根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置方法为:
[0028] 若S为正值时,三角形P1P2P3为逆时针方向,则P3在矢量P1P2的左侧;
[0029] 若S为负值时,三角形P1P2P3为顺时针方向,则P3在矢量P1P2的右侧;
[0030] 若S为0时,则拓展点P3在矢量P1P2上。
[0031] 本发明还提供一种电子地图道路拓展装置,其特征在于,所述装置包括:
[0032] 路线构造模块,用于以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线;
[0033] 拓展模块,用于由所述坐标点,向所述直线侧方进行拓展,得到拓展点;
[0034] 矢量三角形计算模块,用于分别以所述两个坐标点和所述拓展点组成矢量三角形,计算所述矢量三角形的面积符号;
[0035] 判断模块,用于根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置;
[0036] 道路拓展模块,用于连接直线同侧的所述拓展点,形成拓展道路。
[0037] 进一步地,所述装置应用于球面坐标系电子地图时,则所述装置还包括:
[0038] 墨卡托坐标转换模块,用于将电子地图经纬度的坐标点从球面坐标转换到墨卡托坐标系;
[0039] 球面坐标转换模块,用于将所述拓展点与直线的相对位置从墨卡托坐标系转换到球面坐标系。
[0040] 进一步地,所述拓展模块包括坐标点判断模块、拓展线构造模块、拓展点构造模块,
[0041] 所述坐标点判断模块用于判断所述坐标点是否是道路的起始点或者终点;
[0042] 所述拓展线构造模块用于经由所述坐标点向所述直线侧方构造的拓展方向线:
[0043] 若不是起始点或终点,则在该坐标点沿路宽方向做以该坐标点为交点的两条直线夹角的角平分线,作为所述拓展方向线;所述两条直线分别由该坐标点及与该坐标点相邻的已知坐标的坐标点构造而成;
[0044] 若所述坐标点是起始点或终点,则所述拓展方向线平行于与所述起始点或终点相邻的坐标点的拓展方向线;
[0045] 所述拓展点构造模块用于沿所述拓展方向线的两个方向,从所述坐标点按照设定距离进行移动,得到所述拓展点,所述设定距离为道路实际宽度的一半。
[0046] 本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的电子地图道路拓展方法。
[0047] 本发明还提供一种计算机可读存储介质,其上存储有处理器程序,其特征在于,该处理器程序用于执行上述所述的电子地图道路拓展方法。
[0048] 本发明取得的有益效果:
[0049] 对道路的拓展不仅仅限于上行方向,而是上行和下行两个方向拓展;
[0050] 几何模型简单,对复杂的道路曲线采用矢量面积的方法保证了扩展点的相对位置的准确性。

附图说明

[0051] 图1是本发明实施例方法流程示意图;
[0052] 图2是本发明实施例1方法流程示意图;
[0053] 图3是本发明实施例2方法流程示意图;
[0054] 图4是本发明实施例1装置组成示意图;
[0055] 图5是本发明实施例2装置组成示意图;
[0056] 图6是本发明实施例道路非起始点或终点的坐标点拓展方向线构造示意图;
[0057] 图7是本发明实施例道路起始点拓展方向线构造示意图;
[0058] 图8是本发明实施例道路终点拓展方向线构造示意图;
[0059] 图9是本发明实施例矢量三角形示意图;
[0060] 图10是本发明电子设备组成示意图。

具体实施方式

[0061] 为使本发明实施例的目的、技术方案和优点更加清楚,以下将结合附图和实施例,对本发明技术方案的具体实施方式进行更加详细、清楚的说明。然而,以下描述的具体实施方式和实施例仅是说明的目的,而不是对本发明的限制。其只是包含了本发明一部分实施例,而不是全部的实施例,本领域技术人员对于本发明的各种变化获得的其他实施例,都属于本发明保护的范围。
[0062] 球面坐标系是表示三维空间中某一点的一种方式。具体而言,参照导航和对地球位置进行定位需要一种不同的坐标系,它比数学家使用的更抽象一些,该系统的原点是地心点,赤道则是x-y平面与我们所想象的地球球体的相交线。为了确定一个点的坐标,需要一个角度(纬度)来测定它与x-y平面的夹角,另一个角度(经度)则在x-y平面上,它是该点与英格兰格林尼治子午线之间的夹角,第三个值在数学球面坐标系中是从原点到该点这条射线上的距离长度。
[0063] 荷兰地图学家墨卡托拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅标准纬线为零度(即赤道)的“墨卡托投影”绘制出的世界地图。墨卡托(Mercator)坐标系使用的是墨卡托投影,又名“等角正轴圆柱投影”。
[0064] 墨卡托投影的“等角”特性,保证了对象的形状的不变行,正方形的物体投影后不会变为长方形。“等角”也保证了方向和相互位置的正确性。墨卡托投影的“圆柱”特性,保证了南北(纬线)和东西(经线)都是平行直线,并且相互垂直。但是,“等角”会带来面积的变形。
[0065] 因此,本发明为了得到正确的方向和位置,计算过程采用了墨卡托坐标系。如果要应用于球面坐标系电子地图,则要进行坐标系的转换。
[0066] 一种电子地图道路拓展方法,图1是本发明实施例方法流程示意图。如图1所示,所述方法包括以下步骤。
[0067] 以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线。
[0068] 根据两点确定一条直线的原则,将电子地图的一条道路上任意相邻的两个所述坐标点构造一条直线。所述方法在墨卡托坐标系下进行,所以所述的点或线的坐标都是墨卡托坐标。
[0069] 由所述坐标点,向所述直线侧方进行拓展,得到拓展点。
[0070] 经由所述坐标点向所述直线侧方构造拓展方向线;沿所述拓展方向线的两个方向,从所述坐标点按照设定距离进行移动,得到拓展点。
[0071] 所述构造拓展方向线包括如下步骤:
[0072] 判断所述坐标点是否是道路的起始点或者终点;
[0073] 若不是起始点或终点,则在该坐标点沿路宽方向做以该坐标点为交点的两条直线夹角的角平分线,作为所述拓展方向线;所述两条直线分别由该坐标点及与该坐标点相邻的已知坐标的坐标点构造而成;这里,所述角平分线是以该坐标点为顶点、以所述两条直线为边的角的平分线,所述角平分线构造为使得与该坐标点相邻的两个已知坐标的坐标点分别位于该角平分线的两侧;
[0074] 若是起始点或终点,则其拓展方向线平行于与所述起始点或终点相邻的坐标点的拓展方向线。所述设定距离为道路实际宽度的一半。
[0075] 分别以所述两个坐标点和所述拓展点组成矢量三角形,计算所述矢量三角形的面积符号。
[0076] 所述拓展点有两个,分别位于所述直线的左右两侧,所述左右方向是相对于前进方向。所述直线的两个点为P1(x1,y1),P2(x2,y2),点P1到P2为矢量的前进方向;点P3(x3,y3)为拓展点;
[0077] 所述矢量三角形面积的计算方法包括以下步骤:求三角形P1P2P3的面积:S(P1,P2,P3)=1/2×P1P2×P1P3×sin∠P1=1/2|P1P2×P1P3|,
[0078] 其中:矢量P1P2、P1P3在横轴上投影分别为(x2-x3)、(x1-x3),在纵轴上投影分别为(y2-y3)、(y1-y3),则有:
[0079] S(P1,P2,P3)=|(x2-x3)(y1-y3)-(y2-y3)(x1-x3)|/2。
[0080] 根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置。
[0081] 判断方法为:若S为正值时,三角形P1P2P3为逆时针方向,则P3在矢量P1P2的左侧;若S为负值时,三角形P1P2P3为顺时针方向,则P3在矢量P1P2的右侧;若S为0时,则拓展点P3在矢量P1P2上。
[0082] 连接直线同侧的所述拓展点,形成拓展道路。
[0083] 所述方法应用于墨卡托坐标系电子地图,如果要应用于球面坐标系电子地图,在所述将电子地图的一条道路上任意相邻的两个坐标点构造一条直线之前还包括:将电子地图经纬度的坐标点从球面坐标转换到墨卡托坐标系;在所述连接直线同侧的所述拓展点,形成拓展道路之前还包括:将所述拓展点从墨卡托坐标系转换到球面坐标系。
[0084] 一种电子地图道路拓展装置,所述装置包括:路线构造模块1,用于以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线;拓展模块2,用于由所述坐标点,向所述直线侧方进行拓展,得到拓展点;矢量三角形计算模块3,用于分别以所述两个坐标点和所述拓展点组成矢量三角形,计算所述矢量三角形的面积符号;判断模块4,用于根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置;道路拓展模块5,用于连接直线同侧的所述拓展点,形成拓展道路。
[0085] 所述拓展模块2包括坐标点判断模块21、拓展线构造模块22、拓展点构造模块23,所述坐标点判断模块21用于判断所述坐标点是否是道路的起始点或者终点;所述拓展线构造模块22用于经由所述坐标点向所述直线侧方构造的拓展方向线:若不是起始点或终点,则在该坐标点沿路宽方向做以该坐标点为交点的两条直线夹角的角平分线,作为所述拓展方向线;所述两条直线分别由该坐标点及与该坐标点相邻的已知坐标的坐标点构造而成;这里,所述角平分线是以该坐标点为顶点、以所述两条直线为边的角的平分线,所述角平分线构造为使得与该坐标点相邻的两个已知坐标的坐标点分别位于该角平分线的两侧;若所述坐标点是起始点或终点,则所述拓展方向线平行于与所述起始点或终点相邻的坐标点的拓展方向线;所述拓展点构造模块23用于沿所述拓展方向线的两个方向,从所述坐标点按照设定距离进行移动,得到所述拓展点,所述设定距离为道路实际宽度的一半。所述设定距离还可以根据其他方法进行设定,不以此为限。
[0086] 所述装置应用于球面坐标系电子地图时,则所述装置还包括:墨卡托坐标转换模块6,用于将电子地图经纬度的坐标点从球面坐标转换到墨卡托坐标系;球面坐标转换模块7,用于将所述拓展点与直线的相对位置从墨卡托坐标系转换到球面坐标系。
[0087] 一种电子设备,如图10所示,图10是本发明电子设备组成示意图。
[0088] 所述电子设备100包括存储器101、处理器102及存储在存储器101上并可在处理器102上运行的计算机程序,该计算机程序包含用于执行本发明流程图所述的方法的程序代码,所述处理器102执行所述计算机程序时实现如上所述本发明的方法。存储器101、处理器
102通过总线与通信接口103彼此相连。
[0089] 一种计算机可读存储介质,该计算机可读存储介质可以是上述所述存储器101中包含的,也可以是单独存在,而未装配入所述电子设备中的。其上存储有处理器程序,所述处理器程序用于执行上述的电子地图道路拓展方法。其中,所述计算机可读存储介质包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、光盘只读存储器(CD-ROM)、磁带、软盘和光数据存储设备等。
[0090] 为了更好更清晰的阐述本发明的技术方案和优点,以下将进一步结合附图和实施例,对本发明的具体技术方案进行例举。然而,以下描述的具体实施例仅是说明的目的,而不是对本发明的限制。
[0091] 实施例1
[0092] 本发明所述方法在应用于墨卡托坐标系的电子地图时,图2是本发明实施例1方法流程示意图。图4是本发明实施例1装置组成示意图。
[0093] 如图2所示,墨卡托坐标系电子地图道路拓展方法包括以下步骤。
[0094] 以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线。
[0095] 根据两点确定一条直线的原则,将电子地图的一条道路上任意相邻的两个所述坐标点构造一条直线。所述方法在墨卡托坐标系下进行,所以所述的点或线的坐标都是墨卡托坐标。
[0096] 由所述坐标点,向所述直线侧方进行拓展,得到拓展点。
[0097] 经由所述坐标点向所述直线侧方构造拓展方向线;沿所述拓展方向线的两个方向,从所述坐标点按照设定距离进行移动,得到拓展点。
[0098] 所述构造拓展方向线包括如下步骤:判断所述坐标点是否是道路的起始点或者终点;若不是起始点或终点,则在该坐标点沿路宽方向做以该坐标点为交点的两条直线夹角的角平分线,作为所述拓展方向线;所述两条直线分别由该坐标点及与该坐标点相邻的已知坐标的坐标点构造而成;这里,所述角平分线是以该坐标点为顶点、以所述两条直线为边的角的平分线,所述角平分线构造为使得与该坐标点相邻的两个已知坐标的坐标点分别位于该角平分线的两侧;若是起始点或终点,则其拓展方向线平行于与所述起始点或终点相邻的坐标点的拓展方向线。所述设定距离为道路实际宽度的一半。
[0099] 分别以所述两个坐标点和所述拓展点组成矢量三角形,计算所述矢量三角形的面积符号。
[0100] 根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置。
[0101] 连接直线同侧的所述拓展点,形成拓展道路。
[0102] 如图4所示,所述装置应用于墨卡托坐标系电子地图,所述装置包括:路线构造模块1,用于以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线;拓展模块2,用于由所述坐标点,向所述直线侧方进行拓展,得到拓展点;矢量三角形计算模块3,用于分别以所述两个坐标点和所述拓展点组成矢量三角形,计算所述矢量三角形的面积符号;
判断模块4,用于根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置;
道路拓展模块5,用于连接直线同侧的所述拓展点,形成拓展道路。
[0103] 所述拓展模块2包括坐标点判断模块21、拓展线构造模块22、拓展点构造模块23,所述坐标点判断模块21用于判断所述坐标点是否是道路的起始点或者终点;所述拓展线构造模块22用于经由所述坐标点向所述直线侧方构造的拓展方向线:若不是起始点或终点,则在该坐标点沿路宽方向做以该坐标点为交点的两条直线夹角的角平分线,作为所述拓展方向线;所述两条直线分别由该坐标点及与该坐标点相邻的已知坐标的坐标点构造而成;这里,所述角平分线是以该坐标点为顶点、以所述两条直线为边的角的平分线,所述角平分线构造为使得与该坐标点相邻的两个已知坐标的坐标点分别位于该角平分线的两侧;若所述坐标点是起始点或终点,则所述拓展方向线平行于与所述起始点或终点相邻的坐标点的拓展方向线;所述拓展点构造模块23用于沿所述拓展方向线的两个方向,从所述坐标点按照设定距离进行移动,得到所述拓展点,所述设定距离为道路实际宽度的一半。
[0104] 实施例2
[0105] 所述方法在应用于球面坐标系的电子地图时,图3是本发明实施例2方法流程示意图。图5是本发明实施例2装置组成示意图。
[0106] 如图3所示,球面坐标系电子地图道路拓展方法包括以下步骤。
[0107] 将电子地图经纬度的坐标点从球面坐标转换到墨卡托坐标系。
[0108] 以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线。
[0109] 根据两点确定一条直线的原则,将电子地图的一条道路上任意相邻的两个所述坐标点构造一条直线。所述方法在墨卡托坐标系下进行,所以所述的点或线的坐标都是墨卡托坐标。
[0110] 由所述坐标点,向所述直线侧方进行拓展,得到拓展点。
[0111] 经由所述坐标点向所述直线侧方构造拓展方向线;沿所述拓展方向线的两个方向,从所述坐标点按照设定距离进行移动,得到拓展点。
[0112] 所述构造拓展方向线包括如下步骤:判断所述坐标点是否是道路的起始点或者终点;若不是起始点或终点,则在该坐标点沿路宽方向做以该坐标点为交点的两条直线夹角的角平分线,作为所述拓展方向线;所述两条直线分别由该坐标点及与该坐标点相邻的已知坐标的坐标点构造而成;这里,所述角平分线是以该坐标点为顶点、以所述两条直线为边的角的平分线,所述角平分线构造为使得与该坐标点相邻的两个已知坐标的坐标点分别位于该角平分线的两侧;若是起始点或终点,则其拓展方向线平行于与所述起始点或终点相邻的坐标点的拓展方向线。所述设定距离为道路实际宽度的一半。
[0113] 分别以所述两个坐标点和所述拓展点组成矢量三角形,计算所述矢量三角形的面积符号。
[0114] 根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置。
[0115] 将所述拓展点从墨卡托坐标系转换到球面坐标系。
[0116] 连接直线同侧的所述拓展点,形成拓展道路。
[0117] 如图5所示,所述装置应用于球面坐标系电子地图时,所述装置包括:墨卡托坐标转换模块6,用于将电子地图经纬度的坐标点从球面坐标转换到墨卡托坐标系;路线构造模块1,用于以电子地图的一条道路上相邻的两个已知坐标的坐标点构造一条直线;拓展模块2,用于由所述坐标点,向所述直线侧方进行拓展,得到拓展点;矢量三角形计算模块3,用于分别以所述两个坐标点和所述拓展点组成矢量三角形,计算所述矢量三角形的面积符号;
判断模块4,用于根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置;
球面坐标转换模块7,用于将所述拓展点与直线的相对位置从墨卡托坐标系转换到球面坐标系;道路拓展模块5,用于连接直线同侧的所述拓展点,形成拓展道路。
[0118] 所述拓展模块2包括坐标点判断模块21、拓展线构造模块22、拓展点构造模块23,所述坐标点判断模块21用于判断所述坐标点是否是道路的起始点或者终点;所述拓展线构造模块22用于经由所述坐标点向所述直线侧方构造的拓展方向线:若不是起始点或终点,则在该坐标点沿路宽方向做以该坐标点为交点的两条直线夹角的角平分线,作为所述拓展方向线;所述两条直线分别由该坐标点及与该坐标点相邻的已知坐标的坐标点构造而成;这里,所述角平分线是以该坐标点为顶点、以所述两条直线为边的角的平分线,所述角平分线构造为使得与该坐标点相邻的两个已知坐标的坐标点分别位于该角平分线的两侧;若所述坐标点是起始点或终点,则所述拓展方向线平行于与所述起始点或终点相邻的坐标点的拓展方向线;所述拓展点构造模块23用于沿所述拓展方向线的两个方向,从所述坐标点按照设定距离进行移动,得到所述拓展点,所述设定距离为道路实际宽度的一半。
[0119] 将球面坐标映射到墨卡托坐标系,角度的计算更加准确。
[0120] 本实施例没有涉及到的部分,同具体实施方式描述相同,在此不再赘述。
[0121] 实施例3
[0122] 实施例3提供所述拓展模块2构造所述拓展点的实施例。如图6所示,图6为本发明实施例道路非起始点或终点的坐标点拓展方向线构造图。
[0123] 所述拓展模块2包括坐标点判断模块21、拓展线构造模块22、拓展点构造模块23,所述坐标点判断模块21用于判断所述坐标点是否是道路的起始点或者终点;所述拓展线构造模块22用于经由所述坐标点向所述直线侧方构造的拓展方向线:若不是起始点或终点,则在该坐标点沿路宽方向做以该坐标点为交点的两条直线夹角的角平分线,作为所述拓展方向线;所述两条直线分别由该坐标点及与该坐标点相邻的已知坐标的坐标点构造而成;这里,所述角平分线是以该坐标点为顶点、以所述两条直线为边的角的平分线,所述角平分线构造为使得与该坐标点相邻的两个已知坐标的坐标点分别位于该角平分线的两侧;若所述坐标点是起始点或终点,则所述拓展方向线平行于与所述起始点或终点相邻的坐标点的拓展方向线;所述拓展点构造模块23用于沿所述拓展方向线的两个方向,从所述坐标点按照设定距离进行移动,得到所述拓展点,所述设定距离为道路实际宽度的一半。
[0124] 构造拓展方向线时,所述坐标点判断模块21判断所述坐标点是否是道路的起始点或者终点;如果既不是起始点也不是终点,则如图6所示,所述以坐标点P5为交点的直线P4P5和P5P6,所述拓展线构造模块22沿着所述直线侧面构造夹角∠P4P5P6的角平分线。
[0125] 如图6所示,所述角平分线是以该坐标点P5为顶点、以所述两条直线P4P5和P5P6为边的角的平分线,所述角平分线构造为使得与该坐标点P5相邻的两个已知坐标的坐标点P4、P6分别位于该角平分线的两侧;所述拓展点构造模块23沿着角平分线的两个方向按照路宽的一半分别拓展,得到拓展点P3、P3’,线段P5P3、P5P3’的长度相等,为路宽的一半。
[0126] 用角平分线来对道路进行拓展,确保拓展出来的道路曲线平滑且与原道路曲线更相符,可以更好的处理复杂的道路曲线。
[0127] 本实施例没有涉及到的部分,同具体实施方式描述相同,在此不再赘述。
[0128] 实施例4
[0129] 实施例4提供道路起始点拓展方向线构造的实施例。如图7所示,图7为本发明实施例道路起始点拓展方向线构造示意图。
[0130] 构造拓展方向线时,所述坐标点判断模块21判断所述坐标点是否是道路的起始点或者终点;如果所述坐标点是起始点,如图7所示,点P1为道路起始点时,在点P1不能构造角平分线作为拓展方向线,点P2为P1的相邻点,则P1点的拓展方向线与第二个点P2的拓展方向线方向一致。
[0131] 直线P1P2和P2P4相交,所述拓展线构造模块22以点P2为顶点沿路宽方向构造角平分线为P2的拓展方向线,所述角平分线是以该坐标点P2为顶点、以所述两条直线P1P2和P2P4为边的角的平分线,所述角平分线构造为使得与该坐标点P2相邻的两个已知坐标的坐标点P1、P4分别位于该角平分线的两侧。
[0132] 如图7所示,所述拓展点构造模块23沿着拓展方向线的两个方向按照路宽的一半分别拓展,得到拓展点P3、P3’,线段P1P3、P1P3’的长度相等,为路宽的一半。
[0133] 本实施例没有涉及到的部分,同具体实施方式描述相同,在此不再赘述。
[0134] 实施例5
[0135] 实施例5提供道路终点拓展方向线构造的实施例。如图8所示,图8为本发明实施例道路终点拓展方向线构造示意图。
[0136] 构造拓展方向线时,所述坐标点判断模块21判断所述坐标点是否是道路的起始点或者终点;如果所述坐标点是终点,如图8所示,点Pn为道路终点时,在点Pn不能构造角平分线作为拓展方向线,点P(n-1)为Pn的相邻点,则Pn点的拓展方向线与其相邻点P(n-1)的拓展方向线方向一致。
[0137] 直线P(n-2)P(n-1)和P(n-1)Pn相交,所述拓展线构造模块22以点P(n-1)为顶点沿路宽方向构造角平分线为P(n-1)的拓展方向线,所述角平分线是以该坐标点P(n-1)为顶点、以所述两条直线(n-2)P(n-1)和P(n-1)Pn为边的角的平分线,所述角平分线构造为使得与该坐标点P(n-1)相邻的两个已知坐标的坐标点P(n-2)、Pn分别位于该角平分线的两侧。
[0138] 如图8所示,所述拓展点构造模块23沿着角平分线的两个方向按照路宽的一半分别拓展,得到拓展点P3、P3’,线段PnP3、PnP3’的长度相等,为路宽的一半。
[0139] 本实施例没有涉及到的部分,同具体实施方式描述相同,在此不再赘述。
[0140] 实施例6
[0141] 实施例6提供矢量三角形面积符号计算的实施例。如图9所示,图9是本发明实施例矢量三角形示意图。
[0142] 分别以所述两个坐标点和所述拓展点组成矢量三角形,计算所述矢量三角形面积。所述拓展点有两个,分别位于所述直线的左右两侧,所述左右方向是相对于拓展道路的上行或下行前进方向。
[0143] 所述直线的两个点为P1(x1,y1),P2(x2,y2),点P1到P2为矢量的前进方向;点P3(x3,y3)、P3’为拓展点;以P3点为例,矢量三角形计算模块3求出矢量三角形P1P2P3的面积。
[0144] 所述矢量三角形面积的计算方法包括以下步骤:
[0145] 求三角形P1P2P3的面积:
[0146] S(P1,P2,P3)=1/2×P1P2×P1P3×sin∠P1=1/2|P1P2×P1P3|。
[0147] 其中|P1P2×P1P3|为三角形边P1P2、P1P3的矢量积。
[0148] 其中:矢量P1P2、P1P3在横轴上投影分别为(x2-x3)、(x1-x3),在纵轴上投影分别为(y2-y3)、(y1-y3),则有:
[0149] S(P1,P2,P3)=|(x2-x3)(y1-y3)-(y2-y3)(x1-x3)|/2。
[0150] 采用矢量三角形计算,几何模型简单,便于计算,扩展性更强且易于实现、效率高。
[0151] 本实施例没有涉及到的部分,同具体实施方式描述相同,在此不再赘述。
[0152] 实施例7
[0153] 实施例7提供判断模块4根据所述矢量三角形面积的符号,判断所述拓展点与该直线的相对位置的实施例。
[0154] 如图9所示,当三角形面积S为正值时,三角形P1P2P3为逆时针方向,则拓展点P3在矢量P1P2的左侧。
[0155] 如图9所示,当三角形面积S’为负值时,三角形P1P2P3’为顺时针方向,则拓展点P3在矢量P1P2的右侧。
[0156] 当三角形面积S为0时,则拓展点P3在矢量P1P2上。
[0157] 本实施例没有涉及到的部分,同具体实施方式描述相同,在此不再赘述。
[0158] 需要说明的是,以上参照附图所描述的各个实施例仅用以说明本发明而非限制本发明的范围,本领域的普通技术人员应当理解,在不脱离本发明的精神和范围的前提下对本发明进行的修改或者等同替换,均应涵盖在本发明的范围之内。此外,除上下文另有所指外,以单数形式出现的词包括复数形式,反之亦然。另外,除非特别说明,那么任何实施例的全部或一部分可结合任何其它实施例的全部或一部分来使用。