CN111295569B - 用于生成道路地图的系统和方法 - Google Patents
用于生成道路地图的系统和方法 Download PDFInfo
- Publication number
- CN111295569B CN111295569B CN201880070281.4A CN201880070281A CN111295569B CN 111295569 B CN111295569 B CN 111295569B CN 201880070281 A CN201880070281 A CN 201880070281A CN 111295569 B CN111295569 B CN 111295569B
- Authority
- CN
- China
- Prior art keywords
- node
- link
- nodes
- determining
- links
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3815—Road data
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/0969—Systems involving transmission of navigation instructions to the vehicle having a display in the form of a map
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Navigation (AREA)
Abstract
提供了用于生成道路地图的系统和方法。该方法包括获取针对导航终端的导航路线和所述导航终端的当前位置。该方法还包括基于所述导航路线和导航终端的当前位置,获取与导航终端的当前位置相关的路网数据。路网数据包括至少两个链路和至少两个结点。每个结点连接到包括至少一种类型的链路的一个或以上链路。该方法还包括确定每个结点的等级。该方法还包括基于结点的等级,确定连接到结点的至少一种类型的链路的一个或以上目标链路。该方法还包括基于目标链路,生成道路地图。
Description
技术领域
本申请涉及用于提供按需服务的系统和方法,尤其涉及用于生成道路地图的系统和方法。
背景技术
许多基于位置的服务和/或应用程序(例如web地图服务和导航服务)需要道路地图,尤其是电子道路地图。然而,当用户访问用于导航的电子道路地图时,有时地图显示过量的信息,包括诸如无关道路之类的一些干扰信息,其可能分散用户对正确处理导航结果的注意力。因此,期望提供用于生成道路地图的系统和方法,该道路地图的生成是基于对完整性、有效性和简洁性的综合考虑。
发明内容
根据本申请的一个方面,被配置用于与导航终端通信的远程导航设备可以包括至少一个存储介质,该存储介质包括用于生成道路地图的一组指令,以及与该存储器通信的至少一个处理器,其中,当执行该组指令时,该至少一个处理器可以用于:获取导航路线和导航终端的当前位置;基于导航路线和导航终端的当前位置,获取与导航终端的当前位置相关的路网数据,其中路网数据包括至少两个链路和至少两个结点,其中至少两个结点中的每一个结点连接到一个或以上链路,一个或以上链路包括至少一种类型的链路;确定至少两个结点中的每一个结点的等级;对于至少两个结点中的每一个结点,确定连接到结点的一个或以上道路链路;对于至少两个结点中的每一个结点,基于结点的等级,确定连接到结点的至少一种类型的链路的一个或以上目标链路;基于目标链路,生成道路地图。
根据本申请的另一方面,一种用于生成道路地图的方法可以在具有至少一个处理器、至少一个计算机可读存储介质和连接到网络的通信平台的计算设备上实现。该方法可以包括一个或以上的以下操作:获取导航路线和导航终端的当前位置;基于导航路线和导航终端的当前位置,获取与导航终端的当前位置相关的路网数据,其中路网数据包括至少两个链路和至少两个结点,其中至少两个结点中的每一个结点连接到一个或以上链路,一个或以上链路包括至少一种类型的链路;确定至少两个结点中每一个结点的等级;对于至少两个结点中的每一个结点,基于结点的等级,确定连接到结点的至少一种类型的链路的一个或以上目标链路;基于目标链路,生成道路地图。
根据本申请的又一方面,提供了一种非暂时性计算机可读介质。非暂时性计算机可读介质可包括用于生成道路地图的至少一组指令,其中当由计算机设备的至少一个处理器执行时,所述至少一组指令指示所述至少一个处理器:获取导航路线和导航终端的当前位置;基于导航路线和导航终端的当前位置获取与导航终端的当前位置相关的路网数据,其中路网数据包括至少两个链路和至少两个结点,其中至少两个结点中的每一个结点连接到一个或以上链路,一个或以上链路包括至少一种类型的链路;确定至少两个结点中的每一个结点的等级;对于至少两个结点中的每一个结点,确定连接到结点的一个或以上道路链路;对于至少两个结点中的每一个结点,基于结点的等级,确定连接到结点的至少一种类型的链路的一个或以上目标链路;基于目标链路,生成道路地图。
在一些实施例中,确定至少两个结点中的每一个结点的等级可以包括:从至少两个结点中获取在导航路线上的结点;从在导航路线上的结点中指定一个结点作为参考结点;对于在导航路线上的每个结点,根据结点与参考结点之间的距离确定结点的等级;从至少两个结点中获取不在导航路线上的结点;对于不在导航路线上的每个结点,基于导航路线上的结点的等级和与至少两个结点相关的拓扑关系,确定结点的等级。
在一些实施例中,对于导航路线上的每个结点,基于结点与参考结点之间的距离,确定结点的等级,可以包括:确定结点与参考结点之间的距离是否大于第一阈值;响应于确定结点与参考结点之间的距离小于或等于第一阈值,确定结点的等级为第一值;响应于确定结点与参考结点之间的距离大于第一阈值,确定结点的等级为第二值。
在一些实施例中,由内部链路、环岛链路或短链路连接的至少两个结点的两个结点的等级是相同的。
在一些实施例中,基于结点的等级,确定连接到结点的一种类型链路的一个或以上目标链路可以包括:确定结点的等级是否是第一值;响应于确定结点的等级为第一值,确定连接到该结点的链路类型的所有链路为目标链路。
在一些实施例中,基于结点的等级确定连接到结点的一种类型链路的一个或以上目标链路可以包括:确定结点的等级是否是第一值;响应于确定结点的等级不是第一值,确定是否只有一个类型的链路;响应于确定所述类型只有一个链路,将改链路指定为该类型的所述目标链路;响应于确定所述类型不止一个链路,确定连接到所述结点的每一个结点的所述类型的得分;基于与连接到结点的类型的链路相关的得分,确定目标链路。
在一些实施例中,基于与所述类型的链路相关的得分,确定目标链路可以包括:确定得分的最高分是否大于第二阈值;响应于确定最高分大于第二阈值,指定对应于最高分的链路为目标链路。
在一些实施例中,基于与所述类型的链路相关的得分,确定目标链路可以包括:响应于确定最高分小于或等于得分阈值,生成得分大于第二阈值的模拟链路;将模拟链路指定为目标链路。
在一些实施例中,基于目标链路,生成道路地图可以包括:确定与导航终端的当前位置相关的转移矩阵;基于转移矩阵和目标链路,生成道路地图。
在一些实施例中,该方法还可以包括:基于导航终端和转移矩阵的位置,在道路地图上确定导航终端的标识位置,其中,导航终端的标识设置在所述标识位置上。
附图说明
本申请将通过示例性实施例进行进一步描述。当结合附图阅读时,在下面的详细描述中使本申请的实施例的前述和其他方面更加明显,并且其中:
图1是根据本申请的一些实施例所示的示例性按需服务系统的示意图;
图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图;
图3是根据本申请的一些实施例所示的移动设备的示例性硬件组件和/或软件组件的示意图;
图4是根据本申请的一些实施例所示的示例性处理引擎的框图;
图5是根据本申请的一些实施例所示的客户端和服务器之间的示例性通信过程的示意图;
图6是根据本申请的一些实施例所示的用于生成道路地图的示例性过程和/或方法的流程图;
图7是根据本申请的一些实施例所示的用于确定结点等级的示例性过程和/或方法的流程图;
图8是根据本申请的一些实施例所示的用于确定结点的一个或以上目标链路的示例性过程和/或方法的流程图;
图9是根据本申请的一些实施例所示的用于确定结点的一个或以上目标链路的另一示例性过程和/或方法的流程图;
图10A是根据本申请的一些实施例所示的示例性道路地图生成模块的框图;
图10B是根据本申请的一些实施例所示的用于生成道路地图的示例性过程和/或方法的流程图;
图11是根据本申请的一些实施例所示的示例性路网数据;
图12A至12C是根据本申请的一些实施例所示的示例性内部链路、示例性环岛链路和示例性短链路;
图13A和13B是根据本申请的一些实施例所示的示例性路网;以及
图14是根据本申请的一些实施例所示的示例性道路地图。
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所公开的实施例作出各种修改,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。
本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请中所示,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、元件和/或部件,但并不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合的情况。
在考虑了作为本申请一部分的附图的描述内容后,本申请的特征和特点以及操作方法、结构的相关元素的功能、各部分的组合、制造的经济性变得显而易见。然而,应当明确理解,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
本申请中使用了流程图来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。所述一个或以上操作也可以从流程图中删除。
此外,尽管本申请中的系统和方法主要是关于在线汽车搭乘服务来描述的,但是还应该理解,这仅是一个示例性实施例。本申请的系统和方法可能适用于其他任一种按需服务。例如,本申请的系统和方法可以应用于不同的运输系统,包括陆地、海洋、航空航天等,或其任意组合。所述运输系统的交通工具可以包括出租车、私家车、顺风车、公交车、火车、动车、高铁、地铁、船舶、飞机、飞船、热气球、无人驾驶的车辆等,或其任意组合。运输系统还可以包括应用管理和/或分配的任何运输系统,例如,用于发送和/或接收快递的系统。本申请的系统或方法的应用场景可以包括网页、浏览器插件、客户端、定制系统、内部分析系统、人工智能机器人等,或其任意组合。
本申请中的术语“结点”可以指表示路网中的道路的连接或联合的点。例如,道路A在交叉路口与道路B相交,对应于交叉路口的点可以被指定为路网中的结点。本申请中的术语“链路”可以指表示路网中的道路或道路的一部分的线。一条链路可以连接不同的结点。例如,道路A在结点C处与道路B相交并且在结点E处与道路D相交。对应于交叉点C和E之间的道路A的区段的线可以被指定为链路。本申请中的术语“目标链路”可以指的是基于连接到结点的一个或以上链路,已经确定对于用户在他或她的导航期间做出决定有用的链路。本申请中的术语“模拟链路”可以指在现实世界的路网中不存在并且由本申请的系统模拟的链路。例如,如果连接到结点的至少两个链路中的每一个链路在评估之后不满足要求,则可以生成“模拟链路”并且可以将其指定为目标链路。
可以通过嵌入在导航终端中的定位技术来获取本申请中的位置。定位技术可以包括全球卫星导航系统(GLONASS)、北斗导航系统(COMPASS)、伽利略定位系统、准天顶卫星系统(QZSS)、无线保真(WiFi)、定位技术等或其任意组合。以上定位技术中的一个或以上可以在本申请中交换使用。
本申请的一个方面涉及用于生成道路地图的在线系统和方法。根据本申请,系统可以基于导航终端的当前位置来确定至少两个交叉点(结点)中的每一个结点的等级,然后确定与交叉点相关的目标道路段(链路)。然后,系统可以基于目标道路段,生成道路地图以提供导航服务。由于目标链路是基于链路的等级确定的,因此它可以向服务请求者提供更简洁的道路地图。在一些实施例中,当用户接近结点时,仅向用户显示目标链路。这种更集中的导航服务可以防止用户分心并改善用户的决策。
应当注意在线按需服务是一种根植于后互联网时代的新兴服务。它为服务请求者提供了技术解决方案,可以在后互联网时代提出。在互联网时代之前,不可能向服务请求者提供导航路线,特别是基于至少两个结点的等级来向服务请求者提供简明的道路地图。因此,本解决方案植根于并旨在解决仅在后互联网时代发生的问题。
图1是根据本申请的一些实施例所示的用于生成道路地图的示例性系统100的框图。例如,系统100可以是用于运输服务的在线运输服务平台,例如路线导航、汽车服务、司机服务、车辆递送服务、拼车服务、公共汽车服务、司机招聘服务和班车服务等。系统100可以包括服务器110、导航终端120、存储设备130、网络140和信息源150。该服务器110可包含处理引擎112。
服务器110可以被配置为与来自导航终端120的请求有关的处理信息和/或数据,例如,地图显示请求。例如,服务器110可以从导航终端120接收请求,并处理该请求以生成导航终端120的道路地图。在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以通过网络140访问存储在导航终端120和/或存储设备130中的信息和/或数据。又例如,服务器110可以直接连接到导航终端120和/或存储设备130以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等,或其任意组合。在一些实施例中,服务器110可以在图2中描述的包含了一个或者多个组件的计算设备上执行。
在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理与服务请求相关的信息和/或数据以执行本申请描述的一个或以上功能。例如,处理引擎112可以从导航终端120获取请求以生成道路地图。在一些实施例中,所述处理引擎112可包括一个或以上处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为示例,处理引擎112可以包括中央处理单元(CPU)、特定应用集成电路(ASIC)、特定指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑装置(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等,或其任意组合。
在一些实施例中,导航终端120可以是与请求直接相关的个人、工具或其他实体。在一些实施例中,导航终端120可以包括移动设备120-1、平板计算机120-2、笔记本计算机120-3以及机动车辆中的内置设备120-4等,或其任意组合。在一些实施例中,移动装置120-1可包括智能家居装置、可穿戴设备、智能移动装置、虚拟现实装置、增强实境装置等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,该可穿戴设备可包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣服、智能背包、智能配件等,或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实装置和/或增强实境装置可以包括Google Glass、Oculus Rift、HoloLens或Gear VR等。在一些实施例中,机动车内建装置120-4可以包括车载计算机、车载电视等。在一些实施例中,导航终端120可以是具有定位技术的设备,用于定位用户和/或导航终端120的位置。在一些实施例中,导航终端120可以与另一个定位设备通信以确定用户和/或导航终端120的位置。在一些实施例中,导航终端120可以将定位信息发送到服务器110。
存储设备130可以存储与请求有关的数据和/或指令。在一些实施例中,存储设备130可以存储从导航终端120获取/获取的数据。在一些实施例中,存储设备130可以存储服务器110用来执行或使用来完成本申请中描述的示例性方法的数据和/或指令。在一些实施例中,存储设备130可包括大容量存储器、可移动存储器、挥发性读写内存、只读存储器(ROM)等,或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(RAM)。示例性RAM可包括动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDR SDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。示例性只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(PEROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,所述存储设备130可以在云平台上实现。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等,或其任意组合。
在一些实施例中,存储设备130可以连接到网络140以与系统100中的一个或以上组件(例如,服务器110、导航终端120)通信。系统100中的一个或以上组件可以通过网络140访问存储设备130中存储的数据或指令。在一些实施例中,存储设备130可以直接连接到系统100中的一个或以上组件(例如,服务器110、导航终端120)或与之通信。在一些实施例中,存储设备130可以是服务器110的一部分。
网络140可以促进信息和/或数据的交换。在一些实施例中,通过网络140,系统100中的一个或以上组件(例如,服务器110、导航终端120和存储设备130)可以向/从其他组件发送信息和/或从其他组件接收信息和/或数据。例如,服务器110可以通过网络140从导航终端120获取/获取服务请求。在一些实施例中,网络140可以为任意形式的有线或无线网络,或其任意组合。仅作为示例,网络140可以包括电缆网络、有线网络、光纤网络、远程通信网络、内联网、因特网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、公共电话交换网(PSTN)、蓝牙TM网络、紫蜂TM网络、近场通信(NFC)网络、全球移动通信系统(GSM)网络、码分多址(CDMA)网络、时分多址(TDMA)网络、通用分组无线电服务(GPRS)网络、增强数据GSM演进速率(EDGE)网络、宽带码分多址(WCDMA)网络、高速下行链路分组接入(HSDPA)网络、长期演进(LTE)网络、用户数据报协议(UDP)网络、传输控制协议/因特网协议(TCP/IP)网络、短消息服务(SMS网络、无线应用协议(WAP)网络、超宽带(UWB)网络、红外线等,或其任意组合。在一些实施例中,系统100可以包括一个或以上网络接入点。例如,系统110可以包括有线或无线网络接入点,例如基站和/或无线接入点140-1、140-2,。。。,系统100的一个或以上组件可以通过它们连接到网络140来交换数据和/或信息。
信息源150可以是被配置为用于为系统100提供其他信息的来源。信息源150可以向系统100提供地图和/或道路信息,例如道路的名称、道路的宽度信息、道路的长度信息、道路的方向、车道信息等。信息源150可以在单个中央服务器,通过通信链路连接的多个服务器或多个个人设备中实现。当信息源150在多个个人设备中实现时,个人设备可以生成内容(例如,被称为“用户生成的内容”),例如,通过将文本、语音、图像或视频上载到云服务器。信息源150可以由多个个人设备和/或云服务器生成。
图2是示出计算设备200的示例性硬件和软件组件的示意图,根据本申请的一些实施例,在该计算设备200上实现服务器110、导航终端120、存储设备130和/或信息源150。本实施例中的特定系统利用功能框图解释了一个包含用户界面的硬件平台。这种计算机可以是一个通用目的的计算机,也可以是一个有特定目的的计算机。两种计算机都可以被用于实现本实施例中的特定系统。计算设备200可以被配置用于实现执行本申请中公开的一个或以上功能的任何组件。例如,计算设备200可以实现如本文所述的系统100的任何组件。在图1和2中,仅出于方便的目的,仅示出了一个这样的计算机设备。本领域的一个普通技术人员在执行该应用程序时应当理解,与所述的请求服务相关的计算机功能可以在多个类似的平台上以分布式方式实现,以分散处理负荷。
例如,计算设备200可以包括与网络相连接通信端口250,以实现数据通信。计算设备200还可以包括处理器(例如,处理器220),其形式为一个或以上处理器(例如,逻辑电路),用于执行程序指令。例如,处理器可以包括接口电路和其中的处理电路。接口电路可以被配置为从总线210接收电信号,其中电信号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以通过总线210从处理电路发出电信号。
示例性计算设备可以包括内部通信总线210、程序存储器和不同形式的数据存储器,包括例如盘270、只读存储器(ROM)230或随机存取存储器(RAM)240,用于由计算设备处理和/或传输的各种数据文件。示例性计算设备也可以包括储存于ROM230、RAM240和/或其他形式的非暂时性存储介质中的能够被处理器220执行的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200还包括输入/输出组件260,支持计算机和其他组件之间的输入/输出。计算设备200也可以通过网络通信接收编程和数据。
仅用于说明,图2中仅示出了一个CPU和/或处理器。还可以考虑多个CPU和/或处理器;因此,由本申请中描述的一个CPU和/或处理器执行的操作和/或方法步骤也可以由多个CPU和/或处理器联合或单独执行。例如,如果在本申请中,计算设备200的CPU和/或处理器执行步骤A和步骤B,应当理解的是,步骤A和步骤B也可以由计算设备200的两个不同的CPU和/或处理器共同地或独立地执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同地执行步骤A和步骤B)。
图3是根据本申请的一些实施例的可以在其上实现导航终端120的示例性移动设备300的示例性硬件和/或软件组件的示意图。如图3所示,移动设备300可以包括通信平台310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、输入/输出(I/O)350、内存360和存储器390。CPU 340可以包括接口电路和类似于处理器220的处理电路。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。在一些实施例中,操作系统370(例如,iOSTM,AndroidTM,Windows Phone等)和一个或以上应用程序380可从存储器390下载至内存360以及由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从基于移动设备300上的服务提供系统的位置来接收和呈现与服务请求或其他信息有关的信息。用户与信息流的交互可以通过I/O 350实现,并通过网络140提供给处理引擎112和/或系统100的其他组件。
为了实现上述各种模块、单元及其功能,计算机硬件平台可以用作一个或以上元件(例如,图2中描述的服务器110的模块)的硬件平台。由于这些硬件元件、操作系统和程序语言是常见的,因此可以假设本领域技术人员熟悉这些技术并且他们可能能够根据本申请中描述的技术,提供路线规划中所需的信息具有用户界面的计算机可以用作个人计算机(PC)或其他类型的工作站或终端设备。在正确编程之后,具有用户界面的计算机可以用作服务器。可以认为本领域普通技术人员也可以熟悉这种类型的计算机设备的这种结构,程序或一般操作。因此,没有针对附图进行额外的解释。
图4是根据一些实施例所示的示例性处理器220的框图。处理器220可包括信息获取模块410、等级确定模块420、目标链路确定模块430和道路地图生成模块440。这些模块可以是处理器220的全部或部分的硬件电路。这些模块也可以作为一个应用程序或一组由处理引擎读取和执行的指令实现。此外,这些模块可以是硬件电路和应用/指令的任意组合。例如,当处理器执行应用程序/一组指令时,这些模块可以是处理器220的一部分。
信息获取模块410可以基于导航路线和导航终端的当前位置,获取导航终端120的导航路线和导航终端120的当前位置、与导航终端120的当前位置相关的路网数据等,或其任意组合。路网数据包括至少两个链路和至少两个结点。至少两个结点中的每一个结点可以连接到一个或以上链路。链路可以包括前链路或后链路。还应注意,尽管在此陈述了导航终端120,但是在本发明中也可以使用其他联网导航设备。
等级确定模块420可以确定路网数据中包括的至少两个结点中的每一个结点的等级。在一些实施例中,等级确定模块420可以从与路网数据相关的至少两个结点中获取导航路线上的结点,并且将来自所述至少两个结点中的一个结点指定为参考结点。可以基于结点和参考结点之间的距离,确定导航路线上的结点的等级。等级确定模块420可以从所述至少两个结点中获取不在导航路线上的结点,并且基于导航路线上的结点的等级和与至少两个结点相关的拓扑关系,确定结点的等级。
目标链路确定模块430可以基于连接到结点的链路,确定一个或以上目标链路。在一些实施例中,目标链路确定模块430可以基于结点的等级,确定一个或以上目标链路。在一些实施例中,目标链路确定模块430可以确定连接到结点的每个链路的得分,并基于链路的得分,确定一个或以上目标链路。在一些实施例中,目标链路确定模块430可以生成模拟链路并将模拟链路指定为目标链路。
道路地图生成模块440可以生成道路地图。在一些实施例中,道路地图生成模块440可以确定与导航终端120的当前位置相关的转移矩阵。在一些实施例中,道路地图生成模块440可以基于转移矩阵和目标链路,生成道路地图。
处理器220中的模块可以通过有线连接或无线连接来彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等,或其任意组合。无线连接可以包括局域网络(LAN)、广域网络(WAN)、蓝牙、紫蜂网络、近场通讯(NFC)等,或其任意组合。两个或以上模块可以合并成一个模块,以及任意一个模块可以被拆分成两个或以上单元。例如,目标链路确定模块430可以作为单个模块集成在等级确定模块420中,该单个模块可以确定结点的等级并基于该等级来确定结点的目标链路。又例如,等级确定模块420可以被划分为路线结点等级判断单元和非路线结点等级判断单元两个单元,以分别实现等级确定模块420的功能。
图5是根据本申请的一些实施例所示的客户端和服务器之间的示例性通信过程的示意图。在一些实施例中,客户端510(例如,导航终端120)可以发起导航请求。导航请求可以包括与客户端510和/或客户端510的用户相关的原始数据。例如,原始数据可以包括导航请求的请求时间、出发地点、目的地等,或其任意组合。服务器520(例如,服务器110)可以通过有线或无线网络(例如,网络140)获取所述导航请求。在获取导航请求之后,服务器520可以通过各种现有技术为所述导航请求确定一条或以上导航路线。例如,可以基于建模语言确定一个或以上导航路线,包括斯坦福研究所问题解决者(STRIPS)语言、动作描述语言(ADL)、规划域定义语言(PDDL)等,或其任意组合。又例如,一个或以上导航路线可以基于路线规划技术和/或算法确定,包括机器学习技术、人工智能技术、模板逼近技术、人工势场技术、双向A算法、A星算法、样本算法等,或其任意组合。在一些实施例中,服务器520可以分析一个或以上导航路线中的每一个导航线路以获取位于导航路线上的结点的数量。对于每个结点,服务器520可以获取所需的各种数据以生成与结点相关的道路地图,例如,转移矩阵、连接到结点的至少两个路段等。在处理之后,服务器520可以生成统一资源定位符(URL)到客户端510中。当满足条件时(例如,当导航终端120的当前位置是在结点预定距离时),客户端510可以基于URL向服务器520发送请求(例如,超文本传输协议(HTTP)请求)。预定距离可以是1至100米,例如10米、20米、30米、40米、50米、60米、70米、80米或90米。在一些实施例中,该请求可以是道路地图生成请求。然后,服务器520可以通过执行本申请中其他地方描述的操作,例如图6-11及其描述,基于各种数据,生成道路地图。可以将道路地图发送到客户端510以呈现给客户端510的用户。
图6是根据本申请的一些实施例所示的用于生成道路地图的示例性过程和/或方法600的流程图。在一些实施例中,过程和/或方法600中的一个或以上步骤可以在图1所示的系统100中实现。例如,过程和/或方法600中的一个或以上步骤可以作为指令的形式存储在存储设备130和/或存储器(例如,ROM 230、RAM 240)中,并且可以由服务器110(例如,服务器110中的处理引擎112,或服务器110中的处理引擎112的处理器220)调用和/或执行。
在610中,处理器220(例如,信息获取模块410)可以为导航终端120获取导航路线和导航终端120的当前位置。
在一些实施例中,导航终端120可以包括用户(例如,司机)和使用的终端(例如,智能电话的无线终端)。导航路线可以包括一个或以上导航选项,导航终端120的用户可以通过该导航选项到达期望的位置(例如,用户的行程目的地)。在一些实施例中,当用户不熟悉交通状况时,导航路线可以帮助用户完成行程。在一些实施例中,导航路线可包括行进方向。例如,导航终端120可以基于导航路线提醒导航终端120的用户沿着特定方向行进。
当前位置可以包括导航终端120的定位位置。在一些实施例中,导航终端120可以用应用程序实现,该应用程序可以通过与定位系统通信来获取导航终端120的位置。导航终端120可以通过网络140将导航终端120的当前位置发送到处理器220。定位技术可以包括全球定位系统(GPS)技术、北斗导航系统技术、全球导航卫星系统(GLONASS)技术、伽利略定位系统(Galileo)技术、准天顶卫星系统(QAZZ)技术、基站定位技术、Wi-Fi定位技术等,或其任意组合。
在620中,处理器220(例如,信息获取模块410)可以基于导航路线和导航终端120的当前位置,获取与导航终端120的当前位置相关的路网数据。
在一些实施例中,处理器220(例如,信息获取模块410)可以获取包括导航终端120的当前位置和导航路线的全部或部分路网的路网数据。正如这里所使用的,术语“路网”指的是一块区域以及其中一个或以上连接或未连接的道路。在一些实施例中,路网可具有任意尺寸。例如,路网可以是尺寸为500米×500米的方形路网、尺寸为300米×400米的矩形路网、或者是直径为500米的圆形路网等。可以根据应用场景改变路网的大小,并且不旨在限制本申请的范围。在一些实施例中,处理器220(例如,信息获取模块410)可以指定导航终端120的当前位置或最接近导航终端120的当前位置的结点作为中心以获取任意大小的路网的路网数据。
在一些实施例中,路网数据可包括至少两个链路和至少两个结点。所述至少两个结点中的每一个结点可以连接到一个或以上链路。结点可以表示路网中的道路的连接或联合的点。例如,结点可以指代交叉点。链路可以指连接路网中的不同结点的互连线路。一个或以上链路可以包括至少一种类型,例如前链路、后链路。在一些实施例中,结点可以仅与一种类型的链路相关。例如,结点可以仅与一个或以上前链路相关。又例如,结点可以仅与一个或以上的后链路相关。在一些实施例中,结点可以与两个或以上类型的链路相关。例如,结点不仅可以与一个或以上前链路相关,而且可以与一个或以上后链路相关。
前链路和/或后链路可以是连接到结点的链路的属性。对于特定结点,前链路可以指沿着参考方向从一个结点到特定结点的链路,后链路可以指沿着参考方向从特定结点到另一个结点的链路。对于特定链路,特定链路可以是一个结点的前链路,同时,它也可以是另一个结点的后链路。可以基于与导航路线相关的行进方向,确定属性。例如,图11是根据本申请的一些实施例所示的示例性路网数据。
如图11所示,导航路线可包括链路L1、L2、L3和L4。导航路线的行进方向可以是从L1到L2到L3到L4。在一些实施例中,行进方向可以被指定为参考方向。结点1120可以是路网的中心。基本上沿着与导航路线相关的行进方向搜索,结点1130可以通过链路L3,从结点1120获取,并且结点1150可以通过链路L7,从结点1120获取。链路L3可以是结点1120的后链路,并且可以是结点1130的前链路。链路L7可以是结点1120的后链路,并且可以是结点1150的前链路。类似地,链路L4可以是结点1130的后链路,并且可以是另一结点(图11中未示出)的前链路,链路L8可以是结点1150的后链路,并且可以是另一个结点(图11中未示出)的前链路。基本上沿着与导航路线相关的反向行进方向搜索,结点1110可以通过链路L2从结点1120获取。链路L2可以是结点1120的前链路,并且可以是结点1110的后链路。类似地,链路L1和L6可以是结点1110的前链路。链路L1可以是另一结点(图11中未示出)的后链路。链路L6可以是结点1140的后链路。链路L5可以是结点1140的前链路,并且可以是另一结点(图11中未示出)的后链路。
在630中,处理器220(例如,等级确定模块420)可以确定至少两个结点中的每一个结点的等级。
结点的等级可以反映结点可以影响用户的程度。具有不同等级的结点可以表示对用户具有不同程度影响的结点。如果结点对于用户做出与结点有关的决定是重要的(例如,向右转、向左转、直行),则可以向用户全面呈现与结点相关的更详细信息(例如,连接到结点的链路)。等级可以以任何格式呈现。在一些实施例中,等级可以以数字表示,例如,0、1、2、3。出于说明目的,结点对于用户来说越重要,结点的等级越高。如果与等级1的结点相比,具有等级0的结点对于用户而言可能更重要,则等级0高于等级1,反之亦然。相交于等级1的结点,处理器220可以确定与具有等级0的结点相关的更详细信息,。例如,可以向用户呈现直接连接到具有等级0的结点的所有链路,并且可以仅向用户呈现直接连接到具有等级1的结点的链路的一部分。在一些实施例中,等级可以以字符格式呈现,例如,A、B、C、D。如果与具有等级B的结点相比,具有等级A的结点对于用户可能更重要,则等级A高于等级B,反之亦然。
在一些实施例中,处理器220(例如,等级确定模块420)可以首先确定导航路线上的结点的等级。在一些实施例中,处理器220可以首先指定参考结点,然后处理器可以基于沿着结点和参考结点之间的路线的距离,确定在导航路线上的结点的等级。在导航路线上的所有结点的等级已经确定之后,处理器220(例如,等级确定模块420)可以基于在导航路线上的结点的等级和与至少两个结点有关的拓扑关系,确定不在导航路线上的结点的等级。对至少两个结点中的每一个结点的等级的确定,可以在本申请的图7和图11以及其描述中找到。
在640中,处理器220(例如,目标链路确定模块430)可以基于结点的等级为每个结点确定至少一种类型的链路的一个或以上目标链路。
在一些实施例中,可以应用不同的策略来确定针对不同结点等级的目标链路。在一些实施例中,对于高级结点,处理器220(例如,目标链路确定模块430)可以将连接到结点的所有链路确定为目标链路。在一些实施例中,对于低级结点,处理器220(例如,目标链路确定模块430)可以基于连接到结点的链路的数量和/或确定连接到结点的链路得分来确定结点的一个或以上目标链路。目标链路的确定可以在本申请中图9中以及其描述中找到。
在650中,处理器220(例如,道路地图生成模块440)可以基于目标链路生成道路地图。
道路地图可用于满足用户的导航需求(例如,帮助用户沿着导航路线驾驶他或她的车辆)。道路地图可以是二维图像、三维图像等。道路地图可以包括与至少两个结点相对应的至少两个交叉点,以及与目标链路相对应的至少两个路段。在一些实施例中,道路地图还可以包括导航终端120的标识位置,其可以对应于导航终端120的当前位置。在一些实施例中,处理器220(例如,道路地图生成模块440)可以首先确定与导航路线的当前位置相关的转移矩阵。例如,转移矩阵可包括平移矩阵、缩放矩阵、旋转矩阵、对称矩阵等,或其任意组合。然后,处理器220(例如,道路地图生成模块440)可以基于转移矩阵和目标链路,生成道路地图。道路地图的生成可以在本申请中的图10以及其描述中找到。
应该注意,过程600的全部或部分可以实时重复执行。例如,处理器220可以获取导航终端120的当前位置,并且在规则的时间间隔(例如,5秒、10秒、15秒)或在不规则的时间间隔执行过程600的后续操作。每个结点的结点等级和目标链路可能随时间而变化。图13A和13B示出了根据本申请的一些实施例所示的示例性路网。如图13A所示,结点1310可以被指定为参考结点,结点1320和1330的等级可以分别基于参考结点1310和结点1320/1330之间的距离来确定。在一定的时间间隔之后,如图13B所示,结点1350(结点1350可以表示与结点1320相同的交叉点)可以被指定为参考结点并且结点1340(结点1340可以表示与结点1310相同的交叉点)和结点1360(结点1360可以表示与结点1330相同的交叉点)的等级可以分别基于参考结点1350和结点1340/1360之间的距离来确定。可以基于新的距离重新确定结点的等级。在一些实施例中,基于结点的等级确定的结点的目标链路也可以改变。如图13A和13B所示,由实线表示的链路可以被确定为结点的目标链路。同一结点的目标链路在不同的时间段可以是不同的,并且基于目标链路生成的道路地图可以相应地改变。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的指导可以做出多种变化和修改。然而,这些变化和修改不会背离本申请的范围。例如,可以在示例性过程/方法600的其他地方添加一个或以上其他可选步骤(例如,存储步骤、预处理步骤)。又例如,示例性过程/方法600中的所有步骤可以在包括一组指令的计算机可读介质中实现。所述指令可以以电流或电信号的形式传输。
图7是根据本申请的一些实施例所示的用于确定结点等级的示例性过程和/或方法700的流程图。在一些实施例中,过程和/或方法700可用于确定过程和/或方法600的至少两个结点在步骤630中的每一个结点的等级。在一些实施例中,过程和/或方法700中的一个或以上步骤可以在图1所示的系统100中实现。例如,过程和/或方法700中的一个或以上步骤可以作为指令的形式存储在存储设备130和/或存储器(例如,ROM 230、RAM 240)中,并且由服务器110(例如,服务器110中的处理引擎112或服务器110中的处理引擎112的处理器220)调用和/或执行。
在710中,处理器220(例如,等级确定模块420)可以从与路网数据相关的至少两个结点中获取在导航路线上的结点。在一些实施例中,导航路线上的结点可以指代连接导航路线的链路的结点。例如,如图11所示,导航路线上的结点可以包括结点1110、1120和1130。
在720中,处理器220(例如,等级确定模块420)可以将来自导航路线上的结点指定为参考结点。
在一些实施例中,处理器220可以将靠近导航终端120的当前位置的结点指定为参考结点。如图11所示,数字1160表示导航终端1120的当前位置,结点1120是接近导航终端120的当前位置的结点。处理器220可以将结点1120指定为参考结点。在一些实施例中,处理器220可基于其到导航终端120的距离以及导航终端120移动的方向,将结点指定为参考结点。例如,在某些实施例中,只有行程中导航终端120未通过的最近的结点将被指定为参考结点。
在730,处理器220中,(例如,等级确定模块420)可以确定结点和参考结点之间的距离是否大于导航路线上的每个结点的第一阈值。
在一些实施例中,所述距离可以包括在对应于所述结点的交叉点与对应于参考结点的交叉点之间沿着导航路线的现实世界中的实际距离。处理器220可以与定位系统通信以直接获取由定位系统确定的距离,或者处理器220可以通过网络140访问存储在存储设备130、ROM 230中和/或RAM 240中的路网的长度信息来获取距离。。第一阈值可以是存储在系统中的预设距离值,例如50米,或者可以是根据不同应用场景确定的距离值。如果结点和参考结点之间的距离小于或等于第一阈值,则过程700可以进行到步骤740。如果结点和参考结点之间的距离大于第一阈值,则过程700可以进行到步骤750。在一些实施例中,该距离可以包括沿着导航路线的时空距离,其不仅考虑沿着导航路线的真实世界距离,而且还考虑行进该距离所需的估计时间。真实世界距离的权值和估计的行程时间的权值可以由系统预先确定,或者根据用户偏好而变化。
在740中,处理器220(例如,等级确定模块420)可以将结点的等级确定为第一值。结点的等级可以反映结点可以影响用户的程度。具有不同等级的结点可以表示对用户具有不同程度影响的结点。如果结点对于用户做出与结点有关的决定是重要的(例如,向右转、向左转、直行),则可以向用户全面呈现与结点相关的更详细信息(例如,连接到结点的链路)。第一值可以指结点影响用户的最高程度。可以向用户呈现与结点相关的所有信息(例如,连接到结点的所有链路)。在一些实施例中,第一值可以以数字形式呈现,例如,0。在一些实施例中,第一值可以以字符形式呈现,例如,A。应当注意第一值可以是任何形式,并且不受上述描述的限制。
在750中,处理器220(例如,等级确定模块420)可以将结点的等级确定为第二值。在一些实施例中,第二值可以指代与第一值相比,结点影响用户的较低程度。在一些实施例中,第二值可以与第一值具有相同的形式。例如,如果第一值为0,则第二值可以是排在0后面的数字,例如1、2等。又例如,如果第一值是A,则第二值可以是排在A后面的字母,例如B、C或其他字母。出于说明的目的,本申请中其他地方描述的结点的等级可以是数字形式。
在760中,处理器220(例如,等级确定模块420)可以从至少两个结点中获取不在导航路线上的结点。例如,如图11所示,不在导航路线上的结点可以包括结点1140和1150。在确定在导航路线上的结点的等级之后,处理器220可以接着确定不在导航路线上的结点的等级。
在770中,处理器220(例如,等级确定模块420)可以基于在导航路线上的结点的等级和与所述至少两个结点相关的拓扑关系,确定不在导航路线上的结点的等级。
与所述至少两个结点相关的拓扑关系可以指代与搜索算法相关的至少两个结点的结构。处理器220(例如,等级确定模块420)可以基于被指定为搜索起始点的结点的等级,确定结点的等级。例如,如图11所示,处理器220可以基本上沿着与导航路线相关的行进方向从参考结点1120进行搜索,并且处理器220可以通过链路L3获取不在导航路线上的结点1150。可以基于参考结点1120的等级,确定结点1150的等级。然后,结点1150可以被指定为新的起始点以继续搜索。基本上沿着行进方向,可以通过链路L8,从结点1150获取另一结点(图11中未示出)。处理器220可以基于结点1150的等级,确定另一结点的等级。类似地,基本上沿着与导航路线相关的反向行进方向,可以从结点1110通过链路L6获取结点1140,并且可以从结点1140通过链路L6获取另一结点(图11中未示出)。处理器220可以基于结点1110的等级,确定结点1140的等级。处理器220可以基于结点1140的等级,确定另一结点的等级。搜索算法可以包括深度优先搜索算法、广度优先搜索算法、双向广度优先搜索算法、A星算法、枚举算法、回溯算法、蒙特卡罗树搜索算法、哈希功能等,或其任意组合。在一些实施例中,如果一个结点的等级是i(例如,0、1、2、3),另一结点不在导航路线上且可以基于搜索算法直接从所述结点获取,则其他结点的等级可以被确定为i+1。例如,如果结点A的等级为1,结点B不在导航路线上,并且可以基于搜索算法直接从结点A获取,结点C不在导航路线上,并且可以基于搜索算法从结点B获取,则结点B的等级可以指定为2,结点C的等级可以指定为3。仅作为示例提供,此处较大的数字表示较低的等级。
在一些实施例中,由内部链路、环岛链路或短链路连接的至少两个结点中的两个结点等级是相同的。在一些实施例中,内部链路可以指代连接到表示交叉点的至少两个结点的链路。在一些实施例中,一个链路可以表示一个道路或一个道路段。道路的交叉点可以由一个结点表示。如果沿着道路的长度存在障碍物并且障碍物将道路分成两部分,每个部分仅允许车辆或行人沿特定方向行进,则道路可以由两个链路表示,并且每个链路可以表示道路的一部分。这种道路与其他道路交叉可以生成多于一个结点,并且交叉点可以由多于一个结点表示。参考图12A,图12A示出了根据本申请的一些实施例所示的示例性内部链路。如图12A所示,交叉点可以由四个结点1210-1、1210-2、1210-3和1210-4表示。在一些实施例中,连接四个结点中的任何两个结点的链路可以被称为内部链路,并且这四个结点的等级可以被指定为相同的等级。在一些实施例中,具有内部链路的结点可以确保路网的完整性。在一些实施例中,环岛链路可以指连接到对应于环形结点的入口和/或出口的两个结点的链路。参考图12B,图12B示出了根据本申请的一些实施例的示例性环岛链路。如图12B所示,环形结点已经被对应于入口和/或出口的结点分成四个链路,例如结点1220-1、1220-2、1220-3和1220-4。这四个链路可以被称为环岛链路。在一些实施例中,这四个结点的等级可以被指定为相同的等级。在一些实施例中,短链路可以指对应于长度小于阈值长度的路段的链路。阈值长度可以是存储在系统中的预设长度值,例如,5米、10米,或者可以是根据不同应用场景确定的长度值。如果路段的长度小于阈值长度,则对应于路段的链路可以被称为短链路。参考图12C,图12C示出了根据本申请的一些实施例所示的示例性短链路。如图12C所示,如果对应于连接到结点1230-1和结点1230-2的链路的路段小于阈值长度,则该链路可以被称为短链路。
应该注意的是,上述仅出于说明性目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。又例如,一个或以上其他可选步骤(例如,存储步骤、预处理步骤)可以在示例性过程/方法700的其他地方添加。作为又一示例,示例性过程/方法700中的所有步骤可以在包括一组指令的计算机可读介质中实现。所述指令可以以电流或电信号的形式传输。
图8是根据本申请的一些实施例所示的用于确定多个结点中的每一个结点的一个或以上目标链路的示例性过程和/或方法800的流程图。在一些实施例中,过程和/或方法800中的一个或以上步骤可以在图1所示的系统100中实现。例如,过程和/或方法800中的一个或以上步骤可以作为指令的形式存储在存储设备130和/或存储器(例如,ROM 230、RAM240)中,并且由服务器110(例如,服务器110中的处理引擎112、或服务器110中的处理引擎112的处理器220)调用和/或执行。
在810中,处理器220(例如,目标链路确定模块430)可以获取结点的等级。处理器220(例如,目标链路确定模块430)可以从等级确定模块420获取结点的等级。
在820中,处理器220(例如,目标链路确定模块430)可以确定结点的等级是否是第一值(例如,等级0)。如果处理器220确定结点的等级是第一值,则过程800可以进行到步骤830。否则,如果处理器220确定结点的等级不是第一值,则过程和/或方法800可以进行到步骤840。
由于具有对应于第一值的等级的结点可能对用户具有最高程度的影响,因此在830,处理器220(例如,目标链路确定模块430)可以确定连接到等级为第一级值的结点的一个或以上的链路中的所有链路作为目标链路。
对于其等级不是第一值的结点,与具有第一值的等级的结点相比,它对于用户可以具有相对较低的影响程度。在840,处理器220(例如,目标链路确定模块430)可以基于连接到其等级不是第一值的结点的一个或以上链路,确定一个或以上目标链路。可以向用户呈现与结点相关的部分信息。在一些实施例中,处理器220(例如,目标链路确定模块430)可以确定连接到其等级不是第一值的结点的一个或以上链路中的每一个链路的得分,并基于连接到所述结点的链路的数量和/或连接到结点的链路的得分,确定所述结点的一个或以上目标链路。与其等级不是第一值的结点相关的目标链路的确定,可以在本申请中的图9中以及其描述中找到。
应该注意的是,上述仅出于说明性目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。又例如,一个或以上其他可选步骤(例如,存储步骤、预处理步骤)可以在示例性过程/方法800的其他地方添加。作为又一示例,示例性过程/方法800中的所有步骤可以在包括一组指令的计算机可读介质中实现。所述指令可以以电流或电信号的形式传输。
图9是根据本申请的一些实施例所示的用于确定其等级不是第一值的结点的目标链路的示例性过程和/或方法900的流程图。在一些实施例中,过程和/或方法900可用于确定过程和/或方法800的步骤840的目标链路。在一些实施例中,过程和/或方法900中的一个或以上步骤可以在图1所示的系统100中实现。例如,过程和/或方法900中的一个或以上步骤可以作为指令的形式存储在存储设备130和/或存储器(例如,ROM 230、RAM 240)中,并且由服务器110(例如,服务器110中的处理引擎112、或服务器110中的处理引擎112的处理器220)调用和/或执行。
在910中,处理器220(例如,目标链路确定模块430)可以获取结点的至少一种类型的链路。在一些实施例中,链路的类型可以包括前链路和后链路。处理器220(例如,目标链路确定模块430)可以从信息获取模块410获取结点的至少一种类型的链路。
在920中,处理器220(例如,目标链路确定模块430)可以确定是否仅存在一个具有该类型的链路。对于每种类型,如果只有一个该类型的链路连接到其等级不是第一值的结点,则该过程和/或方法900可以进行到步骤930。在930中,处理器220(例如,目标链路确定模块430)可以将这个链路指定为该类型的目标链路。例如,如果结点的等级不是第一值(例如,结点的等级是等级1),并且只有一个前链路连接到该结点,则处理器220可以将该前链路指定为该类型的目标链路(在此也称为“目标前链路”)。否则,如果存在多于一个的该类型的链路连接到其等级不是第一值的结点,则该过程和/或方法900可以进行到步骤940。
在940中,处理器220(例如,目标链路确定模块430)可以确定连接到该结点的每种类型的链路的得分。例如,如果结点的等级不是第一值(例如,结点的等级是等级1)并且存在连接到该结点的多于一个的前链路(例如,三个前链路),则处理器220可以确定这三个前链路中的每一个链路的得分,并且基于三个前链路的得分来确定目标前链路。
在一些实施例中,得分可以是对链路的评估值。得分越高,对应于该得分的链路被确定为目标链路的概率越高。在一些实施例中,处理器220可以基于链路和参考链路之间的关系来确定该链路的得分。参考链路可以指已被确定为与一结点相关的目标链路的链路。为了确定其等级不是第一值的结点的目标后链路,处理器220可以将已被确定为该结点的目标链路(目标前链路)的前链路确定为参考链路。在一些实施例中,处理器220可基于与一链路对应的道路或道路段的内部属性(例如,道路的名称、道路的等级、道路的宽度)和/或所述链路和参考链路之间的角度来确定链路的得分。例如,参见图11,对于结点1150,有两个后链路L8和L9,有一个前链路L7,结点1120的等级是第一值,结点1150的等级不是第一值,处理器220将链路L3和L7确定为与结点1120相关的目标后链路。因此,为了确定链路L8或L9的得分,处理器220可以将链路L7确定为参考链路。
确定结点的前链路的得分类似于确定结点的后链路的得分。出于说明的目的,以确定结点的后链路的得分为例。在一些实施例中,处理器220可以根据等式(1)确定连接到结点的后链路的得分:
P=100+n×l×levelWeight+w×widthWeight-|angle1|-|angle2|,
(1)
其中,n表示可以是0或1的一个值。如果与后链路相对应的路段的名称与对应于参考链路的参考路段的名称相同,则可以将n确定为1;否则,n可以被确定为0。l表示可以是0或1的值。如果与后链路相对应的路段的等级与对应于参考链路的参考路段的等级相同,则可以将l确定为1;否则,l可以被确定为0。路段的等级可以是路段的内部属性,例如但不限于高速公路、城市高速公路、国道、省道、县道、乡镇道路、九级道路、渡口、行人道路、等或其任意组合。levelWeight表示道路名称与等级的加权值。w表示可以是0或1的一个值。如果对应于后链路的路段的宽度与对应于参考路段的宽度相同,则w可以将确定为1;否则,w可以被确定为0。widthWeight表示对应于后链路的路段宽度的加权值。angle1表示后链路和参考链路之间的几何角度值。angle2表示从连接到后链路和参考链路的结点向后延伸一定距离(例如,10、20、50或100米)之后的后链路和参考链路之间的几何角度值。
在一些实施例中,levelWeight和/或widthWeight的值可以是0到100之间的值。levelWeight和widthWeight的总和可以是100。处理器220可以基于对应于后链路和对应于参考链路的参考道路段的道路或道路段的名称、等级和/或宽度来分配levelWeight和widthWeight的值。例如,如果对应于链路的路段,以及对应于参考链路的参考路段的名称、等级和宽度分别相同,则可以将levelWeight和widthWeight的值分别分配为50和50。又例如,如果与链路相对应的路段的名称或等级与对应于参考链路的参考路段的名称或等级不同,并且与该链路对应的路段的宽度与对应于参考链路的参考道路段的宽度相同,则levelWeight和widthWeight的值可以分别指定为20和80。作为又一示例,如果对应于该链路的路段的名称和等级分别与对应于参考链路的参考路段的名称和等级相同,并且对应于该路段的宽度与对应于参考链路的参考道路段的宽度不同,则levelWeight和widthWeight的值可以分别指定为30和70。应当注意levelWeight和widthWeight的值可以根据系统的不同情况进行调整,类似的修改也属于本申请的范围。
在950中,处理器220(例如,目标链路确定模块430)可以确定来自940的得分的最高得分是否大于第二阈值。在一些实施例中,处理器220可以按降序或升序对得分进行排序,并基于排序结果来确定最高得分。第二阈值可以是存储在系统中的预设得分值,例如50,或者可以根据不同的应用场景确定。在一些实施例中,如果最高得分大于第二阈值,则过程和/或方法900可以进行到步骤960。如果最高分不大于第二阈值,则处理器220可以不为该结点确定该类型的目标链路,或者过程和/或方法900可以进行到步骤970。
在960中,处理器220(例如,目标链路确定模块430)可以将对应于最高得分的链路指定为目标链路。在一些实施方案中,可以存在一个或以上最高得分的链路。处理器220可以指定所述一个或以上链路的全部或部分链路作为目标链路。
在一些实施例中,如果最高分不大于第二阈值,则可能意味着参考链路与结点的前链路或后链路中的任何一个之间存在很大的差异(例如,大角度)。处理器220可以不基于得分来确定结点的目标链路。在一些实施例中,为了使呈现给用户的道路地图完整和/或美观,在970中,处理器220(例如,目标链路确定模块430)可以生成具有大于第二阈值的得分的模拟链路。
在一些实施例中,模拟链路可以对应于具有确保模拟链路的得分大于第二阈值的属性的道路段(这里也称为模拟路段)。对应于模拟链路的模拟路段实际上可能不存在于现实世界中。处理器220可以构建与模拟链路相对应的模拟路段,其具有与参考链路相对应的参考路段的相同名称、等级和/或宽度。对应于模拟链路的模拟路段可以位于与参考链路对应的参考路段的同一直线上。在一些实施例中,处理器220可以沿结点的参考链路的方向生成模拟链路,并且可以任意调整与模拟链路相对应的模拟路段的属性,以确保根据等式(1)确定的得分大于第二阈值。
在980中,处理器220(例如,目标链路确定模块430)可以将模拟链路指定为目标链路。
应该注意的是,上述仅出于说明性目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的指导可以做出多种变化和修改。然而,这些变化和修改不会背离本申请的范围。又例如,一个或以上其他可选步骤(例如,存储步骤、预处理步骤)可以在示例性过程/方法900的其他地方添加。作为又一示例,示例性过程/方法900中的所有步骤可以在包括一组指令的计算机可读介质中实现。所述指令可以以电流或电信号的形式传输。
图10A是根据一些实施例的示例性道路地图生成模块440的框图。道路地图生成模块440可以包括转移矩阵确定单元1010、道路地图生成单元1020和标识位置确定单元1030。这些单元可以是道路地图生成模块440的全部或部分的硬件电路。这些单元也可以作为一个应用程序或一组由处理引擎读取和执行的指令实现。此外,这些单元可以是硬件电路和应用/指令的任意组合。例如,当处理引擎执行应用程序/一组指令时,单元可以是处理引擎112的一部分。
转移矩阵确定单元1010可以确定转移矩阵。在一些实施例中,转移矩阵可以与导航终端120的当前位置相关。在某些实施例中,转移矩阵确定单元1010可以通过地图匹配算法确定转移矩阵。地图匹配算法可以包括确定性地图匹配算法和/或非确定性地图匹配算法。确定性地图匹配算法可以包括投影匹配算法等。非确定性地图匹配算法可以包括概率统计算法、模糊逻辑算法、相关分析算法、基于D-S的证据推理算法等,或其任意组合。
道路地图生成单元1020可以生成道路地图。在一些实施例中,道路地图生成单元1020可以基于转移矩阵和结点的目标链路,生成道路地图。
标识位置确定单元1030可以在道路地图上确定导航终端120的标识位置。在一些实施例中,标识位置确定单元1030可以基于导航终端120的当前位置和转移矩阵,确定标识位置。在一些实施例中,标识位置确定单元1030可以在标识位置上设置导航终端120的标识。
图10B是根据本申请的一些实施例的用于生成道路地图的示例性过程和/或方法1000的流程图。在一些实施例中,过程和/或方法1000中的一个或以上步骤可以在图1所示的系统100中实现。例如,过程和/或方法1000中的一个或以上步骤可以作为指令的形式存储在存储设备130和/或存储器(例如,ROM 230、RAM 240)中,并且由服务器110(例如,服务器110中的处理引擎112、或服务器110中的处理引擎112的处理器220)调用和/或执行。
在1040中,处理器220(例如,道路地图生成模块440的转移矩阵确定单元1010)可以确定与导航终端的当前位置相关的转移矩阵。
在一些实施例中,转移矩阵可以是表示立体空间和图像坐标的映射关系的矩阵。转移矩阵可包括平移矩阵、缩放矩阵、旋转矩阵、对称矩阵等,或其任意组合。在一些实施例中,每一个结点可以与一个转移矩阵相关。转移矩阵可用于将对应于结点和相关对象(例如,与结点的目标链路相对应的目标路段)的交叉点转换至道路地图中。
在一些实施例中,转移矩阵可以预先存储在系统100的存储设备130中。处理器220可以通过网络140访问存储设备130来获取转移矩阵。在一些实施例中,可以基于与结点对应的交叉点的实际场景和地图匹配算法来确定转移矩阵。例如,地图匹配算法可以包括确定性地图匹配算法和/或非确定性地图匹配算法。确定性地图匹配算法可以包括投影匹配算法等。非确定性地图匹配算法可以包括概率统计算法、模糊逻辑算法、相关分析算法、基于D-S的证据推理算法等,或其任意组合。
在1050中,处理器220(例如,道路地图生成模块440的道路地图生成单元1020)可以基于所述转移矩阵和目标链路,生成道路地图。
道路地图可用于帮助用户沿着导航路线驾驶他或她的车辆。道路地图可以是二维图像、三维图像等。道路地图可包括对应于至少两个结点的至少两个交叉点,对应于目标链路的至少两个路段。在一些实施例中,处理器220可以获取与结点和相关对象(例如,与结点的目标链路相对应的目标路段)对应的交叉点的空间坐标,并且还可以确定与空间坐标相关的空间矩阵。在一些实施例中,空间矩阵的每个元素可以对应于路网中的点。然后处理器220可以基于空间矩阵和转移矩阵,确定道路地图。例如,处理器220可以将转移矩阵乘以空间矩阵以确定道路地图。参考图14,图14示出了根据本申请的一些实施例所示的示例性道路地图。如图14所示,道路地图1440可以包括结点1420、结点1430、结点1420的目标链路以及结点1430的目标链路(例如,链路L2')。因为链路L1'被确定为非目标链路,所以链路L1'可以不在道路地图1440中呈现。
在1060中,处理器220(例如,道路地图生成模块440的标识位置确定单元1030)可以基于导航终端120的当前位置和转移矩阵,确定导航终端120在道路地图上的标识位置。
在一些实施例中,标识位置可以用于精确地反映导航终端120在道路地图中的位置。处理器220可以通过将导航终端120的位置的空间坐标乘以转移矩阵来确定道路地图中的标识位置。在一些实施例中,导航终端120的标识位置可以实时改变。处理器220可以获取导航终端120的位置并且以规则的时间间隔更新该位置的空间坐标,例如,0.5秒、1秒、2秒、3秒、4秒或5秒。处理器220(例如,道路地图生成模块440的标识位置确定单元1030)可以在规则的时间间隔之后重新确定标识位置。在一些实施例中,可以在标识位置上设置导航终端120的标识。标识可以是任何格式,如图标、点、箭头等。如图14所示,标识1450可以设置在对应于导航终端1410的位置的标识位置以表示导航终端1410。
应该注意的是,上述仅出于说明性目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。例如,可以在过程1000中的其他地方添加一个或以上其他可选步骤(例如,存储步骤、预处理步骤)。又例如,过程1000中的所有步骤可以在包括一组指令的计算机可读介质中实现。所述指令可以以电流或电子信号的形式传输。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。这类修改、改进和修正在本申请中被建议,所以与所述类类的修改、改进、修正仍属于本申请示范实施例的实质和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、“和/或”、“一些实施例”,意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”、“一个实施例”或“一替代性实施例”,并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其进行的任何新的和有用的改良。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行,也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等,或任何合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
本申请各方面操作所需的计算机程序码可以用一种或多种程序语言的任意组合编写,包括面向对象的编程语言,如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB、NET、Python,或类似的常规程序编程语言,如“C”编程语言、Visual Basic、Fortran1703、Perl、COBOL 1702、PHP、ABAP,动态编程语言如Python、Ruby和Groovy或其它编程语言。该程序代码可以以完全在用户计算机上、部分在用户计算机上、作为独立的软件包、部分在用户计算机上部分在远程计算机上、完全在远程计算机上或在服务器上的方式运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网络(LAN)或广域网路(WAN)、或连接至外部计算机(例如通过因特网)、或在云计算环境中、或作为服务使用,如服务软件(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请的流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,这种披露方法并不意味着本申请主体所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
Claims (18)
1.一种远程导航设备,用于与导航终端通信,包括:
至少一个存储介质,包括用于生成道路地图的一组指令;
以及至少一个与所述存储介质通信的处理器,其中当执行所述一组指令时,所述至少一个处理器用于:
获取针对导航路线和所述导航终端的当前位置;
基于所述导航路线和所述导航终端的所述当前位置,获取与所述导航终端的所述当前位置相关的路网数据,其中,所述路网数据包括至少两个链路和至少两个结点,其中,所述至少两个结点中的每一个结点连接到一个或以上链路,所述一个或以上链路包括至少一种类型的链路;
确定所述至少两个结点中每一个结点的等级,其中包括:
从所述至少两个结点中获取所述导航路线上的结点;
从所述导航路线上的结点中指定一个结点作为参考结点;
对于所述导航路线上的所述结点中的每一个结点,基于所述结点和所述参考结点之间的距离确定所述结点的等级;
从所述至少两个结点中获取不在所述导航路线上的结点;以及
对于不在所述导航路线上的所述结点中的每一个结点,基于所述导航路线上结点的所述等级和与所述至少两个结点有关的拓扑关系,确定所述结点的等级;
对于所述至少两个结点中的每一个结点,根据所述结点的所述等级,确定连接到所述结点的所述至少一种类型的链路的一个或以上目标链路;以及
基于所述目标链路生成道路地图。
2.根据权利要求1所述的远程导航设备,其特征在于,对于所述导航路线上的所述结点中的每一个结点,为了基于所述结点和所述参考结点之间的距离确定所述结点的所述等级;所述至少一个处理器还用于:
确定所述结点与所述参考结点之间的所述距离是否大于第一阈值;
响应于确定所述结点与所述参考结点之间的所述距离小于或等于所述第一阈值,确定所述结点的所述等级为第一值;以及
响应于确定所述结点与所述参考结点之间的所述距离大于所述第一阈值,确定所述结点的所述等级为第二值。
3.根据权利要求1所述的远程导航设备,其特征在于,由内部链路、环岛链路或短链路连接的所述至少两个结点中的所述两个结点的等级是相同的。
4.根据权利要求1所述的远程导航设备,其特征在于,为了基于所述结点的所述等级确定连接到所述结点的一种类型的链路的所述一个或以上目标链路,所述至少一个处理器还用于:
确定所述结点的所述等级是否为第一值;以及
响应于确定所述结点的所述等级是所述第一值,确定连接到所述结点的所述类型的链路中的所有链路作为所述目标链路。
5.根据权利要求1所述的远程导航设备,其特征在于,为了基于所述结点的所述等级确定连接到所述结点的一种类型的链路的所述一个或以上目标链路,所述至少一个处理器还用于:
确定所述结点的所述等级是否为第一值;以及
响应于确定所述结点的所述等级不是所述第一值,
确定所述类型是否只有一个链路;
响应于确定所述类型只有一个链路,
指定所述链路为所述类型的所述目标链路;
响应于确定所述类型不止一个链路,
确定连接到所述结点的所述类型的链路中的每一个链路的得分;以及
基于与连接到所述结点的所述类型的链路相关的所述得分,确定目标链路。
6.根据权利要求5所述的远程导航设备,其特征在于,为了基于与所述类型的链路相关的所述得分确定所述目标链路,所述至少一个处理器还用于:
确定所述得分中的最高分是否大于第二阈值;以及
响应于确定所述最高分大于所述第二阈值,指定对应于所述最高分的链路作为所述目标链路。
7.根据权利要求6所述的远程导航设备,其特征在于,为了基于与所述类型的链路相关的所述得分来确定所述目标链路,所述至少一个处理器还用于:
响应于确定所述最高分小于或等于所述得分阈值,生成得分大于所述第二阈值的模拟链路;以及
将所述模拟链路指定为所述目标链路。
8.根据权利要求1所述的远程导航设备,其特征在于,为了基于所述目标链路生成所述道路地图,所述至少一个处理器还用于:
确定与所述导航终端的所述当前位置相关的转移矩阵;以及
基于所述转移矩阵和所述目标链路来生成所述道路地图。
9.根据权利要求1所述的远程导航设备,其特征在于,所述至少一个处理器还用于:
基于所述导航终端的所述位置和转移矩阵,确定所述导航终端在所述道路地图上的标识位置,其中,所述导航终端的标识设置在所述标识位置上。
10.一种在计算设备上实现生成道路地图的方法,所述计算设备具有至少一个处理器、至少一个存储介质和连接到网络的通信平台,所述方法包括:
获取针对导航终端的导航路线和所述导航终端的当前位置;
基于所述导航路线和所述导航终端的所述当前位置,获取与所述导航终端的所述当前位置相关的路网数据,其中,所述路网数据包括至少两个链路和至少两个结点,其中,所述至少两个结点中的每一个结点连接到一个或以上链路,所述一个或以上链路包括至少一种链路类型的链路;
确定所述至少两个结点中每一个结点的等级,其中包括:
从所述多个结点中获取在所述导航路线上的结点;
从所述导航路线上的所述结点中指定一个结点作为参考结点;
对于所述导航路线上的所述结点中的每一个结点,基于所述结点和所述参考结点之间的距离,确定所述结点的等级;
从所述至少两个结点中获取不在所述导航路线上的结点;以及
对于不在所述导航路线上的所述结点中的每一个结点,根据所述导航路线上的结点的所述等级和与所述至少两个结点有关的拓扑关系,确定所述结点的等级;
对于所述至少两个结点中的每一个结点,基于所述结点的所述等级,确定连接到所述结点的至少一种类型的链路的一个或以上目标链路;以及
基于所述目标链路,生成道路地图。
11.根据权利要求10所述的方法,其特征在于,对于在所述导航路线上的所述结点中的每一个结点,基于所述结点和所述参考结点之间的所述距离,确定所述结点的所述等级包括:
确定所述结点与所述参考结点之间的所述距离是否大于第一阈值;
响应于确定所述结点与所述参考结点之间的距离小于或等于所述第一阈值,确定所述结点的所述等级为第一值;以及
响应于确定所述结点与所述参考结点之间的所述距离大于所述第一阈值,确定所述结点的所述等级为第二值。
12.根据权利要求10所述的方法,其特征在于,基于所述结点的所述等级,确定连接到所述结点的一种类型的链路的所述一个或以上目标链路,包括:
确定所述结点的所述等级是否为第一值;以及
响应于确定所述结点的所述等级是所述第一值,确定连接到所述结点的所述类型的链路中的所有链路作为所述目标链路。
13.根据权利要求10所述的方法,其特征在于,基于所述结点的所述等级,确定连接到所述结点的一种类型的链路的一个或以上目标链路,包括:
确定所述结点的所述等级是否为第一值;以及
响应于确定所述结点的所述等级不是所述第一值,
确定所述类型是否只有一个链路;
响应于确定所述类型只有一个链路,
指定所述链路为所述类型的所述目标链路;
响应于确定所述类型不止一个链路,
确定连接到所述结点的每一个所述类型的链路中的每一个链路的得分;以及
基于与连接到所述结点的所述类型的链路相关的所述得分,确定目标链路。
14.根据权利要求13所述的方法,其特征在于,基于与所述类型的链路相关的所述得分,确定所述目标链路,包括:
确定所述得分中的最高分是否大于第二阈值;以及
响应于确定所述最高分大于所述第二阈值,指定对应于所述最高分的链路作为所述目标链路。
15.根据权利要求14所述的方法,其特征在于,基于与所述类型的链路相关的所述得分,确定所述目标链路,包括:
响应于确定所述最高分小于或等于所述得分阈值,生成得分大于所述第二阈值的模拟链路;以及
将所述模拟链路指定为所述目标链路。
16.根据权利要求10所述的方法,其特征在于,基于所述目标链路生成所述道路地图,包括:
确定与所述导航终端的所述当前位置相关的转移矩阵;以及
基于所述转移矩阵和所述目标链路,生成所述道路地图。
17.根据权利要求10所述的方法,其特征在于,所述方法还包括:
基于所述导航终端的所述位置和转移矩阵,确定所述导航终端在所述道路地图上的标识位置,其中,所述导航终端的标识设置在所述标识位置上。
18.一种非暂时性计算机可读介质,包括至少一组用于生成道路地图的指令,其中,当计算机设备的至少一个处理器执行所述指令时实现如权利要求10-17中任一项所述的方法,所述至少一组指令指示所述至少一个处理器:
获取针对所述导航终端的导航路线和所述导航终端的当前位置;
基于所述导航路线和所述导航终端的所述当前位置,获取与所述导航终端的所述当前位置相关的路网数据,其中,所述路网数据包括至少两个链路和至少两个结点,其中所述至少两个结点中的每一个结点连接到一个或以上链路,所述一个或以上链路包括至少一种类型的链路;
确定所述至少两个结点中的每一个结点等级,其中包括:
从所述多个结点中获取在所述导航路线上的结点;
从所述导航路线上的所述结点中指定一个结点作为参考结点;
对于所述导航路线上的所述结点中的每一个结点,基于所述结点和所述参考结点之间的距离,确定所述结点的等级;
从所述至少两个结点中获取不在所述导航路线上的结点;以及
对于不在所述导航路线上的所述结点中的每一个结点,根据所述导航路线上的结点的所述等级和与所述至少两个结点有关的拓扑关系,确定所述结点的等级;
对于所述至少两个结点中的每一个结点,基于所述结点的所述等级,确定连接到所述结点的所述至少一种类型的链路的所述一个或以上目标链路;以及
基于所述目标链路,生成道路地图。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/078832 WO2019173965A1 (en) | 2018-03-13 | 2018-03-13 | Systems and methods for generating road map |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111295569A CN111295569A (zh) | 2020-06-16 |
CN111295569B true CN111295569B (zh) | 2023-09-22 |
Family
ID=67907481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880070281.4A Active CN111295569B (zh) | 2018-03-13 | 2018-03-13 | 用于生成道路地图的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11967006B2 (zh) |
EP (1) | EP3765822A4 (zh) |
JP (1) | JP7035210B2 (zh) |
CN (1) | CN111295569B (zh) |
WO (1) | WO2019173965A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800156B (zh) * | 2021-01-06 | 2023-10-13 | 迪爱斯信息技术股份有限公司 | 一种基于路侧单元地图分幅方法、系统、设备和存储介质 |
CN113008260B (zh) * | 2021-03-26 | 2024-03-22 | 上海商汤临港智能科技有限公司 | 一种导航信息处理方法、装置、电子设备及存储介质 |
CN114091918A (zh) * | 2021-11-23 | 2022-02-25 | 南京尚网网络科技有限公司 | 调度方法和设备 |
CN114323058A (zh) * | 2021-12-30 | 2022-04-12 | 深圳一清创新科技有限公司 | 一种目标地图获取方法、装置、电子设备和可读存储介质 |
CN117128984A (zh) * | 2023-02-21 | 2023-11-28 | 荣耀终端有限公司 | 导航地图生成方法和装置 |
CN116718181B (zh) * | 2023-08-11 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 地图生成方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004333377A (ja) * | 2003-05-09 | 2004-11-25 | Nippon Telegr & Teleph Corp <Ntt> | 経路探索方法 |
EP1643214A2 (en) * | 2004-10-01 | 2006-04-05 | Bose Corporation | Mobile navigation system and method for displaying information of such a system |
CN101836083A (zh) * | 2007-10-26 | 2010-09-15 | 通腾科技股份有限公司 | 创建地图数据的方法 |
CN104077326A (zh) * | 2013-03-29 | 2014-10-01 | 北京图盟科技有限公司 | 一种道路数据的处理方法及装置 |
CN104583722A (zh) * | 2012-06-29 | 2015-04-29 | 通腾发展德国公司 | 用于路线搜索的设备及方法 |
CN105865466A (zh) * | 2016-03-29 | 2016-08-17 | 努比亚技术有限公司 | 一种智能导航系统和方法 |
JP2017009618A (ja) * | 2016-08-30 | 2017-01-12 | 株式会社ゼンリンデータコム | 経路案内装置、経路案内用表示方法及びプログラム |
CN107782323A (zh) * | 2017-10-12 | 2018-03-09 | 湖北工业大学 | 一种基于城市间最优路径的高等级导航路网的生成方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6885937B1 (en) * | 1998-12-10 | 2005-04-26 | Tele Atlas North America, Inc. | Shortcut generator |
JP4543637B2 (ja) | 2003-08-26 | 2010-09-15 | 三菱電機株式会社 | 地図情報処理装置 |
GB0407336D0 (en) | 2004-03-31 | 2004-05-05 | British Telecomm | Pathfinding system |
JP2007178126A (ja) * | 2005-12-26 | 2007-07-12 | Aisin Aw Co Ltd | 走行リンク特定システム |
JP5013738B2 (ja) * | 2006-04-25 | 2012-08-29 | アルパイン株式会社 | 地図データ作成装置 |
JP4869106B2 (ja) | 2007-02-28 | 2012-02-08 | アルパイン株式会社 | ナビゲーション装置およびその交差点拡大図表示方法並びに地図情報作成方法 |
KR100837345B1 (ko) | 2007-06-25 | 2008-06-12 | (주)엠앤소프트 | 차량단말기에서의 교차로 확대도 표출 방법 |
US9062982B2 (en) * | 2008-12-15 | 2015-06-23 | Blackberry Limited | Pre-loading waypoint data |
TW201231927A (en) | 2011-01-31 | 2012-08-01 | Tomtom Germany Gmbh & Co Kg | Graph based topological map matching |
CN102610111A (zh) | 2011-12-06 | 2012-07-25 | 北京捷易联科技有限公司 | 一种交通信息简图的生成、提供方法及装置 |
CN104075729B (zh) | 2013-03-29 | 2017-02-08 | 高德软件有限公司 | 一种电子地图显示的方法、装置和终端设备 |
CN103235848B (zh) | 2013-04-15 | 2016-03-30 | 中国科学院软件研究所 | 一种基于简化路网模型的轻量级路网匹配方法 |
US9146120B2 (en) * | 2013-05-07 | 2015-09-29 | Telenav Inc. | Navigation system with route classification mechanism and method of operation thereof |
DE102013222960A1 (de) * | 2013-11-12 | 2015-05-13 | Continental Automotive Gmbh | Navigationssystem und Verfahren zu seinem Betrieb |
CN105765346B (zh) | 2014-01-28 | 2019-09-10 | 爱信艾达株式会社 | 地图显示系统、方法以及记录介质 |
JP6174502B2 (ja) * | 2014-02-21 | 2017-08-02 | 株式会社ゼンリン | 経路探索装置、経路探索方法、コンピュータプログラム、および、データ構造 |
CN106767873B (zh) | 2016-12-30 | 2019-08-06 | 浙江大学 | 一种基于时空的地图匹配方法 |
-
2018
- 2018-03-13 EP EP18909466.7A patent/EP3765822A4/en active Pending
- 2018-03-13 JP JP2020548762A patent/JP7035210B2/ja active Active
- 2018-03-13 CN CN201880070281.4A patent/CN111295569B/zh active Active
- 2018-03-13 WO PCT/CN2018/078832 patent/WO2019173965A1/en unknown
-
2020
- 2020-08-20 US US16/998,037 patent/US11967006B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004333377A (ja) * | 2003-05-09 | 2004-11-25 | Nippon Telegr & Teleph Corp <Ntt> | 経路探索方法 |
EP1643214A2 (en) * | 2004-10-01 | 2006-04-05 | Bose Corporation | Mobile navigation system and method for displaying information of such a system |
CN101836083A (zh) * | 2007-10-26 | 2010-09-15 | 通腾科技股份有限公司 | 创建地图数据的方法 |
CN104583722A (zh) * | 2012-06-29 | 2015-04-29 | 通腾发展德国公司 | 用于路线搜索的设备及方法 |
CN104077326A (zh) * | 2013-03-29 | 2014-10-01 | 北京图盟科技有限公司 | 一种道路数据的处理方法及装置 |
CN105865466A (zh) * | 2016-03-29 | 2016-08-17 | 努比亚技术有限公司 | 一种智能导航系统和方法 |
JP2017009618A (ja) * | 2016-08-30 | 2017-01-12 | 株式会社ゼンリンデータコム | 経路案内装置、経路案内用表示方法及びプログラム |
CN107782323A (zh) * | 2017-10-12 | 2018-03-09 | 湖北工业大学 | 一种基于城市间最优路径的高等级导航路网的生成方法 |
Also Published As
Publication number | Publication date |
---|---|
US11967006B2 (en) | 2024-04-23 |
JP2021515894A (ja) | 2021-06-24 |
CN111295569A (zh) | 2020-06-16 |
US20200380742A1 (en) | 2020-12-03 |
WO2019173965A1 (en) | 2019-09-19 |
JP7035210B2 (ja) | 2022-03-14 |
EP3765822A4 (en) | 2021-10-27 |
EP3765822A1 (en) | 2021-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111295569B (zh) | 用于生成道路地图的系统和方法 | |
CN112868036B (zh) | 位置推荐的系统和方法 | |
CN109392307B (zh) | 路径规划方法和系统 | |
CN109074370B (zh) | 确定兴趣点的系统和方法 | |
CN111882977B (zh) | 一种高精度地图构建方法及系统 | |
US10839262B2 (en) | Machine learning a feature detector using synthetic training data | |
TWI675184B (zh) | 用於路線規劃的系統、方法及非暫時性電腦可讀取媒體 | |
US8589075B1 (en) | Method, system, and computer program product for visualizing trip progress | |
JP6503474B2 (ja) | 移動デバイスの経路を求めるシステム及び方法 | |
JP2018084573A (ja) | 頑健で効率的な車両測位用のアルゴリズム及びインフラ | |
JP2017204261A (ja) | 自律走行車において拡張仮想現実コンテンツを提供するシステム及び方法 | |
EP2808832A1 (en) | Iterative public transit scoring | |
CN112154473A (zh) | 用于推荐上车点的系统和方法 | |
TWI725360B (zh) | 用於確定地圖上的新道路的系統和方法 | |
CN110686686A (zh) | 用于地图匹配的系统和方法 | |
CN110945557B (zh) | 用于确定到达的预估时间的系统和方法 | |
JP2021510882A (ja) | 対象がターゲットジオフェンスに属するか否かを決定するシステム及び方法 | |
JP2020529649A (ja) | ピックアップロケーションをネーミングするための方法およびシステム | |
US10900795B2 (en) | Method and system for identifying meeting points | |
CN112270427A (zh) | 一种推荐上车点的方法和系统 | |
CN111882112B (zh) | 一种预测到达时间的方法和系统 | |
CN111415024A (zh) | 一种到达时间预估方法以及预估装置 | |
CN111275807A (zh) | 一种3d道路建模的方法和系统 | |
US11989805B2 (en) | Dynamic geometry using virtual spline for making maps | |
CN115406462A (zh) | 一种导航与实景融合方法及装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |