本申请涉及计算机技术中的计算机视觉、智能交通、自动驾驶、电子地图等领域,尤其涉及一种地图数据处理的方法、装置、设备、存储介质及程序产品。
背景技术:
随着自动驾驶技术和高精度地图技术的发展,出现了高精度电子地图(highdefinitionmap,简称hdmap),也称为高精度地图。高精度地图的数据内容丰富,数据精度高,但是也存在数据量大,数据采集成本高等问题,因此,目前hdmap的覆盖范围较小,通常是街道或者园区级别的,有较大范围不能覆盖,并且hdmap缺乏道路名称和周围poi信息等,无法满足基于道路名称或poi信息的搜索和定位等需求。
目前使用的电子地图,基本都是标准电子地图(standarddefinitionmap,简称sdmap),比如各种导航地图、基于web展示的电子地图等,sdmap所展示的地图数据的精度低,无法满足高精度的搜索和定位的需求。
技术实现要素:
本申请提供了一种地图数据处理的方法、装置、设备、存储介质及程序产品。
根据本申请的第一方面,提供了一种地图数据处理的方法,包括:
将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到所述地理区域的融合数据;对所述融合数据进行数据切分,得到所述地理区域的融合地图数据;其中,所述融合地图数据包括分布在多个地图层级的瓦片数据,每个所述地图层级包括多个所述瓦片数据,所述融合地图数据用于实现所述地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示。
根据本申请的第二方面,提供了一种地图数据处理的方法,包括:
获取各地理区域的融合地图数据,所述融合地图数据是通过将所述地理区域内的高精度地图数据和标准地图数据进行融合处理,得到所述地理区域的融合数据,并对所述融合数据进行数据切分得到的,所述融合地图数据包括分布在多个地图层级的瓦片数据,每个所述地图层级包括多个所述瓦片数据;响应于地图查询请求,加载落入可视范围内的所述瓦片数据;渲染并显示所述落入可视范围内的所述瓦片数据。
根据本申请的第三方面,提供了一种地图数据处理的装置,包括:
数据融合模块,用于将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到所述地理区域的融合数据;数据切分模块,用于对所述融合数据进行数据切分,得到所述地理区域的融合地图数据;其中,所述融合地图数据包括分布在多个地图层级的瓦片数据,每个所述地图层级包括多个所述瓦片数据,所述融合地图数据用于实现所述地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示。
根据本申请的第四方面,提供了一种地图数据处理的装置,包括:
融合地图数据获取模块,用于获取各地理区域的融合地图数据,所述融合地图数据是通过将所述地理区域内的高精度地图数据和标准地图数据进行融合处理,得到所述地理区域的融合数据,并对所述融合数据进行数据切分得到的,所述融合地图数据包括分布在多个地图层级的瓦片数据,每个所述地图层级包括多个所述瓦片数据;数据加载模块,用于响应于地图查询请求,加载落入可视范围内的所述瓦片数据;渲染和显示模块,用于渲染并显示所述落入可视范围内的所述瓦片数据。
根据本申请的第五方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一方面所述的方法。
根据本申请的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述任一方面所述的方法。
根据本申请的第七方面,提供了一种计算机程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行上述任一方面所述的方法。
根据本申请的技术提高使用的地图数据的精度,满足了高精度的搜索和定位的需求。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例的地图平台架构示意图;
图2是根据本申请实施例的地图数据处理的方法的总体架构示意图;
图3是本申请第一实施例提供的地图数据处理的方法流程图;
图4是本申请第二实施例提供的地图数据处理的方法流程图;
图5是本申请第二实施例提供的地图数据的地图层级的示例图;
图6是本申请第三实施例提供的地图数据处理的方法流程图;
图7是本申请第四实施例提供的地图数据处理的方法流程图;
图8是本申请第四实施例提供的视锥体的视图;
图9是本申请第四实施例提供的瓦片所占屏幕像素的比例的示意图;
图10是本申请第五实施例提供的地图数据处理的装置示意图;
图11是本申请第六实施例提供的地图数据处理的装置示意图;
图12是本申请第七实施例提供的地图数据处理的装置示意图;
图13是本申请第七实施例提供的地图数据处理的装置示意图;
图14是用来实现本申请实施例的地图数据处理的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
通常,高精度地图(highdefinitionmap,简称hdmap)也称为高精度电子地图或高分辨率电子地图,高精度地图的数据内容丰富,数据精度高,但是也存在数据量大,数据采集成本高等问题,目前hdmap的覆盖范围较小,基本都是街道或者园区级别的,有较大范围不能覆盖。
目前使用的地图基本都是标准地图(standarddefinitionmap,简称sdmap)标准电子地图),也称为标准电子地图,比如常用的导航地图、或者基于web的电子地图等。sdmap的优势是采集成本低,目前已有成熟的数据和技术,数据量小,覆盖范围广等。
现有的高精度地图,缺少路名和周围poi信息等信息,难以满足对街道名称搜索和定位的需求;而且,高精地图缺少建筑物、山川、河流等城市信息,不能完整反映现实世界。传统的标准地图虽然城市信息丰富完善,但是道路精度差、误差大。
本申请提供一种地图数据处理的方法、设备、存储介质及程序产品,应用于计算机技术中的计算机视觉、智能交通、自动驾驶、电子地图、云服务等领域,能够将高精度地图和标准地图融合,从而提高所使用的电子地图的精度,满足高精度的搜索和定位的需求。
本申请提供的地图数据处理的方法具体应用于如图1所示的地图平台架构,如图1所示,该地图平台可以包括电子设备11和电子设备12,其中,电子设备11用于将各个地理区域的高精度地图数据和标准地图数据融合,并对融合数据进行数据切分,生成各个地理区域的融合地图数据。电子设备12用于基于各个地理区域的融合地图数据,响应于地图查询请求,加载落入可视范围内的融合地图数据,并进行查询结果的渲染和显示,从而实现各地理区域内对各个地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示,可以提高使用的地图数据的精度,满足高精度的搜索和定位的需求。
本申请中提供的地图数据处理的方法的总体架构如图2所示,包括数据预处理、数据加载与显示、数据缓存、数据释放这四个部分。其中,数据预处理部分主要用于将各个地理区域的高精度地图数据和标准地图数据融合,并对融合数据进行数据切分,生成各个地理区域的融合地图数据,涉及计算最小包围盒、要素层级分配、四叉树切分瓦片(tile)等处理。数据加载与显示部分主要用于基于融合地图数据进行地图数据的加载和显示,涉及融合地图数据的描述文件的加载解析、基于各瓦片数据与视锥体是否相交来加载瓦片数据,并对加载的瓦片数据进行数据解密和解析、组装、数据渲染、显示等处理。数据缓存部分可以采用双向链的方式进行数据的缓存存储,具体可以使用最近最少使用(leastrecentlyused,简称lru)原则,依次将最新加载的瓦片数据放到双向链的末尾,需要删除缓存中的瓦片数据时,删除双向链首部的瓦片数据。数据释放部分主要用于根据总量控制原则,当缓存中的数据量大于一定的存储限制后,从双向链的首部移除并释放瓦片数据,同时兼顾最大加载数量原则,当屏幕内已显示的瓦片数据的数量大于限制数量后,也会对双向链首部的瓦片数据进行移除并释放。
图3是本申请第一实施例提供的地图数据处理的方法流程图。如图3所示,该方法具体步骤如下:
步骤s301、将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据。
本实施例中,地理区域可以是预先圈定的区域,可以是城市级别。例如,可以将城市所在区域作为对应的地理区域,将该城市对应地理区域内的高精度地图数据(hdmap)和标准地图数据(sdmap)进行融合,得到该城市的融合数据,该融合数据中既包含高精度地图数据中各个数据对象的高精度属性信息,也包含标准地图数据中各个数据对象的标准属性信息。
另外,地理区域也可以是园区级别、或者其他比城市更大或更小的区域,本实施例此处不做具体限定。
步骤s302、对融合数据进行数据切分,得到地理区域的融合地图数据;其中,融合地图数据包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据,融合地图数据用于实现地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示。
在将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据之后,对融合数据进行数据切分,得到地理区域的融合地图数据。
本实施例中,通过数据切分得到的融合地图数据,包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据。
基于地理区域的融合地图数据,能够实现地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示。
本申请实施例通过将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据;对融合数据进行数据切分,得到地理区域的融合地图数据,得到的融合地图数据包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据;该融合地图数据中既包含高精度地图数据中各个数据对象的高精度属性信息,也包含标准地图数据中各个数据对象的标准属性信息,基于地理区域的融合地图数据,能够实现地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示,从而提高使用的地图数据的精度,满足高精度的搜索和定位的需求。
图4是本申请第二实施例提供的地图数据处理的方法流程图。在上述第一实施例的基础上,本实施例中,对将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据;以及对融合数据进行数据切分,得到地理区域的融合地图数据的具体实现方式进行示例性地说明。
如图4所示,该方法具体步骤如下:
步骤s401、获取地理区域内的高精度地图数据包含的第一数据对象和标准地图数据包含的第二数据对象,第一数据对象具有第一属性信息,第二数据对象具有第二属性信息。
其中,地理区域可以是预先圈定的区域,可以是城市级别。例如,可以将城市所在区域作为对应的地理区域,将该城市对应地理区域内的高精度地图数据(hdmap)和标准地图数据(sdmap)进行融合,得到该城市的融合数据,该融合数据中既包含高精度地图数据中各个数据对象的高精度属性信息,也包含标准地图数据中各个数据对象的标准属性信息。
另外,地理区域也可以是园区级别、或者其他比城市更大或更小的区域,本实施例此处不做具体限定。
本实施例中,为了描述方便,用第一数据对象指代高精度地图数据中包含的数据对象,第一数据对象具有第一属性信息,第一属性信息是高精度地图数据中数据对象的属性信息,第一属性信息为高精度的信息。
用第二数据对象指代标准地图数据中包含的数据对象,第二数据对象具有第二属性信息,第二属性信息是标准地图数据中数据对象的属性信息。
该步骤中,首先获取地理区域的高精度地图数据和标准地图数据,然后分别获取高精度地图数据包含的第一数据对象和标准地图数据包含的第二数据对象。
示例性地,通过分别将地理区域内的高精度地图数据和标准地图数据分别进行格式转换,解析其中的点线面等几何元素,并对道路的名称和拓扑关系进行构建,获取高精度地图数据包含的第一数据对象和标准地图数据包含的第二数据对象,并存储为指定格式的文件。
例如,指定格式的文件可以是shp(shape)格式文件、json文件、或者用于存储地理信息的数据库的文件等。
本实施例中,可以预先对地图数据中的数据要素进行分类,首先根据数据来源分为hd类和sd类这两大类;其中hd类包括高精度地图数据中的数据要素,sd类包括标准地图数据中的数据要素。进一步地,对hd类中的数据要素进行细分,得到高精度地图的要素分类;并对sd类中的数据要素进行细分,得到标准地图的要素分类。
其中,高精度地图的要素分类要比标准地图的要素分类更加精细。
例如,标准地图的要素分类可以包括建筑物、山、水、道路、绿地等要素分类,高精度地图的要素分类可以包括道路面、车道线、信号灯等要素分类。
一种可选的实施方式中,该步骤中获取高精度地图数据包含的第一数据对象和标准地图数据包含的第二数据对象之后,还可以确定各个数据对象对应的要素分类,具体可以采用如下方式实现:
根据预先设置的高精度地图的要素分类,确定第一数据对象对应的要素分类,并根据第一数据对象对应的要素分类,确定第一数据对象对应的图层;根据预先设置的标准地图的要素分类,确定第二数据对象对应的要素分类,并根据第二数据对象对应的要素分类,确定第二数据对象对应的图层。
其中,每个要素分类对应一个或者多个图层。数据对象所属要素分类对应的图层,也就是数据对象所在的图层,在进行地图数据的数据切分时,可以将不同图层的数据对象划分到不同的地图层级,另外,高精度地图的要素分类要比标准地图的要素分类更加精细,通常分布在较底层的地图层级中,标准地图的要素分类通常分布在较高地图层级中,能够实现高精度地图数据和标准地图数据的融合地图数据的动态分层级地显示。
一种可选的实施方式中,高精度地图的要素分类可以更加精细,其中存在一个或多个特定要素分类,高精度地图中包含该特定要素分类的数据对象,但是高精度地图数据中并不包含该特定要素分类的数据对象的属性信息。根据高精度地图数据可以计算得到该特定要素分类的数据对象的属性信息。
例如,特定要素分类可以包括信号灯的灯杆、路面上的导流箭头等要素分类。根据高精度地图数据,可以计算得到信号灯灯杆的位置等属性信息;根据高精度地图数据,可以计算得到导流箭头的位置、所在车道等属性信息。
进一步地,获取高精度地图数据包含的第一数据对象,可以采用如下方式实现:
获取高精度地图数据中的第四数据对象,高精度地图数据中包含第四数据对象及第四数据对象的属性信息;根据高精度地图数据,计算特定要素分类的第五数据对象的属性信息,高精度地图中包含第五数据对象,且不包含第五数据对象的属性信息。高精度地图数据包含的第一数据对象包括第四数据对象和第五数据对象。
这种实施方式中,通过对高精度地图数据所包含的数据要素进行精细地分类,通过从高精度地图数据中提取已有的第四数据对象及其数据信息,并根据高精度地图数据,计算特定要素分类的第五数据对象的属性信息,可以充分地获取高精度地图数据所包含的第一数据对象及第一属性信息,使得获取的第一数据对象的数据更加丰富、精度更高。
一种可选的实施方式中,获取高精度地图数据包含的第一数据对象和标准地图数据包含的第二数据对象之后,对第一数据对象进行修正。
示例性地,获取高精度地图数据包含的第一数据对象之后,若确定存在异常的第一数据对象,则对异常的第一数据对象进行修正,使得第一数据对象的数据的精准度更高。
其中,异常的第一数据对象可以是存在缺陷的数据对象,例如,发生错乱或存在重叠的人行道,间断的道路停止线等。
可选地,对异常的第一数据对象进行修正之后,还可以对第一数据对象进行美化处理;和/或,对第一数据对象进行校验处理,使得第一数据对象的数据的精准度更高。
其中,对第一数据对象进行美化处理可以是将第一数据对象的属性信息与包含第一数据对象的点云数据进行对照,进行线的平滑处理等,可以采用现有的数据对象美化处理的方法实现,此处不做具体限定。
对第一数据对象的校验处理可以是校验第一数据对象是否存在异常,例如人行道是否发生错乱或存在重叠,道路停止线是否存在间断等。
一种可选的实施方式中,获取高精度地图数据包含的第一数据对象和标准地图数据包含的第二数据对象之后,还可以根据所在的地图层级,对第二数据对象进行简化处理,以保证第二数据对象满足精度要求的前提下减少第二数据对象的数据量,从而减少融合地图数据的数据量。
具体地,对于标准地图数据中的第二数据对象(如山、河、绿地等),根据各个第二数据对象对应的地图层级,以及lod的各地图层级的数据量要求,分别进行几何点的抽稀和简化,以实现对第二数据对象进行简化处理。
示例性地,可以采用抽稀算法和/或简化算法,对地图数据进行简化,本实施例此处不再赘述。
可选地,为了实现对第二数据对象的简化处理,可以在获取标准地图数据包含的第二数据对象之后,统计各标准地图的要素分类中的第二数据对象的个数和数据量大小,对于同一要素分类中第二数据对象的数量和数据量较大的第二数据对象,可以根据需要进行第二数据对象的简化处理。
另外,对第二数据对象进行简化处理的具体策略,可以根据实际应用场景的需要进行设置和调整,此处不做具体限定。
步骤s402、根据所在的地理位置信息之间的差异是否在预设范围内,对第一数据对象与第二数据对象进行匹配。
在获取地理区域内的高精度地图数据包含的第一数据对象和标准地图数据包含的第二数据对象之后,根据所在的地理位置信息之间的差异是否在预设范围内,对第一数据对象与第二数据对象进行匹配,将所在的地理位置之间的差异在预设范围内的第一数据对象和第二数据对象作为相匹配的第一数据对象和第二数据对象。
其中,预设范围可以根据实际应用场景的需要进行设置和调整,所在的地理位置之间的差异在预设范围内的第一数据对象和第二数据对象是同一数据对象,也就是说确定的相匹配的第一数据对象和第二数据对象是同一数据对象。
该步骤中,将hd类中的第一数据对象和sd类中的第二数据对象进行几何关联、地里信息关联,确定相匹配的第一数据对象和第二数据对象是同一数据对象。
示例性地,通过隐马尔科夫模型(hiddenmarkovmodel,简称hmm))将sd类中的第二数据对象的几何点投影到hd高精度地图数据的道路上,建立第一数据对象与第二数据对象之间的匹配关系,保留hd类中的第一数据对象的属性信息,增加sd类中第二数据对象的道路名称和poi信息等属性信息,得到融合后的第三数据对象。对于未关联到hd类中第一数据对象的第二数据对象,保留sd类的第二数据对象的属性信息。
步骤s403、根据匹配结果,将匹配成功的第一数据对象和第二数据对象进行融合,得到第三数据对象,第三数据对象具有第三属性信息,第三属性信息包含匹配成功的第一数据对象和第二数据对象的属性信息。
本实施例中,根据所在的地理位置信息之间的差异是否在预设范围内,对第一数据对象与第二数据对象进行匹配,根据匹配结果,将相匹配的第一数据对象和第二数据对象进行融合,以实现高精度地图数据和标准地图数据的融合,得到融合数据。
该步骤中,根据匹配结果,对匹配成功的第一数据对象和第二数据对象进行融合,得到第三数据对象,第三数据对象具有第三属性信息,第三属性信息包含匹配成功的第一数据对象和第二数据对象的属性信息。
对于匹配失败的第一数据对象,则保留该第一数据对象及其属性信息;对于匹配失败的第二数据对象,则保留该第二数据对象及其属性信息。
地理区域的融合数据包括第三数据对象、匹配失败的第一数据对象和匹配失败的第二数据对象。
示例性地,对于匹配成功的第一数据对象和第二数据对象,将第一数据对象作为第三数据对象;将该第二数据对象的第二属性信息中,第一数据对象不具有的第二属性信息,添加至所第三数据对象,以实现高精度地图数据和标准地图数据的融合,得到地理区域内的融合数据。
通过上述步骤s401-s403,能够将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据,从而实现地理区域内高精度地图数据和标准地图数据的融合。
在得到地理区域内的融合数据之后,通过步骤s404-s406,对融合数据进行数据切分,得到地理区域的融合地图数据,融合地图数据包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据,基于融合地图数据能够实现地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示,从而在sdmap基础上提高所展示的地图数据的精度,满足高精度的搜索和定位的需求。
示例性地,可以采用类四叉树的切分方法,对地理区域的融合数据进行数据切分,得到的融合地图数据。
例如,地图数据的地图层级,可以如图5所示,图5中的tile为瓦片,对应一个瓦片数据。图5中的dec.json表示描述文件,记录地图数据的最大地域范围,也即是起始层级(0级)对应的地域范围。图5中以0级-5级这6个地图层级为例,进行示例性地说明,本实施例此处不做具体限定。
步骤s404、将地理区域作为地图层级中起始层级对应的地域范围,按照各地图层级中瓦片的大小,进行瓦片切分,得到各地图层级中的瓦片对应的地域范围。
该步骤中,将地理区域作为地图层级中起始层级(0级)对应的地域范围,也就是最大图层对应的地域范围,获取其中的最大坐标和最小坐标。然后根据最大坐标和最小坐标,按照各地图层级中瓦片(tile)的大小,计算出瓦片的外包框,构建出lod中各地图层级的瓦片,得到各地图层级中的瓦片对应的地域范围。
步骤s405、根据所有数据对象所属要素分类对应的图层,以及各个图层对应的地图层级,确定各个数据对象对应的地图层级。
在确定各地图层级中的瓦片对应的地域范围之后,根据所有数据对象所属要素分类对应的图层,以及各个图层对应的地图层级,将数据对象所属要素分类对应的图层对应的地图层级,作为数据对象对应的地图层级,得到各个数据对象对应的地图层级。
步骤s406、根据各个数据对象的位置属性信息,以及各地图层级中的瓦片对应的地域范围,将各个数据对象划分至对应地图层级的瓦片中,得到融合地图数据。
在确定数据对象对应的地图层级之后,根据数据对象对应的地图层级中各个瓦片对应的地域范围;按照数据对象所在的地理位置,确定数据对象落入的瓦片,将数据对象划分到落入的瓦片中。将所有数据对象划分到对应的瓦片中之后,得到各个瓦片对应的瓦片数据。其中,瓦片对应的瓦片数据包括落入瓦片中的所有数据对象。
本实施例中,根据各个数据对象的位置属性信息,以及各地图层级中的瓦片对应的地域范围,将各个数据对象划分至对应地图层级的瓦片中,得到融合地图数据之后,记录融合地图数据中各个瓦片数据之间的包含关系,从而将融合地图数据存储为树的结构,实现瓦片数据的快速定位。
可选地,在瓦片数据对应的文件名称中记录该瓦片数据包含的下一地图层级的瓦片数据的标识,可以实现瓦片数据的快速定位,提高定位瓦片数据的效率。这样,在遍历所有瓦片数据时,可以根据当前瓦片数据的名称,即可查找到当前瓦片数据所包含的下一地图层级中的瓦片数据。
步骤s407、生成融合地图数据的描述文件,并记录地图层级的起始层级、终止层级、以及各地图层级的瓦片的大小。
其中,描述文件记录了融合地图数据的地图层级的起始层级对应的地域范围。
在对融合数据进行数据切分,得到地理区域的融合地图数据之后,生成融合地图数据的描述文件,并记录地图层级的起始层级、终止层级、以及各地图层级的瓦片的大小,为后续查找瓦片数据提供数据基础,从而实现瓦片数据的快速定位。
本实施例中得到的融合地图数据,可以应用于地图数据的搜索和定位的场景,具体参照第三实施例或第四实施例中的方法,本实施例此处不做具体限定。例如,融合地图数据可以应用于web端的地图数据的定位及显示。
示例性地,本实施例中得到的融合地图数据还可以应用于如下应用场景:在智慧交通应用中,车端、路端、云端和监控指挥中心协同工作,需要实时获取海量且准确的城市数据和道路数据。尤其是在监控指挥中心,可以基于融合传统导航地图和高精度地图得到的融合地图数据,在该基础上关联静态和动态位置信息,进行各种监控决策业务。
本申请实施例实现了高精度地图数据和标准地图数据的融合、并对融合数据进行数据切分得到融合地图数据,能够实现地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示,实现全要素全场景的融合地图数据的分层级显示,并且能够实现瓦片数据的快速定位,从而提高使用的地图数据的精度,满足高精度的搜索和定位的需求。
图6是本申请第三实施例提供的地图数据处理的方法流程图。如图6所示,该方法具体步骤如下:
步骤s601、获取各地理区域的融合地图数据,融合地图数据是通过将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据,并对融合数据进行数据切分得到的,融合地图数据包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据。
本实施例中获取的各地理区域的融合地图数据,可以是通过上述第一实施例或第二实施例提供的方法得到的,本实施例此处不再赘述。
步骤s602、响应于地图查询请求,加载落入可视范围内的瓦片数据。
本实施例中,用户可以通过web端设备或者终端设备上的应用程序等进行地图的搜索和定位,并向服务端的电子设备发送地图查询请求。服务端的电子设备响应于地图查询请求,加载落入可视范围内的瓦片数据。
步骤s603、渲染并显示落入可视范围内的瓦片数据。
在落入可视范围内的瓦片数据加载完成后,可以对瓦片数据进行渲染和显示。
本申请实施例通过获取各地理区域的融合地图数据,融合地图数据是通过将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据,并对融合数据进行数据切分得到的,融合地图数据包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据;该融合地图数据中既包含高精度地图数据中各个数据对象的高精度属性信息,也包含标准地图数据中各个数据对象的标准属性信息;响应于地图查询请求,加载落入可视范围内的瓦片数据,渲染并显示落入可视范围内的瓦片数据,基于地理区域的融合地图数据,能够实现地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示,从而提高使用的地图数据的精度,满足高精度的搜索和定位的需求。
图7是本申请第四实施例提供的地图数据处理的方法流程图。在上述第三实施例的基础上,本实施例中,响应于地图查询请求,加载落入可视范围内的瓦片数据,包括:根据各地理区域的融合地图数据的描述文件,若确定任一地理区域与可视范围有交集,则加载地理区域的融合地图数据中落入可视范围内的瓦片数据;其中,描述文件记录了地理区域的融合地图数据的起始层级对应的地域范围。
如图7所示,该方法具体步骤如下:
步骤s701、获取各地理区域的融合地图数据。
其中,融合地图数据是通过将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据,并对融合数据进行数据切分得到的,融合地图数据包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据。
本实施例中获取的各地理区域的融合地图数据,可以是通过上述第一实施例或第二实施例提供的方法得到的,本实施例此处不再赘述。
步骤s702、响应于地图查询请求,根据各地理区域的融合地图数据的描述文件,确定各地理区域与可视范围是否有交集。
其中,各地理区域的融合地图数据的描述文件,记录了融合地图数据的地图层级的起始层级对应的地域范围,也即是各个地理区域所覆盖的范围。
本实施例中,响应于地图查询请求,根据各地理区域的融合地图数据的描述文件,确定各地理区域与可视范围是否有交集。
对于任一地理区域,如果确定该地理区域与可视范围有交集,则执行步骤s703,加载落入可是范围内的瓦片数据。
如果确定该地理区域与可视范围没有交集,则不加载该地理区域的融合地图数据。
示例性地,响应于地图查询请求,获取请求的三维场景内的视角的位置和视锥体的范围;计算地理区域与视锥体范围是否相交。如果地理区域与视锥体范围相交,则确定地理区域与可视范围有交集;如果地理区域与视锥体范围不相交,则确定地理区域与可视范围没有交集。
例如,如果地理区域完全落入可视范围内,则加载该地图区域的融合地图数据中所有起始层级的瓦片数据,并对已加载的瓦片数据进行渲染和显示。
步骤s703、若某一地理区域与可视范围没有交集,则不加载该地理区域内的融合地图数据。
步骤s704、若确定任一地理区域与可视范围有交集,则逐一地将地理区域的融合地图数据的起始层级的瓦片数据作为目标数据。
该步骤中,对于每一个与可视范围有交集的地理区域,逐一地将该地理区域的融合地图数据的起始层级(0级)的瓦片数据作为目标数据,对目标数据进行后续步骤s705-s707的判断处理,以加载该目标数据对应地域范围内落入可是范围的瓦片数据。
步骤s705、根据目标数据的最小包围盒的大小和目标数据对应瓦片的地域范围,确定是否加载目标数据。
该步骤中,首先根据目标数据的最小包围盒的大小和目标数据对应瓦片的地域范围,确定是否加载目标数据。
本实施例中,该步骤具体可以采用如下方式实现:
根据目标数据对应瓦片的地域范围,确定目标数据对应瓦片的地域范围与可视范围是否有交集;若目标数据对应瓦片的地域范围与可视范围有交集,并且目标数据的最小包围盒的大小大于预设阈值,则确定加载目标数据;若目标数据对应瓦片的地域范围与可视范围没有交集,或者目标数据的最小包围盒的大小小于或等于预设阈值,则确定不加载目标数据。通过这种方式,可以精准地确定落入可视范围内的瓦片数据,并提高数据处理的效率。
示例性地,根据目标数据对应瓦片的地域范围,确定目标数据对应瓦片的地域范围与可视范围是否有交集,具体可以通过确定目标数据对应瓦片的地域范围是否与视锥体范围详见来实现,如果目标数据对应瓦片的地域范围与视锥体范围相交,则确定目标数据对应瓦片的地域范围与可视范围有交集;如果目标数据对应瓦片的地域范围与视锥体范围不相交,则确定目标数据对应瓦片的地域范围与可视范围没有交集。
进一步地,计算目标数据的最小包围盒的大小,可以通过以下方式实现:
计算目标数据对应目标瓦片的最小包围圆,确定目标瓦片的最小包围圆的圆心和半径;计算视点与目标瓦片的最小包围圆的圆心之间的距离;根据视角、目标瓦片的最小包围圆的半径、以及视点与目标瓦片的最小包围圆的圆心之间的距离,采用以下公式一,计算目标瓦片的最小包围盒的大小,也即是目标数据的最小包围盒的大小:
其中,p表示目标瓦片的最小包围盒的大小,也即是目标数据的最小包围盒的大小,单位是像素;r表示目标瓦片的最小包围圆的半径,d表示视点与目标瓦片的最小包围圆的圆心之间的距离,fov表示视角,h表示显示屏幕的高度,单位是像素。
其中,
示例性地,视锥体的视图如图8所示,瓦片所占屏幕像素的比例如图9所示。根据视角和瓦片所占屏幕的比例,可以计算得到瓦片的最小包围盒的大小,也即得到瓦片内瓦片数据的最小包围盒的大小。
预设阈值可以为64像素,预设阈值可以根据实际应用场景进行设置和调整,本实施例此处不做具体限定。
步骤s706、若确定加载目标数据,则对目标数据进行加载处理。
若确定加载目标数据,该步骤中加载该目标数据。
一种可选的实施方式中,为了提高数据加载效率,可以缓存用于存储已加载的瓦片数据。该步骤具体可以采用如下方式实现:
若缓存中存在目标数据,则从缓存中读取目标数据;若缓存中不存在目标数据,则根据目标数据的最小包围盒的大小,将目标数据的加载任务插入任务队列。这样,通过设置缓存来存储已加载的瓦片数据,可以减少瓦片数据的重复加载,提高瓦片数据的记载效率。
进一步地,可以并行地执行任务队列中的加载任务,从而并行地加载瓦片数据,提高地图数据加载的速度;并将加载到的瓦片数据存储到缓存中。
示例性地,本实施例中,可以由主线程负责数据渲染和显示的处理,通过多个子线程负责瓦片数据的加载和解析,不会影响主线程的操作,同时也可以加快瓦片数据的加载速度。
例如,子线程的数量可以是10个,子线程的数量可以根据实际应用场景的需要进行设置和调整,此处不做具体限定。
另外,任务队列可以采用二叉树优先级队列,权重因素可以采用瓦片数据的最小包围盒的大小,从而能够确定瓦片数据的加载优先级顺序,能够使得地图数据的加载和显示的效果更好。
可选地,将加载到的瓦片数据存储到缓存中之前,若缓存已存储的瓦片数据的数据量大于或等于预设数据量,则利用最近最少使用原则,将删除并释放缓存中最早存入的瓦片数据。
可选地,还可以对缓存所存储的数据总量进行控制。将加载到的瓦片数据存储到缓存中之前,若缓存已存储的瓦片数据的数量大于或等于预设数量,则利用最近最少使用原则,将删除并释放缓存中最早存入的瓦片数据,能够提高瓦片数据加载的效率。
可选地,缓存采用双向链的结构,以提高瓦片数据的加载速度。
这样,根据总量控制原则,当缓存大于一定的存储限制后,从双向链的队首进行移除并释放,同时兼顾最大加载数量原则,当屏幕内已显示的瓦片数据大于限制后,也会从双向链的队首进行移除并释放。
本实施例中,由于web端的内存有限,带宽有限,通过采用缓存总量控制,局部缓存,多线程加载解析的总体思想,提高融合地图数据加载的效率。
步骤s707、将目标数据包含的下一地图层级的瓦片数据作为新的目标数据,进行判断处理。
本实施例中,如果目标数据需要加载,递归地将其所包含的下一地图层级中的瓦片数据作为新的目标数据,进行步骤s705-s707的判断处理。
如果目标数据不需要加载,则其所包含的下一地图层级中的瓦片数据也无需加载,无需对其所包含的下一地图层级中的瓦片数据进行判断处理。
本实施例中,通过上述步骤s702-s707,实现根据各地理区域的融合地图数据的描述文件,若确定任一地理区域与可视范围有交集,则加载地理区域的融合地图数据中落入可视范围内的瓦片数据,能够准确地、快速地定位落入可是范围内的瓦片数据,提高瓦片数据的加载效率。
本申请实施例,通过根据瓦片数据的最小包围盒的大小和瓦片数据对应瓦片的地域范围,确定是否加载瓦片数据,能够准确地快速地定位到落入可是范围内的瓦片数据;通过双向链缓存已加载的瓦片数据,对于需要加载的瓦片数据,若缓存中存在该瓦片数据,则从缓存中读取;若缓存中不存在该瓦片数据,根据瓦片数据的最小包围盒的大小,将瓦片数据的加载任务插入任务队列,通过多线程方式并行地执行任务队列中的加载任务,来加载瓦片数据,能够提高瓦片数据的加载速度;进一步地,若缓存已存储的瓦片数据的数量大于或等于预设数量,则利用最近最少使用原则,将删除并释放缓存中最早存入的瓦片数据,能够对缓存中的瓦片数据进行总量控制。本实施例中,由于web端的内存有限,带宽有限,通过采用缓存总量控制,局部缓存,多线程加载解析的总体方案,提高融合地图数据加载的效率,能够实现地理区域内高度精度地图数据和标准地图数据的融合叠加显示,实现大数据了的三维地图的显示,实现全要素全场景的融合地图数据的分层级显示,从而提高使用的地图数据的精度,满足高精度的搜索和定位的需求。
图10是本申请第五实施例提供的地图数据处理的装置示意图。本申请实施例提供的地图数据处理的装置可以执行地图数据处理的方法实施例提供的处理流程。如图10所示,该地图数据处理的装置100包括:数据融合模块1001和数据切分模块1002。
具体地,数据融合模块1001,用于将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据。
数据切分模块1002,用于对融合数据进行数据切分,得到地理区域的融合地图数据。
其中,融合地图数据包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据,融合地图数据用于实现地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示。
本申请实施例提供的装置可以具体用于执行上述第一实施例提供的方法实施例,具体功能此处不再赘述。
本申请实施例通过将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据;对融合数据进行数据切分,得到地理区域的融合地图数据,得到的融合地图数据包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据;该融合地图数据中既包含高精度地图数据中各个数据对象的高精度属性信息,也包含标准地图数据中各个数据对象的标准属性信息,基于地理区域的融合地图数据,能够实现地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示,从而提高使用的地图数据的精度,满足高精度的搜索和定位的需求。
图11是本申请第六实施例提供的地图数据处理的装置示意图。本申请实施例提供的地图数据处理的装置可以执行地图数据处理的方法实施例提供的处理流程。如图11所示,该地图数据处理的装置110包括:数据融合模块1101和数据切分模块1102。
具体地,数据融合模块1101,用于将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据。
数据切分模块1102,用于对融合数据进行数据切分,得到地理区域的融合地图数据。
其中,融合地图数据包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据,融合地图数据用于实现地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示。
可选地,数据融合模块1101包括:数据获取子模块11011,用于获取高精度地图数据包含的第一数据对象和标准地图数据包含的第二数据对象,第一数据对象具有第一属性信息,第二数据对象具有第二属性信息。
匹配子模块11012,用于根据所在的地理位置之间的差异是否在预设范围内,对第一数据对象与第二数据对象进行匹配。
融合子模块11013,用于根据匹配结果,将匹配成功的第一数据对象和第二数据对象进行融合,得到第三数据对象,第三数据对象具有第三属性信息,第三属性信息包含匹配成功的第一数据对象和第二数据对象的属性信息。
地理区域的融合数据包括第三数据对象、匹配失败的第一数据对象和匹配失败的第二数据对象。
可选地,融合子模块11013还用于:对于匹配成功的第一数据对象和第二数据对象,将第一数据对象作为第三数据对象;将该第二数据对象的第二属性信息中,第一数据对象不具有的第二属性信息,添加至所第三数据对象。
可选地,数据融合模块1101还包括:要素及图层确定子模块11014,用于:获取高精度地图数据包含的第一数据对象和标准地图数据包含的第二数据对象之后,根据预先设置的高精度地图的要素分类,确定第一数据对象对应的要素分类,并根据第一数据对象对应的要素分类,确定第一数据对象对应的图层;根据预先设置的标准地图的要素分类,确定第二数据对象对应的要素分类,并根据第二数据对象对应的要素分类,确定第二数据对象对应的图层;其中,每个要素分类对应一个或者多个图层。
可选地,数据融合模块1101还包括:修正子模块11015,用于获取高精度地图数据包含的第一数据对象之后,对第一数据对象进行修正。
可选地,修正子模块11015还用于:对第一数据对象进行修正之后,对第一数据对象进行美化处理,和/或,对第一数据对象进行校验处理。
可选地,数据融合模块1101还包括:简化处理子模块11016,用于:获取高精度地图数据包含的第一数据对象和标准地图数据包含的第二数据对象之后,根据所在的地图层级,对第二数据对象进行简化处理。
可选地,数据获取子模块11011还用于:获取高精度地图数据中的第四数据对象,高精度地图数据中包含第四数据对象及第四数据对象的属性信息;根据高精度地图数据,计算特定要素分类的第五数据对象的属性信息,高精度地图中包含第五数据对象,且不包含第五数据对象的属性信息;第一数据对象包括第四数据对象和第五数据对象。
可选地,数据切分模块1102包括:
瓦片切分子模块11021,用于将地理区域作为地图层级中起始层级对应的地域范围,按照各地图层级中瓦片的大小,进行瓦片切分,得到各地图层级中的瓦片对应的地域范围。
数据切分子模块11022,用于:根据所有数据对象对应的图层,以及各个图层对应的地图层级,确定各个数据对象对应的地图层级;根据各个数据对象的位置属性信息,以及各地图层级中的瓦片对应的地域范围,将各个数据对象划分至对应地图层级的瓦片中,得到融合地图数据。
可选地,数据切分模块1102还包括:第一数据记录子模块11023,用于根据各个数据对象的位置属性信息,以及各地图层级中的瓦片对应的地域范围,将各个数据对象划分至对应地图层级的瓦片中,得到融合地图数据之后,记录融合地图数据中各个瓦片数据之间的包含关系。
可选地,第一数据记录子模块11023还用于:在瓦片数据对应的文件名称中记录该瓦片数据包含的下一地图层级的瓦片数据的标识。
可选地,据切分模块1102还包括:第二数据记录子模块11024还用于:根据各个数据对象的位置属性信息,以及各地图层级中的瓦片对应的地域范围,将各个数据对象划分至对应地图层级的瓦片中,得到融合地图数据之后,生成融合地图数据的描述文件,并记录地图层级的起始层级、终止层级、以及各地图层级的瓦片的大小;其中,描述文件记录了融合地图数据的地图层级的起始层级对应的地域范围。
本申请实施例提供的装置可以具体用于执行上述第二实施例提供的方法实施例,具体功能此处不再赘述。
本申请实施例实现了高精度地图数据和标准地图数据的融合、并对融合数据进行数据切分得到融合地图数据,能够实现地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示,实现全要素全场景的融合地图数据的分层级显示,并且能够实现瓦片数据的快速定位,从而提高使用的地图数据的精度,满足高精度的搜索和定位的需求。
图12是本申请第七实施例提供的地图数据处理的装置示意图。本申请实施例提供的地图数据处理的装置可以执行地图数据处理的方法实施例提供的处理流程。如图12所示,该地图数据处理的装置120包括:融合地图数据获取模块1201,数据加载模块1202和渲染和显示模块1203。
具体地,融合地图数据获取模块1201,用于获取各地理区域的融合地图数据,融合地图数据是通过将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据,并对融合数据进行数据切分得到的,融合地图数据包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据。
数据加载模块1202,用于响应于地图查询请求,加载落入可视范围内的瓦片数据。
渲染和显示模块1203,用于渲染并显示落入可视范围内的瓦片数据。
本申请实施例提供的装置可以具体用于执行上述第三实施例提供的方法实施例,具体功能此处不再赘述。
本申请实施例通过获取各地理区域的融合地图数据,融合地图数据是通过将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据,并对融合数据进行数据切分得到的,融合地图数据包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据;该融合地图数据中既包含高精度地图数据中各个数据对象的高精度属性信息,也包含标准地图数据中各个数据对象的标准属性信息;响应于地图查询请求,加载落入可视范围内的瓦片数据,渲染并显示落入可视范围内的瓦片数据,基于地理区域的融合地图数据,能够实现地理区域内高度精度地图数据和标准地图数据的分层级地加载和显示,从而提高使用的地图数据的精度,满足高精度的搜索和定位的需求。
图13是本申请第七实施例提供的地图数据处理的装置示意图。本申请实施例提供的地图数据处理的装置可以执行地图数据处理的方法实施例提供的处理流程。如图13所示,该地图数据处理的装置130包括:融合地图数据获取模块1301,数据加载模块1302和渲染和显示模块1303。
具体地,融合地图数据获取模块1301,用于获取各地理区域的融合地图数据,融合地图数据是通过将地理区域内的高精度地图数据和标准地图数据进行融合处理,得到地理区域的融合数据,并对融合数据进行数据切分得到的,融合地图数据包括分布在多个地图层级的瓦片数据,每个地图层级包括多个瓦片数据。
数据加载模块1302,用于响应于地图查询请求,加载落入可视范围内的瓦片数据。
渲染和显示模块1303,用于渲染并显示落入可视范围内的瓦片数据。
可选地,数据加载模块1302还用于:根据各地理区域的融合地图数据的描述文件,若确定任一地理区域与可视范围有交集,则加载地理区域的融合地图数据中落入可视范围内的瓦片数据;其中,描述文件记录了地理区域的融合地图数据的起始层级对应的地域范围。
可选地,数据加载模块1302包括:遍历子模块13021,用于根据各地理区域的融合地图数据的描述文件,若确定任一地理区域与可视范围有交集,则逐一地将地理区域的融合地图数据的起始层级的瓦片数据作为目标数据,对目标数据进行以下判断处理:根据目标数据的最小包围盒的大小和目标数据对应瓦片的地域范围,确定是否加载目标数据;若确定加载目标数据,则对目标数据进行加载处理;将目标数据包含的下一地图层级的瓦片数据作为新的目标数据,进行判断处理。
加载判断子模块13022,用于根据目标数据的最小包围盒的大小和目标数据对应瓦片的地域范围,确定是否加载目标数据。
加载处理子模块13023,用于若确定加载目标数据,则对目标数据进行加载处理。
可选地,加载判断子模块13022还用于:根据目标数据对应瓦片的地域范围,确定目标数据对应瓦片的地域范围与可视范围是否有交集;若目标数据对应瓦片的地域范围与可视范围有交集,并且目标数据的最小包围盒的大小大于预设阈值,则确定加载目标数据;若目标数据对应瓦片的地域范围与可视范围没有交集,或者目标数据的最小包围盒的大小小于或等于预设阈值,则确定不加载目标数据。
可选地,加载处理子模块13023还用于:若缓存中存在目标数据,则从缓存中读取目标数据;若缓存中不存在目标数据,则根据目标数据的最小包围盒的大小,将目标数据的加载任务插入任务队列。
可选地,加载处理子模块13023还用于:若缓存中不存在目标数据,则根据目标数据的最小包围盒的大小,将目标数据的加载任务插入加载任务队列之后,并行地执行任务队列中的加载任务;将加载到的瓦片数据存储到缓存中。
可选地,加载处理子模块13023还用于:将加载到的瓦片数据存储到缓存中之前,若缓存已存储的瓦片数据的数量大于或等于预设数量,则利用最近最少使用原则,将删除并释放缓存中最早存入的瓦片数据。
可选地,缓存采用双向链的结构。
本申请实施例提供的装置可以具体用于执行上述第四实施例提供的方法实施例,具体功能此处不再赘述。
本申请实施例,通过根据瓦片数据的最小包围盒的大小和瓦片数据对应瓦片的地域范围,确定是否加载瓦片数据,能够准确地快速地定位到落入可是范围内的瓦片数据;通过双向链缓存已加载的瓦片数据,对于需要加载的瓦片数据,若缓存中存在该瓦片数据,则从缓存中读取;若缓存中不存在该瓦片数据,根据瓦片数据的最小包围盒的大小,将瓦片数据的加载任务插入任务队列,通过多线程方式并行地执行任务队列中的加载任务,来加载瓦片数据,能够提高瓦片数据的加载速度;进一步地,若缓存已存储的瓦片数据的数量大于或等于预设数量,则利用最近最少使用原则,将删除并释放缓存中最早存入的瓦片数据,能够对缓存中的瓦片数据进行总量控制。本实施例中,由于web端的内存有限,带宽有限,通过采用缓存总量控制,局部缓存,多线程加载解析的总体方案,提高融合地图数据加载的效率,能够实现地理区域内高度精度地图数据和标准地图数据的融合叠加显示,实现大数据了的三维地图的显示,实现全要素全场景的融合地图数据的分层级显示,从而提高使用的地图数据的精度,满足高精度的搜索和定位的需求。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
根据本申请的实施例,本申请还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
图14示出了可以用来实施本申请的实施例的示例电子设备1400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图14所示,电子设备1400包括计算单元1401,其可以根据存储在只读存储器(rom)1402中的计算机程序或者从存储单元1408加载到随机访问存储器(ram)1403中的计算机程序,来执行各种适当的动作和处理。在ram1403中,还可存储设备1400操作所需的各种程序和数据。计算单元1401、rom1402以及ram1403通过总线1404彼此相连。输入/输出(i/o)接口1405也连接至总线1404。
设备1400中的多个部件连接至i/o接口1405,包括:输入单元1406,例如键盘、鼠标等;输出单元1407,例如各种类型的显示器、扬声器等;存储单元1408,例如磁盘、光盘等;以及通信单元1409,例如网卡、调制解调器、无线通信收发机等。通信单元1409允许设备1400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1401的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1401执行上文所描述的各个方法和处理,例如地图数据处理的方法。例如,在一些实施例中,地图数据处理的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1408。在一些实施例中,计算机程序的部分或者全部可以经由rom1402和/或通信单元1409而被载入和/或安装到设备1400上。当计算机程序加载到ram1403并由计算单元1401执行时,可以执行上文描述的地图数据处理的方法的一个或多个步骤。备选地,在其他实施例中,计算单元1401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行地图数据处理的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtualprivateserver",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。