地图获取方法、装置、计算机设备和存储介质与流程

专利2022-05-09  18


本申请涉及无人驾驶技术领域,特别是涉及一种地图获取方法、装置、计算机设备和存储介质。



背景技术:

随着无人驾驶技术的发展,自动驾驶地图可用于定位感知以及路线规划等,已经越来越成为无人驾驶技术方案中的重要支撑元素。自动驾驶地图可以包括点云地图、强度地图以及栅格地图等,在无人驾驶过程中可以根据当前区域加载当前所需的地图类型的自动驾驶地图。

然而,目前的自动驾驶地图是通过投影的方式将地图数据转换为局部的正交坐标系并存储于不同的数据库中,在使用时需要人工根据自动驾驶区域选择对应的数据库以获取对应的局部地图,对局部地图的获取效率低下。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种地图获取方法、装置、计算机设备和存储介质。

一种地图获取方法,所述方法包括:

获取待获取地图上的参考点的地理位置信息、所述待获取地图的尺寸信息以及所述待获取地图的地图类型;

根据所述参考点的地理位置信息以及所述地图类型,获取所述参考点在所述待获取地图上对应的坐标;

基于所述坐标以及所述尺寸信息,生成覆盖所述待获取地图的多个地图网格,并获取所述多个地图网格中各网格点的地理位置信息;

根据所述各网格点的地理位置信息以及所述地图类型,生成与所述各网格点的地理位置信息对应的网格点标识;

利用所述网格点标识查询地图数据库,获取所述地图网格中各地图数据点的地理位置信息;其中,所述地图数据库中存储有网格点标识以及网格点标识对应的所述地图网格中各地图数据点的对应关系;

根据所述各地图数据点的地理位置信息,以及所述地图类型,获取地图。

在其中一个实施例中,所述根据所述各网格点的地理位置信息以及所述地图类型,生成与所述各网格点的地理位置信息对应的网格点标识,包括:从所述各网格点的地理位置信息中提取所述各网格点的经度信息,根据所述经度信息,从预设的经度网格中选取与所述各网格点相对应的经度网格,并获取所述经度网格的中心经度以及所述经度网格对应的经度网格标识;获取所述各网格点在以所述经度网格的中心经度为投影原点下的局部坐标系中的局部坐标;获取所述局部坐标对应的经度网格坐标标识,以及预设的所述地图类型对应的地图类型标识;基于所述经度网格坐标标识、所述经度网格标识以及所述地图类型标识生成所述网格点标识。

在其中一个实施例中,所述获取所述经度网格的中心经度以及所述经度网格对应的经度网格标识,包括:获取预设的经度网格转换系数,以及与所述经度网格转换系数相适应的中心经度系数;根据所述经度信息以及所述经度网格转换系数,确定所述经度网格标识;利用所述经度网格标识以及所述中心经度系数确定所述中心经度。

在其中一个实施例中,所述获取所述局部坐标对应的经度网格坐标标识,包括:获取预设的网格坐标转换系数;根据所述局部坐标以及所述网格坐标转换系数确定所述经度网格坐标标识。

在其中一个实施例中,所述利用所述网格点标识查询地图数据库,获取所述地图网格中各地图数据点的地理位置信息,包括:根据所述网格点标识,查询所述地图数据库,确定与所述网格点标识对应的所述地图网格中各地图数据点的局部坐标;根据所述各地图数据点的局部坐标,确定所述各地图数据点的地理位置信息。

在其中一个实施例中,所述确定与所述网格点标识对应的所述地图网格中各地图数据点的局部坐标,包括:根据所述网格点标识,查询所述地图数据库,确定与所述网格点标识对应的地图数据点;获取所述地图数据点以经度网格的中心经度为投影原点下的局部坐标系中的局部坐标;其中,所述中心经度由所述地图数据库对所述网格点标识进行解析得到。

在其中一个实施例中,还包括:获取待存储地图在第一局部坐标系的多个地图数据点以及所述第一局部坐标系中投影原点的地理位置信息;基于所述投影原点的地理位置信息,以及所述待存储地图中各地图数据点在所述第一局部坐标系中的第一局部坐标,生成与所述各地图数据点对应的地图数据点标识;根据所述地图数据点标识,获取所述各地图数据点对应的经度网格的中心经度,并分别获取以所述中心经度为投影原点的第二局部坐标系中所述各地图数据点的第二局部坐标;将所述各地图数据点的第二局部坐标以及所述各地图数据点对应的地图数据点标识存入所述地图数据库。

一种地图获取装置,所述装置包括:

地图信息采集模块,用于获取待获取地图上的参考点的地理位置信息、所述待获取地图的尺寸信息以及所述待获取地图的地图类型;

参考点坐标获取模块,用于根据所述参考点的地理位置信息以及所述地图类型,获取所述参考点在所述待获取地图上对应的坐标;

网格点信息获取模块,用于基于所述坐标以及所述尺寸信息,生成覆盖所述待获取地图的多个地图网格,并获取所述多个地图网格中各网格点的地理位置信息;

标识获取模块,用于根据所述各网格点的地理位置信息以及所述地图类型,生成与所述各网格点的地理位置信息对应的网格点标识;

地图点信息获取模块,用于利用所述网格点标识查询地图数据库,获取所述地图网格中各地图数据点的地理位置信息;其中,所述地图数据库中存储有网格点标识以及网格点标识对应的所述地图网格中各地图数据点的对应关系;

地图获取模块,用于根据所述各地图数据点的地理位置信息,以及所述地图类型,获取地图。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

上述地图获取方法、装置、计算机设备和存储介质,获取待获取地图上的参考点的地理位置信息、待获取地图的尺寸信息以及待获取地图的地图类型;根据参考点的地理位置信息以及地图类型,获取参考点在待获取地图上对应的坐标;基于坐标以及尺寸信息,生成覆盖待获取地图的多个地图网格,并获取多个地图网格中各网格点的地理位置信息;根据各网格点的地理位置信息以及地图类型,生成与各网格点的地理位置信息对应的网格点标识;利用网格点标识查询地图数据库,获取地图网格中各地图数据点的地理位置信息;其中,地图数据库中存储有网格点标识以及网格点标识对应的地图网格中各地图数据点的对应关系;根据各地图数据点的地理位置信息,以及地图类型,获取地图。本申请通过引入网格点标识查询存储有网格点标识与网格点标识对应的网格中各地图数据点的对应关系的地图数据库,得到各地图数据点的位置信息,即可生成地图,不再需要人工选择驾驶区域对应的数据库以获取对应的局部地图,有利于提高局部地图的获取效率。

附图说明

图1为一个实施例中地图获取方法的应用环境图;

图2为一个实施例中地图获取方法的流程示意图;

图3为一个实施例中根据所述各网格点的地理位置信息以及所述地图类型,生成与所述各网格点的地理位置信息对应的网格点标识的流程示意图;

图4为一个实施例中利用所述网格点标识查询地图数据库,获取所述地图网格中各地图数据点的地理位置信息的流程示意图;

图5为一个实施例中将地图存储入地图数据库的流程示意图;

图6为另一个实施例中地图获取方法的流程示意图;

图7为一个应用实例中数据库key值构建的流程示意图;

图8为一个应用实例中数据库key值解析的流程示意图;

图9为一个应用实例中地图存储的流程示意图;

图10为一个应用实例中地图查询转换的流程示意图;

图11为一个实施例中地图获取装置的结构框图;

图12为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的地图获取方法,可以应用于如图1所示的应用环境中。其中,地图获取设备101通过网络与地图数据库102进行通信。具体来说,地图获取设备101可以安装于无人驾驶汽车上,可采集用于生成地图的地图数据,并对得到的地图数据进行相应加工,形成用于查询地图数据库102的地图查询标识,并将地图查询标识发送至地图数据库102。地图数据库102接收到地图获取设备101发送的地图查询标识,可以基于该地图查询标识搜索预存的与该地图查询标识相应的地图数据,并返回至地图获取设备101。地图获取设备101可以根据返回的地图数据获取对应的地图。其中,地图获取设备101可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑,地图数据库102可以通过独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种地图获取方法,以该方法应用于图1中的地图获取设备101为例进行说明,包括以下步骤:

步骤s201,地图获取设备101获取待获取地图上的参考点的地理位置信息、待获取地图的尺寸信息以及待获取地图的地图类型。

其中,待获取地图为地图获取设备101需要输出的地图,待获取地图上的参考点为在该地图上其中一个用于参考的标准点,例如可以是待获取地图上的中心点,也可以是地图上的某个端点,待获取地图的尺寸信息则是需要得到的地图的大小,包括地图的长宽高等基础信息,而地图类型则可以包括多种自动驾驶地图类型,如:点云地图、强度地图以及栅格地图等等。具体地,地图获取设备101可以获取待获取地图上的参考点的地理位置信息、待获取地图的尺寸信息以及待获取地图的地图类型,例如可以通过用户输入的方式,得到上述用于获取地图的相关信息。

步骤s202,地图获取设备101根据参考点的地理位置信息以及地图类型,获取参考点在待获取地图上对应的坐标。

其中,参考点的地理位置信息可以通过该参考点的经度坐标以及纬度坐标进行表示,对于同一个地图参考点而言,不同的地图类型可能会存在对应不同的地图坐标,因此地图获取设备101可以根据地图类型预先设定对应的坐标转换公式,并通过该转换公式将参考点的地理位置信息转化为在特定待获取地图上对应的地图坐标。

步骤s203,基于坐标以及尺寸信息,地图获取设备101生成覆盖待获取地图的多个地图网格,并获取多个地图网格中各网格点的地理位置信息。

具体地,网格点可以是生成的地图网格中随意选择的一个点,例如,可以选取每个网格点的中点或者地图网格的某个端点。具体地,地图获取设备101可以根据地图参考点以及地图的尺寸,将待获取的地图分割成多个网格。例如:参考点可以选取为待获取地图的中心点,地图获取设备101可以根据中心点以及地图的尺寸,得到待获取地图的边界以及覆盖的范围。之后,利用预先设置的网格分割原则,可通过固定每个网格的具体大小,从待获取地图的一个端点触发,按照固定的网格大小,对待获取地图的覆盖的范围进行分割,从而可以生成多个地图网格。之后,地图获取设备101可以从地图网格中任意选取网格点,并基于参考点的坐标,以及各网格点与参考点之间的位置关系,得到地图网格中各网格点在待获取地图上的坐标,最后通过坐标的逆转换公式,将各网格点在待获取地图上的坐标转换为经纬度作为各网格点的地理位置信息。

步骤s204,地图获取设备101根据各网格点的地理位置信息以及地图类型,生成与各网格点的地理位置信息对应的网格点标识。

其中,网格点标识是用于查询的地图数据库102的标识,可以通过任意点的地理位置信息以及待获取地图的地图类型得到。具体地,地图获取设备101得到各网格点的地理位置信息后,可以根据待获取地图的地图类型,分别生成的各网格点对应的网格点标识。

步骤s205,地图获取设备101利用网格点标识查询地图数据库,获取地图网格中各地图数据点的地理位置信息;其中,地图数据库中存储有网格点标识以及网格点标识对应的地图网格中各地图数据点的对应关系。

其中,地图数据库102是用于存储有多种地图类型对应的各地图数据点的地图数据,例如该地图数据点在对应的地图中的坐标信息等等,同时还存储有与地图数据点对应的网格点标识。具体地,地图获取设备101可以将得到的各网格点的网格点标识发送至地图数据库102,使得地图数据库102分别对得到的网格点标识进行解析,从而确认该网格点标识对应的多个地图数据点,以及各地图数据点的地理位置信息,返回至地图获取设备101。

步骤s206,地图获取设备101根据各地图数据点的地理位置信息,以及地图类型,获取地图。

地图获取设备101得到地图数据库102返回的每个地图网格中各地图数据点的地理信息后,可以根据得到的地理信息以及需要获取地图的地图类型,生成对应的地图。

上述地图获取方法中,地图获取设备101获取待获取地图上的参考点的地理位置信息、待获取地图的尺寸信息以及待获取地图的地图类型;根据参考点的地理位置信息以及地图类型,获取参考点在待获取地图上对应的坐标;基于坐标以及尺寸信息,生成覆盖待获取地图的多个地图网格,并获取多个地图网格中各网格点的地理位置信息;根据各网格点的地理位置信息以及地图类型,生成与各网格点的地理位置信息对应的网格点标识;利用网格点标识查询地图数据库102,获取地图网格中各地图数据点的地理位置信息;其中,地图数据库102中存储有网格点标识以及网格点标识对应的地图网格中各地图数据点的对应关系;根据各地图数据点的地理位置信息,以及地图类型,获取地图。本申请通过引入网格点标识查询存储有网格点标识与网格点标识对应的网格中各地图数据点的对应关系的地图数据库,得到各地图数据点的位置信息,即可生成地图,不再需要人工选择驾驶区域对应的数据库以获取对应的局部地图,有利于提高局部地图的获取效率。

在一个实施例中,如图3所示,步骤s204可以包括:

步骤s301,地图获取设备101从各网格点的地理位置信息中提取各网格点的经度信息,根据经度信息,从预设的经度网格中选取与各网格点相对应的经度网格,并获取经度网格的中心经度以及经度网格对应的经度网格标识。

其中,网格点的经度信息为网格点的经度坐标,经度网格则指的是通过经度划分的全球地图,例如可以按照经度的度数将全球地图划分为360个经度网格,经度网格标识则是用于标识经度网格,可以为当前经度度数,而网格的中心经度则是经度网格中心点的经度,在上述例子中,中心经度可以是当前经度度数 0.5得到。具体地,地图获取设备101可以从各网格点的地理位置信息中提取出每个网格点的经度信息,并基于该经度信息分别选出与该经度信息相适应的经度网格,以及该经度网格的中心经度与对应的经度网格标识。

步骤s302,地图获取设备101获取各网格点在以经度网格的中心经度为投影原点下的局部坐标系中的局部坐标。

地图获取设备101确定每个网格点对应的中心经度后,可以分别以各中心经度为投影原点构建局部坐标系,并通过坐标转换公式,将各网格点的地理位置信息转换为局部坐标系中对应的局部坐标。

步骤s303,地图获取设备101获取局部坐标对应的经度网格坐标标识,以及预设的地图类型对应的地图类型标识。

其中,经度网格坐标标识用于标识各网格点在其对应的局部坐标系中的具体位置。具体来说,地图获取设备101生成局部坐标系后,还可以按照局部网格生成规则,将该局部坐标系再次划分为多个坐标网格,经度网格坐标标识则是用于描述该网格点处于该局部坐标系中具体属于哪个坐标网格的标识。另外,地图类型标识则是用于标识地图类型,例如,点云地图可以标识为1,强度地图可以标识为2等等。地图获取设备101可以根据各网格点的局部坐标分别获取对应的经度网格坐标标识,并且根据待获取地图的地图类型得到对应的地图类型标识。

步骤s304,地图获取设备101基于经度网格坐标标识、经度网格标识以及地图类型标识生成网格点标识。

最后,地图获取设备101可以通过步骤s301得到的经度网格标识以及步骤s303得到的经度网格坐标标识以及地图类型标识通过位运算的方式压缩为一个多位整数,并将其作为该网格点对应的网格点标识。

进一步地,步骤s301中地图获取设备101获取经度网格的中心经度以及经度网格对应的经度网格标识,可以进一步包括:地图获取设备101获取预设的经度网格转换系数,以及与经度网格转换系数相适应的中心经度系数;根据所述经度信息以及经度网格转换系数,确定经度网格标识;利用经度网格标识以及中心经度系数确定中心经度。

其中,经度网格转换系数指的是经度信息与经度网格标识之间的转换系数,通常由需要划分的经度网格数目决定,而中心经度系数则是中心经度与经度网格标识之间的转换系数,由经度网格标识决定,因此需要与经度网格转换系数相适应。具体来说,如果需要将全球地图分为360个经度网格,那么经度网格数目即为360,此时对应的经度网格转换系数为1,即经度信息与经度网格标识相同,此时选取的中心经度系数则可以是0.5。而如果需要将全球地图分为720个经度网格,那么此时对应的经度网格数目为720,此时为了保证每个经度网格都有对应的经度网格标识,就可以将经度网格转换系数设置为0.5,那么此时与经度网格转换系数相适应的中心经度系数则可以设置为0.25。地图获取设备101可以调用预先设置的经度网格转换系数,基于各网格点的经度信息以及经度网格转换系数,确定各网格点的经度网格标识,再根据各网格点的经度网格标识以及预先设置的中心经度系数,确定各网格点的对应的中心经度。

另外,步骤s303中地图获取设备101获取局部坐标对应的经度网格坐标标识,可以进一步包括:获取预设的网格坐标转换系数;根据局部坐标以及网格坐标转换系数确定经度网格坐标标识。

其中,网格坐标转换系数为局部坐标与网格坐标之间的转换系数,由需要在局部坐标系中划分的网格的网格尺寸决定。例如,若需要在局部坐标系中按照网格尺寸为长50米,宽50米进行划分,那么此时网格坐标转换系数则可以设置为50,50。而如果需要划分的网格尺寸为长100米,宽100米,那么此时网格坐标转换系数则可以设置为100,100。地图获取设备101可以获取预设的网格坐标转换系数并根据局部坐标确定该网格点对应的经度网格坐标标识。例如,某个网格点对应的局部坐标为(200,200),而此时网格坐标转换系数设置为50,50,那么其对应的经度网格坐标标识则为4,4。

上述实施例中,地图获取设备101可以通过预设的经度网格的中心经度建立局部坐标系,实现各网格点的地理位置信息与标准局部坐标之间的对应关系,并基于该对应关系以及地图类型生成网格点标识,通过本实施例生成的网格点标识并基于该网格点标识可以满足用于查询存储有全球不同地区不同类型的地图数据的地图数据库102的需要。另外,还通过设置网格坐标转换系数、经度网格转换系数以及与经度网格转换系数相适应的中心经度系数,可以根据实际需要,例如需要划分的经度网格数目等因素调整生成的网格点标识,提高了网格点标识生成过程的泛用性。

在一个实施例中,如图4所示,步骤s205可以包括:

步骤s401,地图获取设备101根据网格点标识,查询地图数据库102,确定与网格点标识对应的地图网格中各地图数据点的局部坐标。

其中,地图数据库102中存储有与该网格点标识对应的地图网格中地图数据点的地图数据,例如,可以是与网格点标识对应的地图网格中地图数据点在标准局部坐标系中的局部坐标,地图获取设备101可以将网格点标识发送至地图数据库102,使得地图数据库102根据网格点标识查询得到与网格点标识对应的地图网格中各地图数据点的局部坐标,并返回至地图获取设备101。

步骤s402,地图获取设备101根据各地图数据点的局部坐标,确定各地图数据点的地理位置信息。

地图获取设备101得到各地图数据点的局部坐标后,可以通过坐标逆转换公式,将局部坐标转换为对应的地图数据点的经纬度,作为各地图数据点的地理位置信息。

进一步地,步骤s401可以包括:地图获取设备101根据网格点标识,查询地图数据库102,确定与网格点标识对应的地图数据点;获取地图数据点以经度网格的中心经度为投影原点下的局部坐标系中的局部坐标;其中,中心经度由地图数据库102对网格点标识进行解析得到。

具体地,地图获取设备101可以根据得到的网格点标识,查询地图数据库102,分别确定每个网格点标识对应的地图网格中的地图数据点,同时,地图数据库102还可以对网格点标识进行解析,得到对网格点标识对应的经度网格标识,并基于预设的中心经度系数得到对应的经度网格的中心经度,并基于经度网格的中心经度为投影原点构造对应的局部坐标系,获取多个地图数据点局部坐标,返回至地图获取设备101。

上述实施例,地图获取设备101通过网格点标识查询地图数据库102,即可得到对应的多个地图数据点的地理位置信息,可以实现在同一地图数据库102中高效获取地图数据点的地理位置信息。

在一个实施例中,如图5所示,上述地图获取方法,还包括:

步骤s501,地图获取设备101获取待存储地图在第一局部坐标系的多个地图数据点以及第一局部坐标系中投影原点的地理位置信息。

其中,第一局部坐标系为待存储地图对应的局部坐标系,每一个地图都有其对应的局部坐标系,待存储地图由多个地图数据点组成,其中包括第一局部坐标系的投影原点。具体地,地图获取设备101可以从待存储地图中提取出第一局部坐标系携带的多个地图数据点有,并且获取第一局部坐标系中投影原点的经纬度作为该投影原点的地理位置信息。

步骤s502,地图获取设备101基于投影原点的地理位置信息,以及待存储地图中各地图数据点在第一局部坐标系中的第一局部坐标,生成与各地图数据点对应的地图数据点标识。

具体地,地图获取设备101可以通过投影原点的经纬度以及投影原点在第一局部坐标系中的局部坐标,得到第一局部坐标系对应的坐标转换公式以及坐标逆转换公式,并通过第一局部坐标系的坐标逆转换公式,将各地图数据点在第一局部坐标系中的第一局部坐标转换为对应的各地图数据点的地理位置信息,最后通过与生成网格点标识相同的方式,利用各地图数据点的地理位置信息生成各地图数据点对应的地图数据点标识。

步骤s503,地图获取设备101根据地图数据点标识,获取各地图数据点对应的经度网格的中心经度,并分别获取以中心经度为投影原点的第二局部坐标系中各地图数据点的第二局部坐标。

其中,第二局部坐标系为标准局部坐标系,该坐标系是以预设的经度网格的中心经度坐为投影原点形成的局部坐标系,具体来说,地图获取设备101可以对得到的所有地图数据点标识进行解析,得到各地图数据点对应的经度网格的中心经度,并分别以该中心经度为投影原点建立第二局部坐标系,从而得到各地图数据点的第二局部坐标。

步骤s504,地图获取设备101将各地图数据点的第二局部坐标以及各地图数据点对应的地图数据点标识存入地图数据库102。

地图获取设备101得到各地图数据点的第二局部坐标后,可以将第二局部坐标以及对应的地图数据点标识一并存入地图数据库102,从而完成地图数据的存储过程。

上述实施例,实现了地图获取设备101将新增地图存入地图数据库102,从而实现了高效的对各种地图类型地图数据存入一同一地图数据库102中,实现了高效的对地图进行插入更新操作。

在一个实施例中,局部坐标系包括通用横墨卡托格网系统坐标系。

其中,通用横墨卡托格网系统(universaltransversemercartorgridsystem)坐标系,即utm坐标系,是一种平面直角坐标,这种坐标格网系统及其所依据的投影已经广泛用于地形图,作为卫星影像和自然资源数据库的参考格网以及要求精确定位的其他应用。因此,上述实施例选取utm坐标系作为局部坐标系,可以实现地图数据点的精确定位,提高地图获取设备101获取地图的准确性。

在一个实施例中,如图6所示,还提供了一种地图获取方法,以该方法应用于图1中的地图获取设备101为例进行说明,包括以下步骤:

步骤s601,地图获取设备101获取待获取地图上的参考点的地理位置信息、待获取地图的尺寸信息以及待获取地图的地图类型;

步骤s602,地图获取设备101根据参考点的地理位置信息以及地图类型,获取参考点在待获取地图上对应的坐标;基于坐标以及尺寸信息,生成覆盖待获取地图的多个地图网格,并获取所多个地图网格中各网格点的地理位置信息;

步骤s603,地图获取设备101从各网格点的地理位置信息中提取各网格点的经度信息,根据经度信息,从预设的经度网格中选取与各网格点相对应的经度网格,并获取预设的经度网格转换系数,以及与经度网格转换系数相适应的中心经度系数;根据经度信息以及经度网格转换系数,确定经度网格标识;

步骤s604,地图获取设备101获取各网格点在以经度网格的中心经度为投影原点下的局部坐标系中的局部坐标;获取预设的网格坐标转换系数;根据局部坐标以及网格坐标转换系数确定经度网格坐标标识;

步骤s605,地图获取设备101基于经度网格坐标标识、经度网格标识以及地图类型标识生成网格点标识;

步骤s606,地图获取设备101根据网格点标识,查询地图数据库102,确定与网格点标识对应的地图数据点;获取地图数据点以经度网格的中心经度为投影原点下的局部坐标系中的局部坐标;其中,中心经度由地图数据库102对网格点标识进行解析得到;

步骤s607,地图获取设备101根据各地图数据点的局部坐标,确定各地图数据点的地理位置信息;

步骤s608,地图获取设备101根据各地图数据点的地理位置信息,以及地图类型,获取地图。

上述地图获取方法,通过引入网格点标识查询存储有网格点标识与网格点标识对应的网格中各地图数据点的对应关系的地图数据库102,得到各地图数据点的位置信息,即可生成地图,不再需要人工选择驾驶区域对应的数据库以获取对应的局部地图,有利于提高局部地图的获取效率。另外,还通过设置转换系数提高了网格点标识生成过程的泛用性,以及通过网格点标识查询地图数据库102,从而高效获取地图数据点的地理位置信息。

在一个应用实例中,提供了一种自动驾驶地图数据库key的构建及数据存储查询方法,该方法具体可以包括如下4个流程:数据库key值构建流程、数据库key值解析流程、地图存储流程以及地图查询转换流程。

(1)数据库key值构建流程

如图7所示为数据库key构建流程图:key-value分布式存储系统查询速度快、存放数据量大、支持高并发,根据key值便可以完成快速查询插入删除操作,因此只要key值的设计合理,我们就可以高效方便管理全球不同区域不同类型的地图。不管任何类型的地图,它们每个点都会对应一个经纬度,不同的只是点的数据结构和表现形式的不同。因此我们可以根据经纬度加地图类型来构建数据库中的key。从而可以管理全球不同类型的地图数据。将全球的地图按照经度划分成360个经度网格,将每个经度网格投影到以该网格中心经度为原点的局部utm坐标系下,再将utm坐标下的x和y按照50米距离划分网格。具体实施如下:

步骤s701,输入点的经纬度,点的数据类型:输入一个3维的wgs84坐标系下点的纬度、经度、高度、地图数据类型。

步骤s702,根据点的经纬度获得经度网格id和网格中心经度:点所属的经度网格id为当前的经度除以1,该网格中心经度为经度网格id加0.5。

步骤s703,通过wgs84转utm转换公式,可以获得在以中心经度为投影原点下该点的局部utm坐标x和y。

步骤s704,计算utm坐标系下的x网格id和y网格id:x和y的值分别除以50,即为改点所在的x网格id和y网格id。

步骤s705,经度网格id、x网格id、y网格id和地图类型生成数据库中的key:将点所属的地图数据类型映射成一个整数,例如点云地图我们可以映射为1,强度地图可以映射为2。我们将上述所获得四个值通过位运算的方式压缩为一个64位整数做为数据key。点所属的地图类型占二进制的60位到63位,经度网格id占二进制的50到59位,x网格id占二进制25到49位,y网格id占二进制的0到24位。key值计算方式为地图类型左移(二进制运算的左移操作符)60位加上经度网格id左移50位加上x网格id左移25位加y网格id。

(2)数据库key值解析流程

如图8所示为数据库中key解析流程图。根据数据库中key我们可以解析得到在数据库中key所对应value所属的地图数据类型、经度网格id、x网格id、y网格id。具体实施方法如下:

步骤s801,输入key。

步骤s802,通过key解析x网格id、y网格id、经度网格id和地图数据类型:在上述key构建过程中,低位的二进制如果是一个负数在相加的时候会对高位带来影响,比如y网格id为-1,他在二进制存储时为64个1,而他所占的位数仅仅是0到24位,它会让25到63位各加1,所以我们必须从最低位的值开始解析,然后减去低位的值消除对高位所带来的影响。y网格id通过key&上一个0到23为都为1的64位二进制整数获得并通过左移(64–25)再右移动(64–25)来恢复y网格id的符号位,x网格id通过key减去x网格id然后&上一个24到49位都为1其余为0的64位二进制数再右移25位来获得并通过左移(64–25)再右移(64–25)恢复符号位,经度网格id通过1.key减去y网格id再减去左移25位后的x网格id后&上一个50到59都为1其余位为0的64位二进制数再右移50位获得并通过左移54再右移54位恢复符号位。地图类型获取方式和上述同理。

步骤s803,通过经度id计算网格的中心经度:根据解析出的经度网格id,我们可以计算该经度网格下的中心经度为经度网格id加0.5。

(3)地图存储流程

如图9所示为地图存储流程图,具体实施如下:

步骤s901,输入utm坐标系下的地图的utm投影原点的经纬度:输入要插入的在utm坐标下的地图数据,和该utm坐标系投影原点的经纬度。

步骤s902,计算地图中点所对应的数据库的key:遍历每个点获取点的utm坐标,根据utm转wgs84坐标转换公式计算出点的经纬度,根据上述的数据库key构建方法可以获得每个点所对应key值。

步骤s903,根据key得到网格中心经度,将点的坐标转换到以该中心经度为投影原点下局部的utm坐标:根据key我们可以解析得到该点所属的经度网格id和网格中心经度,将每个点的经纬度通过wgs84转utm坐标转换公式转换为在以经度网格中心经度为投影原点的utm坐标。

步骤s904,将点存入到key所对应的value,插入到数据库中:将点插入到key所对应的value中。最后通过的序列化操作value中地图数据点压缩成一个字符串,和key一起插入到数据库中。

(4)地图查询转换的流程示意图

如图10所示为地图查询转换流程图,具体实施如下:

步骤s1001,输入查询地图区域的中心点的经纬度,和查询地图区域的长宽:输入为查询地图区域的中心点经纬度、地图的长宽(单位是米)、地图类型。

步骤s1002,计算utm坐标下x方向和y方向覆盖的网格数:根据输入的长宽我们可以得到x方向所包含的格子数为宽除以50,y方向所包含的格子数为长除以50。

步骤s1003,将中心点经纬度转为utm坐标,遍历所有网格并计算空间索引:根据上述数据库key值构建方法可以得到点所对应的key,根据上述key解析流程我们可以获得点经度网格id和网格中心经度,将点通过wgs84转utm坐标转换公式获得点在utm下的坐标x1,y1,以及utm下左下角的点的坐标x1-width/2,y1–length/2。从这个点开始遍历所有的格子,从而可以得到每个格子中的一个utm坐标下的点,通过utm转wgs84坐标转换公式计算出点的经纬度,按照上述数据库key值的构建方法获得点的key。从而可以获得查询地图区域在数据中所有的key值。

步骤s1004,根据空间索引去数据库中查询空间网格:遍历每一个key,通过key的解析方法可以得到value所对应的地图类型和投影的经度原点,去数据库中查询key所对应的value,通过地图类型和反序列化操作解析出value中包含的地图数据点。

步骤s1005,将查询的空间网格内的点转为经纬度,然后转换为用户所需要的局部正交坐标系下的地图数据:根据utm转wgs84坐标转换公式和经度原点,计算出地图数据点的经纬度,根据点的经纬度我们可以将这些点转换为任意局部正交坐标系下的地图。

以下以utm为例,我们选取查询地图的中心点为utm坐标下的投影原点,遍历每个点,将每个点的经纬度通过wgs84转utm坐标转换公式转换为在地图中心点为投影原点下的utm坐标,最后返回给用户。

上述存储查询流程既可以高效的管理全世界不同区域的不同类型的地图,同时通过坐标转换公式也可以无损的将地图转为经纬度和任意局部坐标下局部地图方便使用。

本应用实例提供的自动驾驶地图数据库key的构建及数据存储查询方法,能够将全世界各种地图类型(如点云地图、强度地图)数据放进一同一数据库,可以高效的对地图进行插入更新操作,可获取任意位置下某个区域的地图并转换到所需要的局部正交坐标系下。

应该理解的是,虽然图2-10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-10中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图11所示,提供了一种地图获取装置,包括:地图信息采集模块1101、参考点坐标获取模块1102、网格点信息获取模块1103、标识获取模块1104、地图点信息获取模块1105和地图获取模块1106,其中:

地图信息采集模块1101,用于获取待获取地图上的参考点的地理位置信息、待获取地图的尺寸信息以及待获取地图的地图类型;

参考点坐标获取模块1102,用于根据参考点的地理位置信息以及地图类型,获取参考点在待获取地图上对应的坐标;

网格点信息获取模块1103,用于基于坐标以及尺寸信息,生成覆盖待获取地图的多个地图网格,并获取多个地图网格中各网格点的地理位置信息;

标识获取模块1104,用于根据各网格点的地理位置信息以及地图类型,生成与各网格点的地理位置信息对应的网格点标识;

地图点信息获取模块1105,用于利用网格点标识查询地图数据库,获取地图网格中各地图数据点的地理位置信息;其中,地图数据库中存储有网格点标识以及网格点标识对应的地图网格中各地图数据点的对应关系;

地图获取模块1106,用于根据各地图数据点的地理位置信息,以及地图类型,获取地图。

在一个实施例中,标识获取模块1104,进一步用于从各网格点的地理位置信息中提取各网格点的经度信息,根据经度信息,从预设的经度网格中选取与各网格点相对应的经度网格,并获取经度网格的中心经度以及经度网格对应的经度网格标识;获取各网格点在以经度网格的中心经度为投影原点下的局部坐标系中的局部坐标;获取局部坐标对应的经度网格坐标标识,以及预设的地图类型对应的地图类型标识;基于经度网格坐标标识、经度网格标识以及地图类型标识生成网格点标识。

在一个实施例中,标识获取模块1104,进一步用于获取预设的经度网格转换系数,以及与经度网格转换系数相适应的中心经度系数;根据经度信息以及经度网格转换系数,确定经度网格标识;利用经度网格标识以及中心经度系数确定中心经度。

在一个实施例中,标识获取模块1104,进一步用于获取预设的网格坐标转换系数;根据局部坐标以及网格坐标转换系数确定经度网格坐标标识。

在一个实施例中,地图点信息获取模块1105,进一步用于根据网格点标识,查询地图数据库,确定与网格点标识对应的地图网格中各地图数据点的局部坐标;根据各地图数据点的局部坐标,确定各地图数据点的地理位置信息。

在一个实施例中,地图点信息获取模块1105,进一步用于根据网格点标识,查询地图数据库,确定与网格点标识对应的地图数据点;获取地图数据点以经度网格的中心经度为投影原点下的局部坐标系中的局部坐标;其中,中心经度由地图数据库对网格点标识进行解析得到。

在一个实施例中,地图获取装置还包括:地图存储模块,用于获取待存储地图在第一局部坐标系的多个地图数据点以及第一局部坐标系中投影原点的地理位置信息;基于投影原点的地理位置信息,以及待存储地图中各地图数据点在第一局部坐标系中的第一局部坐标,生成与各地图数据点对应的地图数据点标识;根据地图数据点标识,获取各地图数据点对应的经度网格的中心经度,并分别获取以中心经度为投影原点的第二局部坐标系中各地图数据点的第二局部坐标;将各地图数据点的第二局部坐标以及各地图数据点对应的地图数据点标识存入地图数据库。

关于地图获取装置的具体限定可以参见上文中对于地图获取方法的限定,在此不再赘述。上述地图获取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是地图获取设备101,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种地图获取方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

转载请注明原文地址:https://doc.8miu.com/read-350261.html

最新回复(0)