发明内容
本发明要解决的一个技术问题是提供一种绘制导航数据矢量路口的方法和系统,提高导航数据处理的效率。
根据本发明一方面,提出一种绘制导航数据矢量路口的方法,包括:获取待编辑的导航数据,其中,导航数据包括待与矢量路口连接的道路数据;响应于用户在电子地图上确定的矢量路口位置标识,以矢量路口位置标识为中心绘制对称图形;将在电子地图上位于对称图形内道路数据的端点与对称图形的中心点连接,更新道路路径。
进一步地,对称图形为圆形;响应于用户在电子地图上确定的圆心位置,以预定半径绘制圆形。
进一步地,响应于用户根据道路数据在电子地图中的位置触发的鼠标点击事件,记录鼠标光标位置作为圆心位置。
进一步地,将电子地图中待与矢量路口连接的道路数据的端点做延长线确定各延长线交叉点;将交叉点中包含最多延长线的交叉点位置作为圆心位置。
进一步地,从圆心位置移动鼠标光标确定半径信息,计算圆形的反馈线;获取反馈线的绘制参数,绘制圆形。
进一步地,该方法还包括:判断电子地图上道路数据是否与圆形具有相交关系;若电子地图上道路数据与圆形具有相交关系,则触发电子地图上位于圆形内道路数据的端点与圆心连接。
根据本发明的另一方面,还提出一种绘制导航数据矢量路口的系统,包括:数据获取单元,用于获取待编辑的导航数据,其中,导航数据包括待与矢量路口连接的道路数据;图形绘制单元,用于响应于用户在电子地图上确定的矢量路口位置标识,以矢量路口位置标识为中心绘制对称图形;道路绘制单元,用于将在电子地图上位于对称图形内道路数据的端点与对称图形的中心点连接,更新道路路径。
进一步地,图形绘制单元还用于响应于用户在电子地图上确定的圆心位置,以预定半径绘制圆形。
进一步地,图形绘制单元还用于响应于用户根据道路数据在电子地图中的位置触发的鼠标点击事件,记录鼠标光标位置作为圆心位置。
进一步地,图形绘制单元还用于将电子地图中待与矢量路口连接的道路数据的端点做延长线确定各延长线交叉点,将交叉点中包含最多延长线的交叉点位置作为圆心位置。
进一步地,图形绘制单元还用于从圆心位置移动鼠标光标确定半径信息,计算圆形的反馈线,获取反馈线的绘制参数,绘制圆形。
进一步地,道路绘制单元还用于判断电子地图上道路数据是否与圆形具有相交关系,若电子地图上道路数据与圆形具有相交关系,则触发电子地图上位于圆形内道路数据的端点与圆心连接。
根据本发明的另一方面,还提出一种绘制导航数据矢量路口的系统,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行如上述的方法。
根据本发明的另一方面,还提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述的方法的步骤。
与现有技术相比,本发明响应于用户在电子地图上确定的矢量路口位置标识,以矢量路口位置标识为中心绘制对称图形;将在电子地图上位于对称图形内道路数据的端点与对称图形的中心点连接,更新道路路径。由于能够一次性触发多条道路端点与矢量路口连接,因此,提高了导航数据处理的效率。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1为本发明绘制导航数据矢量路口的方法的一个实施例的流程示意图。
在步骤110,获取待编辑的导航数据,其中,导航数据包括待与矢量路口连接的道路数据。其中,导航数据一般包括POI(Point of Interest,信息点)、道路线、拓扑节点、附属设施、背景要素(水系、居民地、绿地(公园、自然植被区))等。在道路线里,一般包括属性,如道路名称,道路等级,道路长度等等。如图2所示,在电子地图中三条线段对应三条道路,三条道路应该在一个路口连接在一起,然而在绘制过程中,三条道路没有完全吸合。
在步骤120,响应于用户在电子地图上确定的矢量路口位置标识,以矢量路口位置标识为中心绘制对称图形。其中,该对称图形可以为圆形,圆形的圆心即对应矢量路口。如图2所示,用户根据电子地图上显示的待与矢量路口连接的道路数据的位置,触发点击鼠标事件,将鼠标光标位置作为圆心位置。电子地图中的圆心(即星位置)对应矢量路口位置,最后以预定半径R绘制圆形。
其中,电子地图中绘制的圆心可以经过坐标矩阵变换转换为实际地理位置中的矢量路口,进而获得矢量路口的经纬度信息。
在步骤130,将在电子地图上位于对称图形内道路数据的端点与对称图形的中心点连接,更新道路路径。如图2所示,该圆形在电子地图上与多条道路相交,将电子地图中与该圆相交的道路的端点A、B、C位置与星位置连接,得到自动拼合好的导航路口。
在该实施例中,通过在电子地图中绘制对称图形,其中,该对称图形的中心点对应矢量路口,将在电子地图上位于该对称图形内的道路数据的端点与中心点连接,从而形成完整的道路路径,由于能够一次性触发多条道路端点与矢量路口连接,因此,提高了导航数据处理的效率。
图3为本发明绘制导航数据矢量路口的方法的另一个实施例的流程示意图。
在步骤310,获取待编辑的导航数据,其中,导航数据包括待与矢量路口连接的道路数据。
在步骤320,响应于用户在电子地图上绘制的圆心,以预定半径绘制圆形。例如,如图2所示,由用户确定星位置,若用户在电子地图中星位置按下鼠标左键,拖拽鼠标,在绘图平台上成圆形,直到圆形包含所有路口线段,当松开鼠标左键时,圆形范围内的线段都被记录,圆心坐标可以记录为XY。本领域的技术人员应当理解,按下鼠标左键仅是用于举例,还可以通过按下鼠标右键等实现该步骤。
另外,也可以将电子地图中多条道路数据的端点做延长线确定各延长线交叉点,此时可能产生冗余交叉点,然后比较各交叉点包含道路数据的数量,将交叉点中包含最多延长线的交叉点位置作为圆心位置;最后以预定半径R绘制圆形。
在步骤330,判断电子地图上道路数据是否与圆形具有相交关系,若有,则执行步骤340,否则,结束流程。其中,电子地图上道路数据与圆形没有相交关系,则不能构建路口综合交叉点,其中,路口综合交叉点应包含路口拓扑信息,及路径规划的详细路径。
在步骤340,触发位于圆形内道路数据的端点与圆心连接,更新道路路径。
在该实施例中,通过在电子地图中绘制圆形,将在电子地图上位于该圆形内的道路数据的端点与圆心连接,能够一次性自动移动多个端点,构成导航路径交叉口,提高了导航数据处理的效率。
图4为本发明绘制导航数据矢量路口的方法的再一个实施例的流程示意图。
在步骤410,获取待编辑的导航数据。其中,导航数据包括待与矢量路口连接的道路数据。其中,该待编辑的导航数据为地理坐标系中的数据,在QGIS(Quantum GIS,桌面地理信息系统)中,该数据可以自动转换为屏幕坐标系中的数据。
在步骤420,用户根据道路数据在电子地图中的位置点击鼠标左键,捕捉鼠标左键按下时的光标坐标。鼠标左键按下时的光标位置为圆心,即如图2中的星位置,该星位置对应矢量路口位置。
在步骤430,拖拽鼠标,根据鼠标光标当前坐标和鼠标按下时的光标坐标计算圆形的反馈线。其中,反馈线即一个完整圆的边界线,以鼠标光标当前所在位置和圆心距离为半径,对支持绘制圆的绘图API(Application Programming Interface,应用程序编程接口)使用圆心和半径计算圆形的反馈线,对于不支持绘制圆的绘图API,通过插值算法使用普通折线表示反馈线。
在步骤440,获取反馈线的绘制参数,绘制圆形。在鼠标左键按下的前提下,鼠标移动时可以动态绘制圆形。其中,绘制参数为绘图API需要的参数,例如颜色、线性(实线、虚线)等。以Qt(跨平台C++图形用户界面应用程序开发框架)的绘制圆的API为例,其需要的绘制参数是四个可以表示正方型的像素坐标值,然后API绘制正方形的内切圆。本领域的技术人员应当理解,不同的绘图API平台需要的绘制参数也不同。
在步骤450,利用空间查询方式将电子地图上的圆心坐标和圆形转换为地理圆心位置和地理圆形几何。其中,空间查询是利用空间索引机制,从数据库中找出符合该条件的空间数据。在制图编辑平台中绘制的圆心和圆形的位置都是屏幕坐标系,而道路数据为地理坐标系中的数据,因此,电子地图上的圆心坐标和圆形需要通过矩阵变换转换为地理圆心位置和地理圆形几何。
在步骤460,判断圆形几何个数是否为零,若为零,则结束流程,否则,执行步骤470。若鼠标左键按下的光标坐标和鼠标抬起时的光标坐标重合,则绘制不出圆形。
在步骤470,获取与地理圆形几何具有相交关系的道路数据。如图2所示,从电子地图中看,圆形的反馈线与电子地图上的道路数据线段具有相交关系。其中相交指圆形包含线段,也可以指圆形的反馈线和线段有交集。
在步骤480,根据道路数据的端点在地理圆形几何中的位置进一步筛选道路数据,并保存道路数据的端点信息。
在步骤490,连接道路数据的端点到地理圆心。由此,可以向用户展示更加完善的导航数据。
在该实施例中,使用圈选、框选模式,一次性自动移动多个端点,从而形成导航路径交叉口,实现简单,并且能够避免制图时遗漏某条道路或者产生悬挂节点的情况。
实现上述实施例的硬件设备及环境可以如表1所示。
项 |
配置 |
CPU |
INTER XEON E3-1241-V3 |
内存 |
16G |
操作系统硬盘 |
128G SSD |
存储硬盘 |
1T机械硬盘 |
显卡 |
NVIDIA QUADRO K1200 |
操作系统 |
WINDOWS 8 |
开发环境 |
VS2010 |
表1
图5为本发明绘制导航数据矢量路口的系统的一个实施例的结构示意图。该系统包括数据获取单元510、图形绘制单元520和道路绘制单元530,其中:
数据获取单元510用于获取待编辑的导航数据,其中,导航数据包括待与矢量路口连接的道路数据。其中,导航数据一般包括POI、道路线、拓扑节点、附属设施、背景要素(水系、居民地、绿地(公园、自然植被区))等。在道路线里,一般包括属性,如道路名称,道路等级,道路长度等等。如图2所示,在电子地图中三条线段对应三条道路,三条道路应该在一个路口连接在一起,然而在绘制过程中,三条道路没有完全吸合。
图形绘制单元520用于响应于用户在电子地图上确定的矢量路口位置标识,以矢量路口位置标识为中心绘制对称图形。其中,该对称图形可以为圆形,圆形的圆心即对应矢量路口。如图2所示,用户根据电子地图上显示的待与矢量路口连接的道路数据的位置,触发点击鼠标事件,将鼠标光标位置作为圆心位置。电子地图中的圆心(即星位置)对应矢量路口位置,最后以预定半径R绘制圆形。
其中,电子地图中绘制的圆心可以经过坐标矩阵变换转换为实际地理位置中的矢量路口,进而获得矢量路口的经纬度信息。
道路绘制单元530用于将在电子地图上位于对称图形内道路数据的端点与对称图形的中心点连接,更新道路路径。如图2所示,该圆形在电子地图上与多条道路相交,将电子地图中与该圆相交的道路的端点A、B、C位置与星位置连接,得到自动拼合好的导航路口。
在该实施例中,通过在电子地图中绘制对称图形,其中,该对称图形的中心点对应矢量路口,将在电子地图上位于该对称图形内的道路数据的端点与中心点连接,从而形成完整的道路路径,由于能够一次性触发多条道路端点与矢量路口连接,因此,提高了导航数据处理的效率。
在本发明的另一个实施例中,图形绘制单元520还用于响应于用户在电子地图上绘制的圆心,以预定半径绘制圆形。例如,如图2所示,由用户确定星位置,若用户在电子地图中星位置按下鼠标左键,拖拽鼠标,在绘图平台上成圆形,直到圆形包含所有路口线段,当松开鼠标左键时,圆形范围内的线段都被记录,圆心坐标可以记录为XY。本领域的技术人员应当理解,按下鼠标左键仅是用于举例,还可以通过按下鼠标右键等实现该步骤。
在一个实施例中,可以根据鼠标光标当前坐标和鼠标按下时的光标坐标计算圆形的反馈线,其中,反馈线即一个完整圆的边界线。然后获取反馈线的绘制参数,绘制圆形。
另外,图形绘制单元520也可以将电子地图中多条道路数据的端点做延长线确定各延长线交叉点,此时可能产生冗余交叉点,然后比较各交叉点包含道路数据的数量,将交叉点中包含最多延长线的交叉点位置作为圆心位置;最后以预定半径R绘制圆形。
道路绘制单元530用于触发位于圆形内道路数据的端点与圆心连接,更新道路路径。
在一个实施例中,可以利用空间查询方式将电子地图上的圆心坐标和圆形转换为地理圆心位置和地理圆形几何。在制图编辑平台中绘制的圆心和圆形的位置都是屏幕坐标系,而道路数据为地理坐标系中的数据,因此,电子地图上的圆心坐标和圆形需要通过矩阵变换转换为地理圆心位置和地理圆形几何。根据道路数据的端点在地理圆形几何中的位置进一步筛选道路数据,并保存道路数据的端点信息,进而连接道路数据的端点到地理圆心。
在上述实施例中,通过在电子地图中绘制圆形,将在电子地图上位于该圆形内的道路数据的端点与圆心连接,能够一次性自动移动多个端点,构成导航路径交叉口,提高了导航数据处理的效率,并且能够避免制图时遗漏某条道路或者产生悬挂节点的情况。
图6为本发明绘制导航数据矢量路口的系统的再一个实施例的结构示意图。该系统包括存储器610和处理器620,其中:
存储器610可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储图1、3、4所对应实施例中的指令。
处理器620耦接至存储器610,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器620用于执行存储器中存储的指令,能够一次性触发多条道路端点与矢量路口连接,因此,提高了导航数据处理的效率。
在一个实施例中,还可以如图7所示,该系统700包括存储器710和处理器720。处理器720通过BUS总线730耦合至存储器710。该系统700还可以通过存储接口740连接至外部存储装置750以便调用外部数据,还可以通过网络接口760连接至网络或者另外一台计算机系统(未标出),此处不再进行详细介绍。
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够一次性触发多条道路端点与矢量路口连接,因此,提高了导航数据处理的效率,并且能够避免制图时遗漏某条道路或者产生悬挂节点的情况。
在另一个实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现图1、3、4所对应实施例中的方法的步骤。本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。