CN111044056B - 基于道路匹配的定位方法、芯片子系统及电子设备 - Google Patents
基于道路匹配的定位方法、芯片子系统及电子设备 Download PDFInfo
- Publication number
- CN111044056B CN111044056B CN201811198358.4A CN201811198358A CN111044056B CN 111044056 B CN111044056 B CN 111044056B CN 201811198358 A CN201811198358 A CN 201811198358A CN 111044056 B CN111044056 B CN 111044056B
- Authority
- CN
- China
- Prior art keywords
- road
- point
- intersection
- positioning
- matching
- 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
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/123—Traffic control systems for road vehicles indicating the position of vehicles, e.g. scheduled vehicles; Managing passenger vehicles circulating according to a fixed timetable, e.g. buses, trains, trams
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
-
- 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/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- 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
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/48—Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/48—Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
- G01S19/49—Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an inertial position system, e.g. loosely-coupled
Abstract
本申请提供一种基于道路匹配的定位方法,该方法包括:接收到应用程序的定位请求后,获取当前位置坐标,并通过当前位置坐标在数据库中查找当前位置附近的路段(segment)的数据,根据路段的起点、终点坐标和路段各自的属性确定路段交叉点(crosspoint),获得路段交叉点的坐标,其中,路段交叉点表示路段形成的交叉路口或道路交汇处;再将定位点和路网拓扑进行道路匹配,获得纠偏后的定位点坐标,将纠偏后的定位点坐标发送给应用程序,呈现给用户。本申请可以在操作系统层面通过简化的路段的数据重构路网拓扑,通过道路匹配实现高精度定位服务,提高车载导航位置服务的用户体验。
Description
技术领域
本发明涉及通信技术,并且更具体的涉及一种定位方法、芯片子系统及电子设备。
背景技术
随着位置服务的大众化、普通化、日常化,基于终端设备的定位服务重要性越来越明显。终端设备的操作系统获取终端设备的硬件层组件接收的定位信号后,经过计算得到终端设备当前位置坐标。但是在城市高楼分布密集区域或者类似隧道场景中,定位信号可能被部分遮挡或者被完全遮挡,从而导致定位出现偏差,定位服务的性能较差:例如,当手机在高楼密集、稠密植被遮挡等场景下,定位信号易受多径、折射、反射信号影响导致定位精度较差,偏差大到50米以上;当手机在隧道场景完全无信号,容易出现当前实际位置还在隧道里面时定位结果却在隧道外很远的地点这样的过冲(overshoot)。因此,操作系统提供的定位结果在信号被遮挡或完全遮挡的场景下误差较大,进而导致应用程序基于操作系统提供的位置提供服务时,用户体验较差。
发明内容
本申请实施例提供了一种基于道路匹配的定位方法、芯片子系统及电子设备,可以在终端设备的操作系统层面通过精简的路段数据重构路网拓扑,进行定位点的道路匹配来对定位点纠偏,在信号被遮挡或完全遮挡的场景下提供位置服务时,操作系统可以提供高精度的定位结果,提供较好的用户体验。
为达到上述发明目的,第一方面,本申请实施例提供了一种基于道路匹配的定位方法,该方法包括:响应于应用程序的定位请求,获取定位点坐标;获取定位点坐标附近的路段的数据,其中,路段的数据包括路段的属性和起点、终点坐标,路段数据可以通过将常住地城市按区域划分,可以根据定位点坐标找到定位点所在区域,该区域的路段数据可以认为定位点附近的路段数据;常住地城市的路段数据可以预存储在终端设备的存储器中;根据定位点坐标附近的路段的起点、终点坐标确定路段相交;根据相交的路段各自的属性确定相交点为路段交叉点,获得路段交叉点的坐标,路段交叉点表示路段形成的交叉路口或道路交汇处,其中,路段的属性可以包括隧道属性、高架属性、交流道IC属性、系统交流道JCT属性、环岛属性、辅路属性和普通道路属性;通过路网拓扑与定位点进行道路匹配,获得纠偏后的定位点坐标,其中,路网拓扑包括路段和路段交叉点;将纠偏后的定位点坐标发送给应用程序。
本申请实施例提供的基于道路匹配的定位方法,可以在底层(例如操作系统层面)通过道路匹配来实现高精度定位,可以为上层的多个应用程序提供无差别化的高精度定位结果。现有技术中往往是基于定位精度较差的操作系统提供的定位结果,应用层来进行纠偏的后处理,纠偏时获取的路网数据量庞大,并不适用于操作系统,因为会受限于系统被分配的存储空间大小,并且在线向云端请求大量路网数据会导致定位服务延迟2-3秒。本申请实施例针对该问题,预存储精简的路网数据,获取数据量精简的路段的数据来重构路网拓扑,可以提高定位的精确度和速度。
在一种可能的实现方式中,从云端获取一个或多个城市的路段数据,云端存储全球的路段数据,一个或多个城市的路段数据包括城市每个区域内的路段数据,区域由城市按经纬度切分形成。预存储的路网数据可以仅为一个或多个城市的路段数据,当在新的城市进行定位时,可以向服务器请求更新存储的路网数据。
在一种可能的实现方式中,路段形成的交叉路口为相交的路段不首尾相连时的相交点,且相交的路段的属性同为普通道路,其中,首尾相连表示相交的路段中一条路段的起点与另一条路段的终点重合。
在一种可能的实现方式中,道路交汇处为相交的路段首尾相连时的相交点,且相交的路段的属性中包括隧道,或相交的路段的属性为高架道路、交流道、系统交流道和环岛中的至少两个;或相交的路段的属性为普通道路与交流道或普通道路与所述环岛。
在一种可能的实现方式中,该方法包括:识别定位点所处的道路场景,道路场景包括:交叉路口场景、平行路场景和隧道场景;根据道路场景设置道路场景对应的影响因子的权值;根据影响因子和影响因子的权值加权计算定位点附近的路段的匹配权值;从路段中选取匹配权值最大的路段为匹配路段,定位点在匹配路段的投影点为纠偏后的定位点。针对不同场景调整影响因子的权值,可以增强定位方法的普适性,增加定位的鲁棒性、准确性。
在一种可能的实现方式中,影响因子包括定位点到路段的距离、路段的方向与定位点的运动方向之间的角度差和历史定位轨迹与路段的形状匹配度,其中,历史定位轨迹为历史定位点形成的轨迹。
在一种可能的实现方式中,影响因子还包括道路等级或限速差值。
在一种可能的实现方式中,历史定位轨迹与路段的形状匹配度在交叉路口场景下的权值比在平行路场景下的权值大。
在一种可能的实现方式中,路段的方向与定位点的运动方向之间的角度差在交叉路口场景下的权值比在平行路场景下的权值大。
在一种可能的实现方式中,匹配路段为定位点附近的路段中与历史定位点的匹配路段通过路段交叉点连接的路段。
第二方面,本申请实施例提供了一种电子设备,电子设备包括:获取模块、查找模块、路段交叉点生成模块、道路匹配模块和发送模块,其中:获取模块,用于响应于应用程序的定位请求,获取定位点坐标;查找模块,用于获取定位点坐标附近的路段的数据,其中,路段的数据包括路段的属性和起点、终点坐标;路段交叉点生成模块用于,根据定位点坐标附近的路段的起点、终点坐标确定路段相交;根据相交的路段各自的属性确定相交点为路段交叉点,获得路段交叉点的坐标,其中路段交叉点表示所述路段形成的交叉路口或道路交汇处;道路匹配模块,用于通过路网拓扑与定位点进行道路匹配,获得纠偏后的定位点坐标,其中路网拓扑包括路段和路段交叉点;发送模块,用于将纠偏后的定位点坐标发送给应用程序。
在一种可能的实现方式中,查找模块还用于从云端获取一个或多个城市的路段数据,云端存储全球的路段数据,一个或多个城市的路段数据包括城市每个区域内的路段数据,区域由所述城市按经纬度切分形成。
在一种可能的实现方式中,路段形成的交叉路口为相交的路段不首尾相连时的相交点,且相交的路段的属性同为普通道路,首尾相连表示相交的路段中一条路段的起点与另一条路段的终点重合。
在一种可能的实现方式中,道路交汇处为所述相交的路段首尾相连时的相交点,且相交的路段的属性中包括隧道,或相交的路段的属性为高架道路、交流道、系统交流道和环岛中的至少两个;或相交的路段的属性为普通道路与交流道或普通道路与环岛。
在一种可能的实现方式中,道路匹配模块用于:识别定位点所处的道路场景,道路场景包括:交叉路口场景、平行路场景和隧道场景;根据道路场景设置道路场景对应的影响因子的权值;根据影响因子和影响因子的权值加权计算定位点附近的路段的匹配权值;从路段中选取匹配权值最大的路段为匹配路段,定位点在匹配路段的投影点为纠偏后的定位点。
在一种可能的实现方式中,影响因子包括定位点到路段的距离、路段的方向与定位点的运动方向之间的角度差和历史定位轨迹与路段的形状匹配度,其中,历史定位轨迹为历史定位点形成的轨迹。
在一种可能的实现方式中,影响因子还包括道路等级或限速差值。
在一种可能的实现方式中,历史定位轨迹与路段的形状匹配度在交叉路口场景下的权值比在平行路场景下的权值大。
在一种可能的实现方式中,路段的方向与定位点的运动方向之间的角度差在交叉路口场景下的权值比在平行路场景下的权值大。
在一种可能的实现方式中,匹配路段为定位点附近的路段中与历史定位点的匹配路段通过路段交叉点连接的路段。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储有计算机程序的计算机可读存储介质;处理器与计算机可读存储介质耦合,计算机程序被处理器执行时实现第一方面及第一方面的任一可能的实现方式中提供的基于道路匹配的定位方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面及第一方面的任一可能的实现方式中提供的基于道路匹配的定位方法。
第五方面,本申请实施例提供了一种芯片子系统(SOC),该芯片子系统包括应用处理器,以及用于接收定位信号的GPS模块,该应用处理器用于实现第一方面及第一方面的任一可能的实现方式中提供的基于道路匹配的定位方法。
第六方面,本申请实施例提供了一种电子设备,该电子设备包括前述第五方面提供的芯片子系统。
第七方面,本申请实施例提供了一种定位芯片,该定位芯片包括射频模块和处理器,该射频模块用于接收定位信号,该处理器用于实现第一方面及第一方面的任一可能的实现方式中提供的基于道路匹配的定位方法。
第八方面,本申请实施例提供了一种电子设备,该电子设备包括前述第七方面提供的定位芯片。
附图说明
图1为本发明实施例提供的通信系统的示意图;
图2为本发明实施例提供的电子设备示意图;
图3为本发明实施例提供的电子设备示意图;
图4为本发明实施例提供的流程示意图;
图5为本发明实施例提供的数据结构示意图;
图6为本发明实施例提供的流程示意图;
图7为本发明实施例提供的流程示意图;
图8a为本发明实施例提供的弯曲道路示意图;
图8b为本发明实施例提供的T型路口示意图;
图8c为本发明实施例提供的十字路口示意图;
图9为本发明实施例提供的隧道示意图;
图10为本发明实施例提供的IC、JCT示意图;
图11为本发明实施例提供的IC示意图;
图12为本发明实施例提供的环岛示意图;
图13a为本发明实施例提供的图10对应的路网拓扑示意图;
图13b为本发明实施例提供的图11对应的路网拓扑示意图;
图14为本发明实施例提供的流程示意图;
图15为本发明实施例提供的场景切换示意图;
图16为本发明实施例提供的平行路场景示意图;
图17为本发明实施例提供的路网拓扑示意图;
图18为本发明实施例提供的路网拓扑示意图;
图19为本发明实施例提供的数据更新示意图;
图20为本发明实施例提供的数据更新过程信息交互示意图;
图21为本发明实施例提供的定位装置示意图。
具体实施方式
下面就本申请提到的一些关键术语进行解释:
全球定位系统(GPS,Global Positioning System):GPS是由美国国防部研制建立的一种具有全方位、全天候、全时段、高精度的卫星导航系统,能为全球用户提供低成本、高精度的三维位置、速度和精确定时等导航信息,是卫星通信技术在导航领域的应用典范。
全球卫星定位系统(GNSS,Global Navigation Satellite System):含全球定位系统如美国GPS、中国北斗、欧盟的伽利略和俄罗斯的glonass卫星定位系统。
精简模型路网道路匹配(CMMRM,Compact-Model-Map-Road-Matching):本专利提出的基于路网道路匹配的定位算法。
基于位置的服务(LBS,Location Based Service):基于用户的位置,提供给用户与定位相关的各类信息业务。
路网拓扑:现实的行车网络抽象出的由路段(segment)和路段交叉点(crosspoint)组成的网络结构。
tile:将地图按照经纬度切分,切开的每一个规则区域称为tile,同时位于两个tile中的道路会被切分打断。
路段(segment):将现实世界中的道路抽象化后,用于代表道路的线段。其中,对于具有双向行驶方向的现实道路,可以抽象成一条segment或者多个segment首尾连接形成的一条曲线。
路段交叉点(crosspoint):用于表示路段形成的交叉路口或道路交汇处,交叉路口例如T型、十字、五叉等路口,道路交汇处例如进入、退出隧道处以及辅路与主路交汇处、IC道路或JCT道路与高速公路交汇处。
高架道路:一般是指高处地面6m以上的城市空间道路。一般与地面的普通道路,构成多层道路体系。
交流道IC(Inter Change):高速公路出入口,或者称为匝道;连接高速和其他道路(例如普通道路)之间的道路,是高速路的唯一出入口;高速内部道路是全封闭道路,只能通过IC连接到其他等级道路。
系统交流道JCT(Joint Change):高速公路连接口,高速与高速、高速与城市高速之间的连接道路。
图1为本申请适用的一种通信系统。需注意,图1的系统仅仅是一种可能系统的一个示例,并且根据需要可在各种系统中的任一种系统中实现公开的实施方案。
如图1所示,该系统包括电子设备10,还可以包括网络20、电子设备30和卫星60。
电子设备10可以从卫星60接收无线电信号,电子设备10可以多源融合定位,融合卫星定位信号、惯性导航信号、网络定位信号等多种定位信号进行定位。电子设备10和电子设备30可以通过网络20通信连接,其中网络20可以为无线局域网络或移动网络。电子设备10和30之间基于特定的通信协议建立通信连接,然后根据建立的连接,以数据包为单位传输数据。数据包在传输的过程中可能会经过网络20中的一个或多个网络设备,例如接入网设备、路由设备或接入点(AP,access point)。
电子设备10可以是终端设备,具体的,可以是移动式或便携式并执行无线通信的各种类型的计算机系统或设备中的任一个计算机系统或设备。例如可包括移动电话或智能电话(例如iPhoneTM、基于AndroidTM的电话)、车载终端设备、便携式游戏设备(例如,Nintendo DSTM、PlayStation PortableTM、Gameboy AdvanceTM、iPhoneTM)、膝上型电脑、个人数码助理(PDA,personal digital assistant)、便携式互联网设备、音乐播放器、数据存储设备、其他手持设备以及可穿戴设备诸如腕表、耳机、吊坠、听筒等。电子设备30可以为终端设备,或者服务器,具体的可以为云服务器,具体的可以为代理服务器或与代理服务器通信连接的另一服务器。在本发明提供的实施例中,电子设备30可以为一种提供全量路网数据的云服务器,电子设备10可以通过网络20从云服务器30请求部分路网数据。所属领域的技术人员可以理解一个通信系统通常可包括比图1中所示的部件更少或更多的部件,或者包括与图1中所示部件不同的部件,图1仅仅示出了与本申请实施例所公开的多个实现方式更加相关的部件。
电子设备10包括处理器101、存储器102、输入/输出接口103和通信接口105等部件。本领域技术人员可以理解,电子设备10可以包括比图示更多或更少的部件,或者组合某些部件。
这些部件可通过一根或多根总线106或信号线进行通信,总线可以分为地址总线、数据总线、控制总线等。
处理器101可以是中央处理器(CPU,central processing unit),网络处理器(NP,network processor)或者CPU和NP的组合。处理器201还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(ASIC,application-specific integrated circuit),可编程逻辑器件(PLD,programmable logic device)或其组合。上述PLD可以是复杂可编程逻辑器件(CPLD,complex programmable logic device),现场可编程逻辑门阵列(FPGA,field-programmable gate array,缩写:FPGA),通用阵列逻辑(GAL,generic array logic,缩写:GAL)或其任意组合。可选的,处理器101可包括一个或多个处理单元。
存储器102,用于存储计算机程序,诸如图1所示的应用程序205和操作系统206;处理器101可调用存储器102存储的计算机程序,从而实现该计算机程序定义的功能。例如处理器101执行操作系统206从而在电子设备10上实现操作系统的各种功能。操作系统206可以为或者其它操作系统,本申请实施例对此不作限制。
存储器102还存储有除计算机程序之外的其他数据,诸如操作系统206和应用程序205运行过程中产生的数据。存储器102可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(RAM,random-access memory);存储器202也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(flash memory),硬盘(HDD,hard diskdrive)或固态硬盘(SSD,solid-state drive);存储器102还可以包括上述种类的存储器的组合。图1中仅示出了一个存储器,当然,存储器102也可以根据需要,设置为多个存储设备。存储器102也可以是处理器101中的存储器,在此不做限制。
输入/输出接口103转发用户通过输入输出设备(例如感应器、键盘、触摸屏)输入的命令或数据。
显示设备104显示各种信息给用户。在本发明实施例中,将最终定位结果显示在定位应用的界面上。
通信接口105用于将电子设备10与其它电子设备连接,允许电子设备10在网络上进行通讯的硬件。例如,通信接口可以通过有线或无线连接到网络以连接到外部其它的终端或服务器。无线通信可以使用任一通信标准或协议,包括但不限于全球定位系统(GPS,Global Positioning System)、全球移动通讯系统(GSM,Global System of Mobilecommunication)、通用分组无线服务(GPRS,General Packet Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband CodeDivision Multiple Access)、长期演进(LTE,Long Term Evolution)、电子邮件、短消息服务(SMS,Short Messaging Service,)、Wi-Fi,蓝牙(BT,Bluetooth)和近场通讯(NFC,NearField Communication)等。在终端设备中,通信接口105可以具体为调制解调器或者天线或者wifi模块或者GPS模块。通信接口105上也可集成有处理器和存储器(包括RAM和只读存储器(ROM,Read-Only Memory)。
进一步地,在一个实施例中,如图2所示,电子设备10从逻辑上可划分为硬件层21、操作系统22以及应用层23。硬件层21包括如上所述的处理器101、存储器102、输入输出接口103和通信接口104等硬件资源。应用层23包括一个或多个应用程序,比如应用程序201。操作系统22作为硬件层21和应用层23之间的软件中间件,是管理和控制硬件与软件资源的计算机程序。
以Android操作系统为例,操作系统22可以包括应用框架层221、硬件抽象层222和内核223。内核223用于提供底层系统组件和服务,可以包括一些驱动程序206。硬件抽象层222可对内核驱动程序的封装,屏蔽了不同硬件设备的差异,为操作系统22提供统一的访问硬件设备的接口。
应用框架层221包括硬件抽象层222包括定位服务API 202(应用程序编程接口,Application Programming Interface)、GPS位置提供者API 203和位置管理API 204。其中,GPS位置提供者API 203可以为Android系统中标准的GPS location provider API,用于获得硬件抽象层22提供的融合定位结果(定位点坐标),该融合定位结果可以融合多个位置提供者(location provider)提供的位置信息,并将位置信息发送给各个类型的应用程序201;位置管理API 204可以为Android系统中标准的location manager service API,可以用于获取和调用定位服务;定位服务API 202为本申请实施例提供的基于道路匹配的定位方法中提供的API,用于对单个或多个城市数据进行一级缓存,缓存空间大小受限于操作系统对各个系统模块分配的存储空间大小,示例的,可能允许存储的最大文件不超过1Mbytes。另外,位置服务API 202可以为本申请实施例提供的定位方法中所需的路网数据的提供数据更新接口,用于向云服务器30发送路网数据更新请求,云服务器30存储有全球路网数据。
硬件抽象层22可以包括基于道路匹配的位置提供者205,还可包括GNSS位置提供者206、惯导位置提供者208和wifi/cell位置提供者207。基于道路匹配的位置提供者205用于执行本申请实施例提供的基于道路匹配的定位方法,可响应于应用程序201的定位请求,可以将GNSS位置提供者206、惯导位置提供者208和wifi/cell位置提供者207中一个或多个提供的定位点坐标作为原始定位点坐标输入,再将输出的定位结果与GNSS位置提供者206、惯导位置提供者208和wifi/cell位置提供者207提供的定位结果进行融合,融合定位结果(Fused fix solution)通过GPS位置提供者API发送给各个应用程序201。GNSS位置提供者206、惯导位置提供者208和wifi/cell位置提供者207可响应于应用程序201的定位请求,通过驱动程序209获得对应的硬件层设备提供的定位信号,并进行解算后获得的各自的定位结果。基于道路匹配的位置提供者205还可将通过本申请实施例提供的基于道路匹配的定位方法进行纠偏后的定位点坐标通过GPS位置提供者API 203发送给应用程序201。
应用程序201包括专用定位软件、各类电商购物应用、各类社交通讯应用软件、各类用车应用软件、O2O上门服务应用软件、展馆自助游应用、家人防走散应用软件、紧急救援服务软件、影音娱乐软件、游戏软件等需要定位位置信息的应用程序。
在一个实施例中,硬件抽象层222可以运行在电子设备20内独立的内核,独立于操作系统运行,目的是对电子设备20的功耗、内存的优化。
现有技术中,道路匹配往往是通过应用层上的应用程序执行,通过调用存储器中存储的路网数据或者调用云端服务器中存储的路网数据来进行路网匹配实现高精度定位。以终端中常用的具有定位服务的应用程序为例,导航定位APP(例如高德地图、百度地图APP)与生活信息类APP(例如大众点评、美团)需要定位服务时,都需要通过各自的API调用各自的路网数据,是对操作系统提供的位置信息进行后处理。各个应用程序之间对原始位置信息进行后处理的方法不同,定位结果也无法互相作为对方的参考,高德地图APP的提供的高精度定位结果不能应用在大众点评的定位服务中,定位精度存在应用程序之间的差异化。而本申请实施例提供的定位方法,可以实现在操作系统层级,不受限于上层应用程序,可为各种需要定位服务的应用程序都提供高精度定位。而操作系统层级中,系统各模块允许调用的数据量受限,在本申请实施例中提供的定位方法可以仅调用数量小的路段的数据,在线计算路段交叉点坐标,重构路网拓扑并实现道路匹配,实现定位精度和定位效率的提高。
在一个实施例中,电子设备20可以将定位模块205的功能卸载到通信接口104,如图3所示,通信接口104为可编程的通信接口,定位模块205实现在可编程的通信接口104中,例如实现在定位芯片中。相应地,本申请实施例提供的定位方法可以由通信接口104来实施,具体地,可以通过修改通信接口104的硬件或固件来实现该方法。可以是将计算机程序存储在可编程通信接口104上集成的存储器中,可编程通信接口104上集成的处理器执行该计算机程序来实现本申请提供的定位方法。还可以是通过可编程通信接口104中的逻辑电路实现本申请提供的定位方法。
下面将详细介绍本申请实施例提供的基于道路匹配的定位方法,该定位方法的流程图如图4所示,包括以下步骤:
101:响应于应用程序的定位请求,获取定位点坐标;
当用户需要定位服务时,应用程序发送定位请求,定位请求用于获取当前位置的地理坐标。响应于该定位请求,可以从硬件层获取硬件层组件采集的定位信号转换的原始定位点坐标。硬件层组件具体的可以为天线、GPS模块中的射频模块或惯导传感器。获取的定位点坐标可以是GNSS、wifi/cell、惯导传感器或其他定位方法提供的一个或多个定位结果融合后的坐标。具体的,可以是包括经度、纬度的地理坐标。例如终端中的射频,模块接收到卫星发射的GPS信号后,将GPS信号解算后生成定位点坐标。可选的,还可以获得定位点的运动方向或速度。
可选的,在执行下述步骤前,还可以包括步骤100:根据当前运动速度判断是否在中高速运行模式下,若在中高速运行模式下则可以继续执行下面的步骤;若不在中高速运行模式下,则可以退出本申请实施例提供的定位方法,选择其他定位方法。本申请实施例提供的定位方法可以适用于车辆驾驶场景中的定位服务,当运动速度达到预设阈值时,开启定位服务后则可以执行本申请实施例提供的定位方法,实现精确定位。
可选的,步骤101之后,还可以包括步骤101a:判断是否位于已存储城市路网数据的城市区域内,若不在该城市区域内,则向云服务器请求更新数据。用于定位服务的电子设备10的中存储有常住地城市的路网数据(路段的数据),当在该城市区域外需要定位服务时,则向云服务器请求更新数据,具体的,用户可以选择将当前所处城市的路网数据下载到本地存储。
可选的,步骤101之后还可包括步骤101b:是否进行场景切换,若需要进行场景切换则继续执行步骤102及后续步骤;若不需要进行场景切换,则执行步骤104,根据当前场景进行道路匹配,实现定位点纠偏。
102:获取定位点坐标附近的路段的数据,路段的数据包括路段的属性和路段的起点、终点坐标;
具体的可以从电子设备10中存储的路网数据库中通过定位点坐标查找定位点坐标附近的路网数据。路网数据库中存储有多条路段(segment)的数据,具体的,路段的数据包括路段的起点、终点的坐标、路段的角度、路段的长度和路段代表的道路的属性及行驶方向。道路的属性可以包括隧道道路、高架道路、普通道路、IC道路、JCT道路、辅路、主路等。道路行驶方向包括单向和双向。路段的角度是以路段的起点为原点,正北方向为X轴,顺时针方向X轴与路段的夹角为路段的角度。现有技术中进行道路匹配前获得的路网数据包括大量数据,例如道路link和道路node的数据,道路link的数据包括道路link的端点坐标、道路link的ID,道路link的各种属性,道路node的数据包括道路node所连接的道路link的ID和道路node的坐标,这是一个庞大的数据量,因此往往超过终端的容量限制。而本申请实施例中提到的路网数据库考虑了操作系统层级对存储的数据量的限制,提供了精简的数据结构,路网数据库中仅存储了路段的数据。
可选的,可以根据定位点坐标在路网数据库中查找该定位点坐标对应的区域(tile),该tile区域包括tile区域内的多条路段的数据,在定位点对应的tile区域内查找定位点附近的路段。任意一个定位点坐标在路网数据库中对应唯一一个tile。示例性的,路网数据库的数据结构可如图5所示,呈现出城市-tile-路段三层结构。路网数据可按照城市划分,每个城市的路网数据包括多个tile区域的数据,每个tile区域的数据包括由该tile的二维坐标(X,Y),还可以包括该tile区域覆盖范围内多个路段的数据。tile的二维坐标(X,Y)也是用于命名tile文件的用于区分tile的全球编号,可用tile区域的地理坐标范围计算得到。路段的数据用于表示道路本身的信息,包括路段的起点、终点的相对坐标,其中路段的相对坐标表示路段的地理坐标相对于tile区域的中心点的地理坐标的位置偏移。路段数据还包括路段的长度、路段的角度以及路段所代表的道路的行驶方向和道路属性等,其中行驶方向属性可以包括单向、双向、行驶方向限制等,道路属性可以包括隧道、高架、辅路、IC道路、JCT道路和普通道路等属性。其中,tile区域是将地图数据按照经纬度切割形成的规则区域,路段是代表现实道路的线段,例如,对于一条弯曲的现实道路,可以抽象成多条路段首尾相连形成的一条曲线段。
在另一实施例中,路网数据库的数据结构可以呈现为城市-路段的结构,将路段按城市划分。在定位点坐标所处的城市中所有的路段中查找定位点坐标附近的路段。
在另一实施例中,可根据定位点坐标在路网数据中遍历查找定位点坐标附近的路段的数据。
可选的,可以以定位点坐标为原点,取预设范围内所有路段及与预设范围边界相交的路段为定位点坐标附近的路段,例如,以定位点为原点70米圆形范围内,或者以定位点为矩形中心点,取边长70米的矩形框范围内。
103:根据定位点坐标附近的路段的起点、终点坐标确定路段相交;
可选的,在步骤103之前,还包括步骤102a:判断是否计算路段交叉点。具体的,可以根据定位点距离定位点所匹配的路段的终点的距离判断是否需要再次计算新的路段交叉点。若定位点距离定位点所匹配的路段的终点大于一定距离,例如正位于一条常规的道路上行驶,且距离道路结束还很远,此时不需要重新计算路段交叉点,可以继续采用历史记录中计算出的路段交叉点进行后续的道路匹配以及定位纠偏;若定位点距离定位点所匹配的路段的终点小于或等于一定距离,则需要重新构建路段交叉点,即执行步骤103。
具体的,根据已知端点坐标计算两线段是否相交的计算方法是几何计算中常见的计算方法,在此不做具体介绍。
104:根据相交的路段各自的属性确定相交点为路段交叉点,获得所述路段交叉点的坐标,所述路段交叉点表示所述路段形成的交叉路口或道路交汇处;
对于任意两条路段,可以根据路段的道路属性判断路段代表的道路是否形成路段交叉点。若两条路段分别代表的道路形成路段交叉点,则记录路段交叉点(crosspoint)的坐标,具体的,可以为相对坐标,也可以换算成地理坐标,或者是经纬度坐标。
具体的,交叉路口可以包括十字、T型、五叉等路口,道路交汇处可以为隧道与其他道路的交接处,或IC道路、JCT道路与高速/高架道路的交汇处,或IC道路与普通道路的交汇处,或IC道路、普通道路与环岛道路的交汇处。
105:通过路网拓扑与所述定位点进行道路匹配,获得纠偏后的所述定位点坐标,所述路网拓扑包括所述路段和所述路段交叉点;。
路段和路段交叉点可以构成路网拓扑,路网拓扑反应了定位点周边的道路的连通关系。定位点与路网拓扑进行路网匹配,将定位点投影到匹配的路段上,定位点在匹配的路段上的匹配点为纠偏后的定位点。
可选的,可以通过路网拓扑识别定位点所处的道路场景,根据不同的道路场景设置对应的查找匹配的路段方式。
106:将所述纠偏后的定位点坐标发送给所述应用程序。
将纠偏后的定位点坐标通过接口发送给应用程序。现有技术中,通常直接将定位信号解算的原始定位点坐标发送给应用程序,提供的原始定位点坐标误差较大,无法满足高精度定位需求。本申请实施例提供的基于道路匹配的定位方法针对原始定位点进行纠偏后再提供给应用程序,可以从操作系统层面提供高精度定位服务,可以为应用层多个应用程序无差别的提供高精度的定位结果。并且,考虑到操作系统可存储的数据量有限,通过精简后的数据量来重构路网拓扑。
其中,步骤102之前,该定位方法还可以包括路网数据库的生成过程。路网数据库的生成过程如图6所示,可包括以下步骤:
步骤201,将地图数据进行切分;
首先获得图商(国内如高德、四维等数据提商;海外如OSM/HERE/google等数据提供商)提供的标准规格的全球地图数据。地图数据包括各个地区、城市的道路的常用信息,例如道路上的标牌信息以及道路的形点坐标,形点通过点与点之间的线段将现实道路抽象成曲线或直线,形点坐标可以为该点的地理坐标,具体的可以为经纬度坐标。可将标准规格的全球地图数据按照城市行政区进行切分,例如芝加哥、上海、旧金山等城市,切分出每个城市的地图数据。
步骤202,将切分后的地图数据切分成多个区域;
对于每个城市的地图数据按照地理坐标进行切分,具体的可按照经纬度坐标切分,切分出的每个形状规则的区域可以称为tile,现实道路在不同tile中可以被切分打断。可选的,tile区域具有不同的切分等级,按照不同的切分等级切分出的tile区域的覆盖范围不同。tile区域切分等级以及该tile区域对应的大概的覆盖范围示例如表1所示:
表1
tile切分等级 | 覆盖范围 |
11级 | 10km*10km |
12级 | 5km*5km |
13级 | 2.5km*2.5km |
每个tile区域的都赋予一个唯一的全球编号X-Y以便存储、查找。tile区域的地理坐标和全球编号的转换公式示例如下:
全球编号x轴:Floor(((longitude+180.0)*3600.0)/level)
全球编号y轴:Floor(((90.0-latitude)*3600.0)/level)
其中,level表示tile的切分等级,floor表示向下取整的计算公式,以tile区域是规则网格为例,longitude表示网格的左下角点的经度,latitude表示网格左下角点的纬度。
步骤203,筛选需要关注的道路的属性数据
需要关注的道路的属性包括道路的行驶方向、道路类型、通行限制(例如禁止拐弯)等。
步骤204,合并具有相同属性的道路的数据
对具有相同属性的道路进行合并;对相邻道路的角度差在一定范围内的道路进行合并;
步骤205,抽稀生成路段的数据;
利用常见的道路形点抽稀如道格拉斯距离进行抽稀,获得路段的起点、终点的地理坐标、路段的长度、路段的角度以及路段所代表的道路的行驶方向属性和道路类型等。其中,这里的地理坐标是全球地理坐标系下的绝对坐标。
步骤203-205所述的处理步骤为常见的地图数据处理方法,这里就不再一一详细描述。
可选的,步骤205之后,还可以包括步骤206,对路段的数据进行偏移和压缩处理。tile区域内所有路段的地理坐标进行坐标偏移处理,以tile区域的中心点为原点,计算路段的地理坐标到中心点的地理坐标的相对坐标,最终存储数据仅存储该相对坐标,可大大减小数据存储量。并且将对应的浮点数据整形化处理,可以进一步的压缩。
因此,路网数据库中存储的数据可包括每个tile区域中的多个路段的数据,具体的,包括路段的起点、终点的相对坐标、路段的长度、路段的角度以及路段所代表的道路的行驶方向属性和道路属性等,每个tile区域可以根据全球编号X-Y查找到。
在本申请提供的实施例中,提供步骤101获得定位点坐标后,步骤102中可以将定位点坐标代入前述tile区域的地理坐标和全球编号的转换公式,获得该定位点坐标对应的全球编号,根据该全球编号可以在路网数据库中查找全球编号对应的tile区域内所有路段的数据。在另一实施例中,可直接通过定位点坐标在路网数据库中遍历查找位于定位点附近的路段。
在本申请提供的实施例中,生成的全球路网数据可以存储在云服务器30中。而受限于手机操作系统对各个系统模块分配的文件存储空间,示例的,允许定位服务API 202允许存储在电子设备20中的最大文件不超过1Mbytes。因此,电子设备20中可以仅存储部分城市或者一个城市部分区域的路网数据,定期或者根据需求更新路网数据。对于步骤102,可以将查找到的定位点对应的tile区域内的路段数据缓存,对于终端来说内存缓存的数据要求可能不允许超过10k,所以缓存的数据可能是1个tile的数据,也可能是多个tile的数据。这里分为多级存储数据,一级一级减少数据的大小,既满足了内存对数据大小的限制,另外仅取定位点附近的路网数据进行操作,又能确保了数据的有效性。
现有的定位功能中采用的路网数据要么采用与地图应用绑定的方式,通过在线请求获取路网数据,并且受限于数据量太大,只能保证小范围数据的处理;要么直接通过在线服务的方式获取纠偏结果,滞后2-3秒,无法保证数据的实时性,因此无法支持手机端侧基于道路匹配的实时纠偏。本申请实施例提供的路网数据的精简结构,减小了路网数据的数据量,从而实现电子设备内可以预置一定量城市的路网数据而不影响电子设备系统本身的运行,并且会根据用户位置定期更新常住地路网数据,实现常住地离线道路匹配及定位功能;并且支持通过在线云服务来进行数据增量更新维护,防止了数据老化。
如步骤103和104所述,查找到定位点坐标对应的多个路段后,根据路段的数据计算路段交叉点的坐标,构建定位点附近的路网拓扑,以便后续根据路网拓扑进行道路匹配,实现定位点的纠偏。下面将详细介绍根据路段数据生成路段交叉点,构建路网拓扑的具体流程,如图7所示,可包括以下步骤:
步骤301:选取定位点附近的路段的数据
在tile区域内,以定位点为中心点,取定位点附近预设范围内的路段。具体的,可以取位于以定位点为中心正负70米矩形框内或者与该矩形框相交的路段为定位信息附近的路段。在本申请提供的各个实施例中,一条路段示例的可视化展示,可以表征为如下两种情形:起点、终点和行驶方向(单向或双向)和道路属性(例如隧道属性),显示规则:segment起点指向终点,在segment终点处增加属性显示标志,属性显示标志可以如下所示:
可选的,在步骤301前,需要先判断是否需要计算定位信息附近的路段交叉点。若定位信息与前一次定位方法中步骤104匹配到的路段的终点的距离小于预设距离时,则确定需要再次根据定位信息计算定位信息附近的路段交叉点。
若需要构建交叉路口数据,则根据路段的起点、终点的相对坐标和路段的道路属性判断相交的路段是否在相交点形成路段交叉点,即执行步骤302-304;若不需要构建交叉路口数据,执行步骤104;
步骤302:判断任意两条路段之间是否相交;
取任意两条路段,根据这两条路段的起点和终点的相对坐标计算这两条路段是否相交。两个线段是否相交及相交点坐标的计算方法为几何计算的常用方法,在此不做赘述。若路段之间不相交,则不形成路段交叉点;若路段之间相交,则执行步骤303。
步骤303:判断两条路段的起点和终点是否相连;
换句话说,判断两条路段是否首尾相连,即其中一条路段的起点是否是另一条路段的终点,相交点是否是其中一条路段的起点且是另一条路段的终点。
步骤304:根据两条路段的道路属性,确定相交的两条路段是否形成路段交叉点;
对于相交的路段,按照道路属性,形成路段交叉点的规则可以包括:
1、具有普通道路属性路段之间
普通道路属性包括非高架道路、非IC道路、非JCT道路和非环岛道路属性,且非隧道属性道路;换句话说,也就是无特殊属性道路。
具有普通道路相同属性、行驶方向相同属性且起点和终点相连的路段之间不形成路段交叉点,而形成连通道路;图8a为一条弯曲道路的俯视图,路段1-6都是单向行驶且道路类型相同,类型都是普通道路的路段,且路段1-6首尾相连,则路段1-6形成连通道路。
具有普通道路相同属性且起点和终点不相连的路段之间形成路段交叉点,换句话说,相交点并不在一条路段的起点且同时在另一条路段的终点。例如在多叉普通道路相交点,例如现实中的路口,包括T型、Y型、十字和五叉等路口,路段的相交点形成路段交叉点。图8b所示为T型路口处形成的路段交叉点示意图,路段1和2都是双向行驶的普通道路,相交点A点位于路段2的终点,且位于路段1上,不位于路段1的起点或终点,因此,相交点A点为路段交叉点;图8c所示为十字路口处形成的路段交叉点示意图,路段1和2都是双向行驶的普通道路,相交点A点位于路段1和2上,且不位于路段1和2的起点和终点上,因此,相交点A点为路段交叉点,该路段交叉点的坐标为相交点A的坐标。
2、分别具有隧道道路属性和其他道路(非隧道道路)属性的路段之间
道路属性分别为隧道道路和非隧道道路且首尾相连的路段之间形成路段交叉点;非隧道道路为道路属性不为隧道的道路,具体可包括普通道路、高架道路、IC道路、JCT道路和环岛道路和无特殊属性的普通道路。如图9为一条经过隧道的道路的俯视图,路段2为双向行驶方向的隧道道路,路段1和3为双向行驶方向的非隧道道路,且路段1和路段3分别于路段2首尾相连,相交点A为路段1的终点,且为路段2的起点,相交点B为路段2的终点,且为路段3的起点,相交点A和B为路段交叉点。
3、具有高架道路、IC道路、JCT道路或环岛道路属性的路段相互之间
具有高架道路、IC道路、JCT道路或环岛道路属性的路段之间的相交点若为该相交点连接的路段的起点或终点,则相交点形成路段交叉点;若相交点不是路段的起点或终点,则相交点不形成路段交叉点。
4、具有高架道路、IC道路、JCT道路或环岛道路属性的路段与不具有这些属性的路段之间
具有高架道路属性的路段与具有普通道路属性的路段之间的相交点不形成交叉点;具有JCT道路属性的路段与具有普通道路属性的路段之间的相交点不形成交叉点;
具有IC道路属性或者环岛道路属性的路段与具有普通道路属性的路段之间的相交点若为该相交点连接的路段的起点或终点,则相交点形成路段交叉点;若相交点不是路段的起点或终点,则相交点不形成路段交叉点。
如图10所示,图10中的路段1和5具有高架道路属性,路段2-4和6-8具有JCT道路属性。路段1和2的相交点A为路段2的起点或终点,因此相交点A形成路段交叉点;路段5和4的相交点B为路段4和5的起点或终点,因此相交点B形成路段交叉点;路段2和3的相交点C为路段3的起点或终点,因此相交点C形成路段交叉点;路段6和7的相交点D不为路段6或7的起点或终点,因此相交点D不形成路段交叉点;路段8和1的相交点E不为路段8或1的起点或终点,因此相交点E不形成路段交叉点;路段9和1的相交点F不为路段9或1的起点或终点,因此相交点F不形成路段交叉点。
如图10所示,图10中路段10-19具有IC道路属性,道路20和21具有普通道路属性。路段10和1的相交点G为路段10的起点,因此相交点G形成路段交叉点;路段11、12、13和20的相交点H为路段11、12、13和20的起点或终点,因此相交点H形成路段交叉点;路段14、15和16的相交点I为路段14、15和16的起点或终点,因此相交点I形成路段交叉点;路段17和1的相交点J为路段17的终点,因此相交点J形成路段交叉点;路段18和1的相交点K为路段18的终点,因此相交点K形成路段交叉点;路段19和1的相交点L为路段18的终点,因此相交点L形成路段交叉点;路段20和21的相交点M为路段20的起点,因此相交点M形成路段交叉点;路段12和1的相交点N不为路段12或1的起点或终点,因此相交点N不形成路段交叉点。
如图11所示,路段1-5为高架道路,路段6-20为IC道路,相交点A、F、H、I、J形成路段交叉点,而相交点B、C、D、F、G不形成路段交叉点。
如图12所示,图12中路段1具有环岛道路属性,形状为环形,路段2-6具有非环岛道路属性,可分别为高架道路、普通道路、IC道路或JCT道路这些属性中的一种。路段2-6与路段1的相交点分别为点A、B、C、D、E,相交点A、B、C、D、E分别为路段2-6的起点或终点,因此相交点A、B、C、D、E形成路段交叉点。
步骤305:获得定位点附近的路段和路段交叉点的数据,路段交叉点的数据包括路段交叉点的坐标及路段交叉点连接的路段的连接关系;
通过以上步骤,可以获得定位点附近的路网拓扑,该路网拓扑包括路段和路段交叉点,路段交叉点表示了路段的连通关系。图10对应的路网拓扑示意图如图13a所示,图11对应的路网拓扑示意图如图13b所示。
这里所述的路段segments和路段交叉点crosspoints是路网拓扑的两个核心的数据结构。其中道路数据对应的起点、终点、道路长度和道路属性都存放在路段segment中;路段交叉点的数据包括路段交叉点的坐标,其中,该坐标可以和路段的终点起点坐标同为以tile中心点为原点的相对坐标。路段交叉点的数据还包括路段交叉点连接的路段的连接关系,例如路段交叉点连接多条路段,按顺序将路段编号并记录。
由于定位点的坐标可能因各种原因导致定位点与实际位置有一定偏差,因此通过定位点坐标与路网拓扑进行道路匹配进行定位点坐标的纠偏。在本申请提供的实施例中,识别当前所处的道路场景,针对不同道路场景采用对应的道路匹配方案。具体的,可设置匹配权值的多个影响因子,并针对不同的道路场景调整匹配权值的影响因子,从而选取出较优的匹配道路。下面将详细介绍针对不同场景进行定位纠偏的流程,如图14,可包括以下步骤:
步骤401:识别并切换道路场景
具体的可以根据定位点附近的路段的属性、路段的数量来识别道路场景。道路场景可以大致分为隧道场景、常规场景、交叉路口场景和平行路场景。各个场景之间的场景识别和切换状态图如图15所示。
隧道场景代表在含隧道属性的道路上行驶的场景,例如图10中路段2,常见的隧道包括跨海隧道或者穿越山谷的隧道,长的有接近万米长隧道,短的有几十米的跨街天桥等。初始状态下,可根据隧道标志,判断当前的道路场景是否为隧道场景。这里所述的隧道标志可以是常见的判断方法,如通过GNSS信号是否完全丢失,或者通过可见光传感器来判断是否处于隧道场景,并发送隧道标志信息,或者根据定位点附近的路段的是否具有隧道道路属性判断是否处于隧道场景。如图15中④所示,若在非隧道场景下,如常规场景、交叉路口场景、平行路场景,识别出道路场景为隧道场景,则切换到隧道场景;如图15中⑤所示,在隧道场景下,可以周期性的判断当前的道路场景,若隧道标志仍有效或切换到另一条隧道道路时,继续维持在隧道场景。如图15中⑥所示,在隧道场景下,若隧道标志位失效,例如GPS信号/GNSS信号出现或者可见光传感器判断位于露天,则可判断当前不再处于隧道场景,从隧道场景中退出,可根据其他条件判断切换至对应场景。
常规场景代表在常规道路上行驶的场景,前后没有交叉路口,形状直线或曲线或转弯的道路,区别于交叉道路场景。初始状态下,若定位点周围一定范围内无路段交叉点,则可以判断当前处于常规场景。如图15中②所示,若当前场景为交叉路口场景或平行路场景,先前道路匹配的结果中,若多次出现定位点距离定位点所匹配的路段的终点的距离大于第二距离,则切换到常规场景。具体的,第二距离T2可以根据当前的行驶速度进行调整,例如速度大于72km/h,T2=120米;速度小于72km/h,大于36m/h,T2=60米;速度小于36km/h,T2=30米。
交叉路口场景代表行驶在交叉路口处的场景,路段交叉点相连接的路段至少2条以上,呈现分叉状态,如T型、Y型、十字、五叉等路口等交叉路口场景。一般交叉路口场景范围可限制在道路交叉口附近一定范围内,当运行到其中一条道路,并离开交叉路口一定范围之后,则退出交叉路口场景,转入常规场景。如图15中①所示,若在常规场景下进行道路匹配时,距离定位点匹配的路段的终点第一距离范围内的路段的数量若大于第一阈值,则道路场景切换到交叉路口场景,具体的,第一阈值为1,定位点匹配的路段为前一次道路匹配时,定位点匹配到的路段。其中,第一距离T1可以为定位误差,即定位点与匹配点之间的距离,还可以是定位误差与定位模式误差及路口不确定范围的总和。可根据获得定位点的定位模式选择定位模式误差,不同的定位模式的误差为:Gnss平均误差10米,wifi/cell网络定位平均误差30米,基站定位平均误差100米。路口不确定范围一般取35米范围。这里的定位点为步骤101获得的定位信息,匹配点为上一次道路匹配时根据步骤104获得的纠偏后的定位点。
平行路场景代表一种特殊的交叉路口场景,在该交叉路口存在一个高架属性的道路,和一条辅路属性的道路,并且辅路道路和高架道路相邻距离很小,以及两条道路的运行方向偏差在一定范围内,这种情形单独定义为平行路场景,如图16所示为平行路的示意图,路段1和2具有高架属性,路段3和4具有辅路属性,点A和B形成路段交叉点。如图15中③所示,若交叉路口场景中的道路路段的属性包括高架道路属性和辅路道路属性,且同方向的高架道路属性和辅路道路属性的道路路段之间的距离和运行方向的角度差满足一定的阈值条件,示例的如距离在30米范围内,并且两者角度差小于15度,此时可以认为该场景对应的是平行路场景,在场景切换时,可以由上一时刻的交叉路口场景切换到平行路场景。
步骤402:根据道路场景设置道路场景对应的的影响因子的权值,根据影响因子的权值加权计算匹配权值,选择匹配权值最大的路段作为与定位点道路匹配的路段;
对于常规场景、交叉路口场景和平行路场景,可以对应调整影响因子的权值,计算获得匹配权值,选择匹配权值最大的路段作为与定位点道路匹配的路段。影响因子可以为定位点到候选路段的距离、定位点的运动方向与候选路段的方向的角度差和候选路段与历史定位轨迹的形状匹配度中的一种或多种。还可以包括其他属性影响因子,如道路限速,道路等级等属性。定位点的运动方向在获得定位点坐标时可以一起获得,由采集的历史定位信号可以计算得出。路段的方向为由路段起点到终点的方向。
常规场景下通过道路匹配进行定位纠偏的处理流程和现有的大部分道路匹配方案类似,可以直接采用定位点投影到候选路段,定位点在路段上的投影点为匹配点,并且基于定位点到匹配点之间的距离或者定位点角度与道路运行方向之间的差值,或者对两者影响因子进行加权求和得到候选路段的匹配权值。所有候选路段中的匹配权值最大的候选路段上的匹配点作为最终的匹配结果,即作为纠偏后的定位点。这种方法比较常见,这里不作单独描述。
对于交叉路口场景和平行路场景,进行道路匹配的具体流程,可包括以下步骤:
步骤501:获取历史定位点匹配的路段所处的路网拓扑中的路段和路段交叉点
历史定位点可以为上一次进行道路匹配的定位点,历史定位点附近的路网拓扑可以从缓存中调取。前述步骤301-304已详细描述了路网拓扑的生成过程,在此不再赘述。如图18所示为交叉路口场景下的路网拓扑示意图。如果进入交叉路口场景之前的历史定位点匹配的路段是路段1,那么路段1所处的路网拓扑中包括路段2-6和路段交叉点A和B。
步骤502:计算当前定位点与每个候选路段的匹配权值
其中,候选路段为历史定位点所匹配的路段所连通的路段。候选路段的起点与历史定位点所匹配的路段的终点重合。匹配权值由定位点到候选路段的距离、定位点角度与候选路段的角度差和候选路段与历史定位轨迹的形状匹配度中的一种或多种影响因素加权计算获得。
匹配权值计算公式可以为:
匹配权值=定位点到路段的距离*k1+角度差*k2+形状匹配度*k3+其他属性影响因子*k4
这里的k1对应的是定位点到路段距离的加权系数;k2对应的是定位点角度和道路方向的角度差的加权系数;k3对应的是形状匹配结果加权系数;k4为其他相连道路属性影响因子加权系数。这里所述的加权系数满足约束条件k1+k2+k3+k4=1。典型的,在交叉路口场景下优选取值系数为:k1=0.3;k2=0.1;k3=0.5;k4=0.1,k4对应道路等级属性的加权系数。在平行路口场景下取值系数单独优化取值,示例如:k1=0.2;k2=0.4;k3=0.2;k4取0.1,k4对应限速差值的加权系数。
如图17所示,若历史定位点匹配到路段1上,路段2-4与路段1通过路段交叉点A连通,路段2-4的起点和路段1的终点重合在路段交叉点A,路段2-4的起点为路段1的终点,则路段2-4为定位点O的候选路段。示例的,如果历史定位点按照交叉路口匹配算法,匹配到路段2上,则候选路段为路段交叉点B为起点的道路选的5和6。示例的,如果历史定位点按照交叉路口场景的道路匹配算法,匹配到了路段3,则候选路段的起点与路段2的终点重合。
示例的,如图18所示,当行驶至路段交叉点A附近时,若定位点从匹配到路段1切换到路段2,则后续进行定位点的道路匹配时,定位点会匹配到路段2-5,路段2-5为候选路段,直到下一个路段交叉点,进入对应的道路场景进行道路匹配。而不会匹配到相邻的路段6-11上,即路段6-11不会成为候选路段,因为路段6-11与路段2-5不形成连通道路。定位点匹配的路段会跟随前一次定位点匹配的路段所连通的路段。
可选的,在步骤502之前还包括:预测定位点的坐标,形成历史定位轨迹。
考虑到切换到新的道路场景后,在新场景下的历史定位点很少,很难准确进行历史定位轨迹与路段的形状匹配。其中,形状匹配是计算候选路段与历史定位点形成的轨迹之间的相似度。预测当前定位点的坐标的方法可以是根据历史定位点轨迹预测,也可以基于终端本身传感器数据,进行惯性推导预测,例如图17中,若候选路段为2-5,则将候选路段2-5分别与历史定位轨迹进行形状匹配,获得候选路段对应的形状匹配度。在上一个定位结果基础上进行时间积分,由此得到预测的定位点的坐标、速度和方向的值。这里所述的形状匹配方法,示例的可以采用基于监督学习的分类算法进行降维处理,将二维形状匹配简化为一维的分类算法处理。这一类分类算法较为常见,不作为本专利的重点,这里不作详细描述。
步骤503:选取匹配权值最大的候选路段作为定位点匹配的路段,计算定位点到匹配的路段上的投影点的坐标,该投影点的坐标为纠偏后的定位点坐标。
可选的,选取匹配权值最大的候选路段作为定位点匹配的路段之前,确定匹配权值是否符合权值门限要求,具体的,可限制门限要求为匹配权值大于或等于某个值,若确定候选路段的匹配权值都不满足门限要求,则不输出最大匹配权值的路段作为定位点的匹配路段,然后退出道路匹配过程,进行重新初始化。若确定候选路段的匹配权值满足门限要求,则从满足门限要求的候选路段中选取权值最大的候选路段作为定位点匹配的路段。
可选的,若纠偏后的定位点坐标位于路段交叉点预设范围内,则将纠偏后的定位点坐标改为路段交叉点的坐标。针对刚进入交叉路口的定位点,由于交叉路口内各个交叉连接关系复杂,并且刚切换到交叉路口场景后在新的路段上的定位点过少,形状匹配样本数偏少,出错概率加大,这里对于刚进入交叉路口的定位点进行路段交叉点收缩策略处理,也就是在交叉路口的交叉点对应的误差半径范围内,对匹配结果进行收缩到路段交叉点的坐标输出,待积累到一定的定位点数据量之后提高形状匹配的准确度,更进一步的提高道路匹配的准确性。这里所述的误差半径对应用普通的GNSS定位结果,经验的一般取15米。
在另一实施例中,平行路场景还可以是通过识别连接的路段的角度变化与经验门限的比较来判断是否需要将定位点由主路(高架路)切换到辅路或者由辅路切换到主路(高架路)。这里所述的角度差一个是手机传感器陀螺仪记录的历史时间段内的角度变化值A1,一个是路网拓扑中的前后连接的路段的角度差A2。通过计算A1和A2的差值与预设门限的比较,判断对应的定位结果是否发生了切换。示例的这里所述的历史时间段可以取值为5秒间隔陀螺仪的滑动窗口的前后1秒的均值的变化;示例的这里角度差门限预置可以设定为15度。
类似的,隧道场景如果不存在分叉路口,处理方法和常规场景处理一致,仅增加了一点,就是对定位结果的位置、速度和方向的预测,当进入隧道之后,无有效定位结果时能持续有效输出定位结果,示例的该方法可以是直接基于历史定位轨迹预测,也可以基于手机本身传感器数据,进行惯性推导预测。这一类方法都较常见,这里就不再单独描述。隧道场景如果存在分叉路口,可以基于传感器数据获取到运动角度的变化,结合上述交叉路口场景的处理策略,优化处理结果。具体就不再单独描述。
结合本申请提出的路网数据针对不同的道路场景进行场景识别,对应的匹配结果中采用了距离、角度、历史轨迹的形状匹配、道路属性等影响因子信息,并通过加权系数针对不同场景进行权值调整,使得整体的匹配性能鲁棒性更强,准确性更高。同时针对交叉路口场景,采用交叉点收缩的处理策略,有效避免了实时定位场景下,刚进入交叉路口,匹配点容易抖动出错的情形。
如前述步骤101a中所述,当定位点所在城市的路网数据不在终端本地存储的路网数据中,获得该城市路网数据有所变化时,终端需要请求数据更新。
如图19所示,包括图2中电子设备10中的应用框架层221、硬件抽象层222。基于道路匹配的位置提供者205用于根据既定协议拼接并发送数据请求查找定位点附近的路网数据(路段的数据)并根据既定协议接收数据并执行本申请实施例提供的定位方法,计算路段交叉点,通过道路匹配对定位点纠偏输出定位结果;也可以直接从前一次定位时缓存的路网数据603中调取缓存的路段交叉点、路网拓扑数据直接进行定位点纠偏。位置服务API202用于接收基于道路匹配的位置提供者205发送的数据请求,根据定位点坐标在城市路网数据库602中查找定位点附近的路段数据。具体的,可以根据定位点坐标与tile文件名转换,由绝对经纬度转换为tile文件名对应的X_Y全球编号,还可以根据协定规则对坐标进行加密。若没有查找到对应的tile,则向云服务器30发送数据请求,向云服务器30存储的全球路网数据库601中请求更新终端存储的城市路网数据库602。全球路网数据库601和城市路网数据库602中存储的是对应的路段的数据,缓存路网数据603存储的满足内存大小的1个tile或者多个tile的数据,将定位点附近的一个或多个tile中路段的数据进行缓存。
数据请求和更新流程如图20所示:
1:初始化,按需求预置数据文件;
2:基于道路匹配的位置提供者205向位置服务API 202请求在城市路网数据库602中查找定位点附近的路段的数据,请求消息中包括定位点坐标(例如GPS绝对经纬度坐标)和终端内存剩余空间;
3:若位置服务API 202的城市路网数据库602中有当前请求的数据,则直接返回定位点坐标对应的tile和周边tile的数据文件,这里所述的tile的个数取决于终端内存空间的限制。实际中可能是1个,也可能是多个tile的数据。
4:若位置服务API 202没有当前定位点对应的tile数据,则由位置服务API 202向云端发起数据请求,请求在云服务器30存储的全球路网数据库601中查找并获取定位点附近的路段数据。
5:云服务器30收到位置服务API 202的数据请求,然后查找全球数据库文件。若查找到,则返回整个城市的数据文件;若没有查找到,则返回无效标志。
6:位置服务API 202定期向云服务器30发送当前城市路网数据库602的数据版本号;
7:云服务器30检测接收到的数据版本号与全球路网数据库601中该城市的数据版本号比对,如果一致,不处理;如果有变化,返回差异化更新的数据文件。
还包括如图20中的步骤:
8:可选的,融合定位模块604可以向基于道路匹配的位置提供者205提供定位点坐标,该定位点坐标可以是融合了多种定位方式输出的定位结果所得到的融合定位坐标;
9:基于道路匹配的位置提供者205输出纠偏后的定位点坐标后,可以发送给融合定位模块604,融合定位模块将基于道路匹配的位置提供者205输出的定位结果与其他定位方式输出的定位结果融合,获得融合后的定位结果。
10:可选的,融合定位模块604将步骤9输出的融合定位结果提供给GPS位置提供者API203,GPS位置提供者API 203可以将定位结果发送给应用程序,呈现给用户。
本申请实施例还提供了一种定位装置,如图21所示,定位装置包括获取模块201、查找模块702、路段交叉点生成模块703和路网匹配模块704。
获取模块201用于执行步骤101;具体的,可由前述各类位置提供者(例如图2中206-208)和驱动程序209来实现。
查找模块702用于执行步骤102;具体的,可由前述位置服务API来实现。
路段交叉点生成模块703用于执行步骤103、104和步骤301-305;具体的,可由前述基于道路匹配的位置提供者205来实现。
路网匹配模块704用于执行步骤105和步骤401-402、步骤501-503。具体的,可由前述基于道路匹配的位置提供者205来实现。
发送模块705用于执行步骤106。可选的,可以通过接口API实现,具体的,如GPS位置提供者API 203。
基于以上实施例,本申请实施例还提供了一种芯片子系统(SOC,System onChip),该芯片子系统包括应用处理器,以及用于接收定位信号的GPS模块,该应用处理器可实现上述任意一个或多个实施例提供的定位方法。其中,GPS模块可以是单独的芯片,也可以与应用处理器集成到一起。
基于以上实施例,本申请实施例还提供了一种电子设备,该电子设备包括上述的芯片子系统,使得该电子设备可实现上述任意一个或多个实施例提供的定位方法。
基于以上实施例,本申请实施例还提供了一种定位芯片,例如GPS芯片。该芯片包括射频模块和处理器,射频模块用于接收定位信号,该处理器用于实现上述任意一个或多个实施例提供的定位方法。
基于以上实施例,本申请实施例还提供了一种电子设备,该电子设备包括上述的定位芯片,使得该电子设备可实现上述任意一个或多个实施例提供的定位方法。
基于以上实施例,本申请实施例还提供了一种计算机存储介质,该存储介质中存储计算机指令,该计算机指令在被一个或多个处理器读取并执行时可实现上述任意一个或多个实施例提供的定位方法。计算机存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码或计算机指令的介质。
基于以上实施例,本申请提供一种计算机程序产品,计算机程序产品包括计算机指令,当计算机指令被处理器执行时,使得处理器执行上述任意一个或多个实施例提供的定位方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (24)
1.一种基于道路匹配的定位方法,其特征在于,包括:
响应于应用程序的定位请求,获取定位点的坐标;
获取所述定位点坐标附近多个路段的数据,所述多个路段的数据包括所述多个路段的属性和起点、终点坐标;
根据所述定位点坐标附近的所述路段的起点、终点坐标确定所述路段相交;
根据相交的路段各自的属性确定相交点为路段交叉点,获得所述路段交叉点的坐标,所述路段交叉点表示所述路段形成的交叉路口或道路交汇处;
获得纠偏后的所述定位点的坐标,包括:识别所述定位点所处的道路场景,根据所述道路场景设置影响因子的权值;根据所述影响因子和所述影响因子的权值加权计算所述定位点附近的路段的匹配权值;从所述路段中选取所述匹配权值最大的路段为匹配路段,所示纠偏后的定位点为所述定位点在路网拓扑中所述匹配路段上的投影点,所述道路场景为交叉路口场景、平行路场景和隧道场景中的一个,所述路网拓扑包括所述路段和所述路段交叉点;
将所述纠偏后的定位点坐标发送给所述应用程序。
2.根据权利要求1所述的方法,其特征在于,从云端获取一个或多个城市的路段数据,所述云端用于存储路段数据,所述路段数据包括所述城市的多个区域内的路段数据,所述区域由所述城市按经纬度切分形成。
3.根据权利要求1或2所述的方法,其特征在于,所述路段形成的交叉路口为所述相交的路段不首尾相连时的相交点,且所述相交的路段的属性同为普通道路,所述首尾相连表示所述相交的路段中一条路段的起点与另一条路段的终点重合。
4.根据权利要求1或2所述的方法,其特征在于,所述道路交汇处为所述相交的路段首尾相连时的相交点;所述相交的路段中任一个路段的属性中包括隧道,或所述相交的路段中每一个路段的属性为高架道路、交流道、系统交流道和环岛中的一个,或所述相交的路段的属性分别为普通道路与所述交流道,或所述相交的路段的属性分别为所述普通道路与所述环岛。
5.根据权利要求1所述的方法,其特征在于,所述影响因子包括所述定位点到所述路段的距离、所述路段的方向与所述定位点的运动方向之间的角度差和历史定位轨迹与所述路段的形状匹配度,所述历史定位轨迹为历史定位点形成的轨迹。
6.根据权利要求5所述的方法,其特征在于,所述影响因子还包括道路等级或限速差值。
7.根据权利要求5或6所述的方法,其特征在于,所述历史定位轨迹与所述路段的形状匹配度在所述交叉路口场景下的权值比在所述平行路场景下的权值大。
8.根据权利要求5或6所述的方法,其特征在于,所述路段的方向与所述定位点的运动方向之间的角度差在所述交叉路口场景下的权值比在所述平行路场景下的权值大。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述匹配路段为所述定位点附近的路段中与历史定位点的匹配路段通过所述路段交叉点连接的路段。
10.一种电子设备,其特征在于,所述电子设备包括:获取模块、查找模块、路段交叉点生成模块、道路匹配模块和发送模块,其中:
所述获取模块,用于响应于应用程序的定位请求,获取定位点的坐标;
所述查找模块,用于获取所述定位点坐标附近多个路段的数据,所述多个路段的数据包括所述多个路段的属性和起点、终点坐标;
所述路段交叉点生成模块用于,根据所述定位点坐标附近的所述路段的起点、终点坐标确定所述路段相交;根据相交的路段各自的属性确定相交点为路段交叉点,获得所述路段交叉点的坐标,所述路段交叉点表示所述路段形成的交叉路口或道路交汇处;
所述道路匹配模块,用于获得纠偏后的所述定位点的坐标,包括:识别所述定位点所处的道路场景,根据所述道路场景设置影响因子的权值;根据所述影响因子和所述影响因子的权值加权计算所述定位点附近的路段的匹配权值;从所述路段中选取所述匹配权值最大的路段为匹配路段,所述纠偏后的定位点为所述定位点在路网拓扑中所述匹配路段上的投影点,所述道路场景为交叉路口场景、平行路场景和隧道场景中的一个,所述路网拓扑包括所述路段和所述路段交叉点;
所述发送模块,用于将所述纠偏后的定位点坐标发送给所述应用程序。
11.根据权利要求10所述的电子设备,其特征在于,所述查找模块还用于从云端获取城市的路段数据,所述云端用于存储路段数据,所述一个或多个城市的路段数据包括所述城市的多个区域内的路段数据,所述区域由所述城市按经纬度切分形成。
12.根据权利要求10或11所述的电子设备,其特征在于,所述路段形成的交叉路口为所述相交的路段不首尾相连时的相交点,且所述相交的路段的属性同为普通道路,所述首尾相连表示所述相交的路段中一条路段的起点与另一条路段的终点重合。
13.根据权利要求10或11所述的电子设备,其特征在于,所述道路交汇处为所述相交的路段首尾相连时的相交点;所述相交的路段中的任一个路段的属性中包括隧道,或所述相交的路段中的每一个路段的属性为高架道路、交流道、系统交流道和环岛中的一个,或所述相交的路段的属性分别为普通道路与所述交流道,或所述相交的路段的属性分别为所述普通道路与所述环岛。
14.根据权利要求10所述的电子设备,其特征在于,所述影响因子包括所述定位点到所述路段的距离、所述路段的方向与所述定位点的运动方向之间的角度差和历史定位轨迹与所述路段的形状匹配度,所述历史定位轨迹为历史定位点形成的轨迹。
15.根据权利要求14所述的电子设备,其特征在于,所述影响因子还包括道路等级或限速差值。
16.根据权利要求14或15所述的电子设备,其特征在于,所述历史定位轨迹与所述路段的形状匹配度在所述交叉路口场景下的权值比在所述平行路场景下的权值大。
17.根据权利要求14或15所述的电子设备,其特征在于,所述路段的方向与所述定位点的运动方向之间的角度差在所述交叉路口场景下的权值比在所述平行路场景下的权值大。
18.根据权利要求10-17任一项所述的电子设备,其特征在于,所述匹配路段为所述定位点附近的路段中与历史定位点的匹配路段通过所述路段交叉点连接的路段。
19.一种电子设备,其特征在于,包括处理器和存储有计算机程序的计算机可读存储介质;
所述处理器与所述计算机可读存储介质耦合,所述计算机程序被所述处理器执行时实现如权利要求1-9任一项所述的基于道路匹配的定位方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-9任一项所述的基于道路匹配的定位方法。
21.一种芯片子系统(SOC),其特征在于,所述芯片子系统包括应用处理器,以及用于接收定位信号的GPS模块,所述应用处理器用于实现如权利要求1-9任一项所述的基于道路匹配的定位方法。
22.一种电子设备,其特征在于,包括如权利要求21所述的芯片子系统。
23.一种定位芯片,其特征在于,所述定位芯片包括射频模块和处理器,所述射频模块用于接收定位信号,所述处理器用于实现如权利要求1-9任一项所述的基于道路匹配的定位方法。
24.一种电子设备,其特征在于,包括如权利要求23所述的定位芯片。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811198358.4A CN111044056B (zh) | 2018-10-15 | 2018-10-15 | 基于道路匹配的定位方法、芯片子系统及电子设备 |
PCT/CN2019/091086 WO2020078015A1 (zh) | 2018-10-15 | 2019-06-13 | 基于道路匹配的定位方法、芯片子系统及电子设备 |
EP19870063.5A EP3683548A4 (en) | 2018-10-15 | 2019-06-13 | ROAD ADAPTATION-BASED POSITIONING METHOD, CHIP SUBSYSTEM AND ELECTRONIC DEVICE |
US16/827,134 US11037445B2 (en) | 2018-10-15 | 2020-03-23 | Road matching based positioning method, chip subsystem, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811198358.4A CN111044056B (zh) | 2018-10-15 | 2018-10-15 | 基于道路匹配的定位方法、芯片子系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111044056A CN111044056A (zh) | 2020-04-21 |
CN111044056B true CN111044056B (zh) | 2023-10-13 |
Family
ID=70230386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811198358.4A Active CN111044056B (zh) | 2018-10-15 | 2018-10-15 | 基于道路匹配的定位方法、芯片子系统及电子设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11037445B2 (zh) |
EP (1) | EP3683548A4 (zh) |
CN (1) | CN111044056B (zh) |
WO (1) | WO2020078015A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111551190B (zh) * | 2020-04-27 | 2022-07-22 | 北京百度网讯科技有限公司 | 自动驾驶确定定位能力的方法、装置、设备及介质 |
CN111597285B (zh) * | 2020-05-13 | 2023-09-15 | 汉海信息技术(上海)有限公司 | 路网拼接方法、装置、电子设备及存储介质 |
CN113701763A (zh) * | 2020-05-20 | 2021-11-26 | 百度在线网络技术(北京)有限公司 | 用于生成信息的方法和装置 |
CN113721599B (zh) * | 2020-05-25 | 2023-10-20 | 华为技术有限公司 | 定位方法和定位装置 |
CN111757271B (zh) * | 2020-06-23 | 2022-03-22 | 上海飞旗网络技术股份有限公司 | 基于曲线拟合和网络拓扑结构的联合道路匹配方法及装置 |
KR102443401B1 (ko) * | 2020-06-29 | 2022-09-15 | 주식회사 라이드플럭스 | 자율주행 차량을 위한 로드 네트워크 데이터 생성 방법, 장치 및 컴퓨터프로그램 |
US11402514B2 (en) * | 2020-07-10 | 2022-08-02 | Samsung Electronics Co., Ltd. | Geographical feature/artificial structures detection and application for GNSS navigation with map information |
CN112013853B (zh) * | 2020-08-20 | 2022-07-15 | 北京三快在线科技有限公司 | 一种对无人驾驶设备的轨迹点验证的方法及装置 |
CN112050820A (zh) * | 2020-09-02 | 2020-12-08 | 平安科技(深圳)有限公司 | 道路匹配方法、装置、电子设备及可读存储介质 |
CN112083454A (zh) * | 2020-09-18 | 2020-12-15 | 北京卡路里信息技术有限公司 | 轨迹纠偏方法、装置、设备及存储介质 |
CN113365233B (zh) * | 2021-05-17 | 2022-04-01 | 福建吉星智能科技股份有限公司 | 一种北斗通讯应用系统短报文通讯的云服务方法 |
CN113554891B (zh) * | 2021-07-19 | 2022-07-01 | 江苏南大苏富特智能交通科技有限公司 | 一种基于公交gps轨迹构建电子地图路网的方法 |
CN115878737B (zh) * | 2022-10-26 | 2023-09-01 | 中国电子科技集团公司第五十四研究所 | 一种基于路网数据的交叉口提取及拓扑结构描述方法 |
CN115951379B (zh) * | 2023-03-14 | 2023-05-16 | 北京精英智通科技股份有限公司 | 基于gnss系统的厘米级定位纠偏方法 |
CN116935656B (zh) * | 2023-09-18 | 2023-12-01 | 浙江中控信息产业股份有限公司 | 道路交通数据处理方法、装置、电子设备及存储介质 |
CN117098227B (zh) * | 2023-10-20 | 2024-04-05 | 北京大也智慧数据科技服务有限公司 | 位置信息的确定方法、装置、设备及存储介质 |
CN117706478A (zh) * | 2024-02-02 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 定位漂移的识别方法、装置、设备及存储介质 |
CN117705141A (zh) * | 2024-02-06 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 偏航识别方法、装置、计算机可读介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778333A (en) * | 1994-09-02 | 1998-07-07 | Nippondenso Co., Ltd. | Boundary route setting device for a map display system |
EP2664894A2 (en) * | 2012-05-17 | 2013-11-20 | Clarion Co., Ltd. | Navigation apparatus |
CN106097734A (zh) * | 2016-08-22 | 2016-11-09 | 安徽科力信息产业有限责任公司 | 一种用于路口交通信号控制的平面感知检测方法及系统 |
CN108260204A (zh) * | 2016-12-29 | 2018-07-06 | 华为技术有限公司 | 一种基于电信定位的方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102102992B (zh) * | 2009-12-22 | 2013-04-17 | 山东省计算中心 | 基于多级网络划分的匹配道路初筛方法及地图匹配系统 |
CN101837172B (zh) | 2010-04-23 | 2012-01-25 | 浙江广厦智能科技发展有限公司 | Rfid定位无线联网火灾语音指示逃生方法 |
US9696166B2 (en) * | 2010-10-06 | 2017-07-04 | Google Inc. | Automated identification of anomalous map data |
CN102175254B (zh) | 2011-01-13 | 2013-02-20 | 北京超图软件股份有限公司 | 导航定位纠偏方法和装置,定位导航系统 |
CN102997928B (zh) * | 2011-09-08 | 2015-06-24 | 北京掌城科技有限公司 | 一种城际路网索引和匹配方法 |
CN104165628B (zh) * | 2013-05-20 | 2017-07-25 | 中国电信股份有限公司 | 基于地磁场感应终端的定位方法与系统 |
CN104422451A (zh) | 2013-08-30 | 2015-03-18 | 高德软件有限公司 | 一种道路识别方法及装置 |
EP2911101A1 (en) * | 2014-02-21 | 2015-08-26 | Volvo Car Corporation | Method and system for addressing and identifying vehicles adapted for receipt of a delivered service while being unattended |
CN104567906B (zh) * | 2015-01-14 | 2017-06-23 | 合肥革绿信息科技有限公司 | 一种基于北斗的城市路网车辆路径规划方法及装置 |
CN104634352B (zh) * | 2015-03-02 | 2015-11-11 | 吉林大学 | 一种基于浮动车移动轨迹与电子地图融合的道路匹配方法 |
US9589355B2 (en) | 2015-03-16 | 2017-03-07 | Here Global B.V. | Guided geometry extraction for localization of a device |
CN106570686A (zh) * | 2016-05-19 | 2017-04-19 | 广东高速科技投资有限公司 | 一种基于虚拟标识技术的高速公路路径识别系统及方法 |
CN107869996B (zh) | 2016-09-28 | 2019-04-30 | 腾讯科技(深圳)有限公司 | 导航信息处理方法及装置 |
-
2018
- 2018-10-15 CN CN201811198358.4A patent/CN111044056B/zh active Active
-
2019
- 2019-06-13 EP EP19870063.5A patent/EP3683548A4/en active Pending
- 2019-06-13 WO PCT/CN2019/091086 patent/WO2020078015A1/zh unknown
-
2020
- 2020-03-23 US US16/827,134 patent/US11037445B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778333A (en) * | 1994-09-02 | 1998-07-07 | Nippondenso Co., Ltd. | Boundary route setting device for a map display system |
EP2664894A2 (en) * | 2012-05-17 | 2013-11-20 | Clarion Co., Ltd. | Navigation apparatus |
CN106097734A (zh) * | 2016-08-22 | 2016-11-09 | 安徽科力信息产业有限责任公司 | 一种用于路口交通信号控制的平面感知检测方法及系统 |
CN108260204A (zh) * | 2016-12-29 | 2018-07-06 | 华为技术有限公司 | 一种基于电信定位的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3683548A4 (en) | 2020-12-02 |
US20200226925A1 (en) | 2020-07-16 |
US11037445B2 (en) | 2021-06-15 |
CN111044056A (zh) | 2020-04-21 |
WO2020078015A1 (zh) | 2020-04-23 |
EP3683548A1 (en) | 2020-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111044056B (zh) | 基于道路匹配的定位方法、芯片子系统及电子设备 | |
EP3227873B1 (en) | Method and apparatus for providing point of interest information | |
EP3227638B1 (en) | Method and apparatus for providing point of interest information | |
CN107449433B (zh) | 用于收集用于更新地理数据库的观测数据的方法及装置 | |
US9689702B2 (en) | Navigation system with map mechanism and method of operation thereof | |
US20200173788A1 (en) | Correcting location information using map data | |
JP6195971B2 (ja) | ロケーション起動型センサ初期化のための方法および装置 | |
US20220412764A1 (en) | Navigation method and apparatus | |
US20080208445A1 (en) | Route shaping systems and methods | |
JP2012511721A (ja) | 目的地を判定するためのベクトルを有する地図データベース、及びベクトル判定方法 | |
US11761772B2 (en) | Method and apparatus for providing speculative navigation routing in incomplete offline maps | |
JP2006162270A (ja) | 地図更新システム、ナビゲーション装置、配信装置 | |
US10739143B2 (en) | Methods and control units for building a database and for predicting a route of a vehicle | |
WO2015070711A1 (zh) | 导航方法及导航设备 | |
US9612343B1 (en) | Method and mobile station for using a location determining mechanism based on an extent of turning | |
JP6410596B2 (ja) | 情報処理装置、プログラム | |
US20150277719A1 (en) | System and method for providing simplified path and points of interest user interfaces | |
KR101913573B1 (ko) | 크라우드 소싱에 의한 내비게이션 정보 수집 방법 및 장치 | |
JP6374772B2 (ja) | 経路探索システム、経路探索方法、コンピュータプログラム | |
US11337035B1 (en) | Selective enabling of offline positioning | |
US20220018673A1 (en) | Choice modeling for pickup map display content | |
US8428866B1 (en) | System and method of providing turn-by-turn directions to non-specific destinations | |
JP5430536B2 (ja) | ナビゲーション端末、ナビゲーション方法およびナビゲーションプログラム | |
CN104077921A (zh) | 一种基于通用位置的路况信息处理方法和系统 | |
JP5935730B2 (ja) | 誘導経路探索システム |
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 |