一种行政区划匹配方法、装置、设备以及存储介质与流程
未命名
09-29
阅读:113
评论:0
1.本发明涉及车辆领域,尤其涉及一种行政区划匹配方法、装置、设备以及存储介质。
背景技术:
2.随着车辆技术的发展,在车联网大数据的分析过程中,往往需要将经纬度信息转化为对应的行政区划。现有的行政区划确定方法往往需要通过第三方获取,成本较高且容易导致隐私数据泄露。
3.因此,如何基于预先构建的索引,准确高效地确定出经纬度信息对应的行政区划,提高车联网大数据分析的效率,是目前亟待解决的问题。
技术实现要素:
4.本发明提供了一种行政区划匹配方法、装置、设备以及存储介质,可以基于预先构建的索引,准确高效地确定出经纬度信息对应的行政区划,提高车联网大数据分析的效率。
5.根据本发明的一方面,提供了一种行政区划匹配方法,包括:
6.响应于行政区划匹配事件,确定待匹配行政区划的目标经纬度信息,并根据目标经纬度信息,确定目标经纬度信息所处网格区域的网格编号;
7.根据所述网格编号,基于预设的粗略查询索引和精确查询索引,分别确定所述目标经纬度信息对应的省级信息和市级信息;
8.根据所述省级信息和市级信息,生成目标经纬度的行政区划匹配结果。
9.根据本发明的另一方面,提供了一种行政区划匹配装置,包括:
10.编号确定模块,用于响应于行政区划匹配事件,确定待匹配行政区划的目标经纬度信息,并根据目标经纬度信息,确定目标经纬度信息所处网格区域的网格编号;
11.信息确定模块,用于根据所述网格编号,基于预设的粗略查询索引和精确查询索引,分别确定所述目标经纬度信息对应的省级信息和市级信息;
12.生成模块,用于根据所述省级信息和市级信息,生成目标经纬度的行政区划匹配结果。
13.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
14.至少一个处理器;以及
15.与所述至少一个处理器通信连接的存储器;其中,
16.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的行政区划匹配方法。
17.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的行政区划匹配方法。
18.本发明实施例的技术方案,响应于行政区划匹配事件,确定待匹配行政区划的目标经纬度信息,并根据目标经纬度信息,确定目标经纬度信息所处网格区域的网格编号,根据网格编号,基于预设的粗略查询索引和精确查询索引,分别确定目标经纬度信息对应的省级信息和市级信息;根据省级信息和市级信息,生成目标经纬度的行政区划匹配结果。通过这样的方式,可以基于预先构建的索引,准确高效地确定出经纬度信息对应的行政区划,提高车联网大数据分析的效率。
19.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
20.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1a是本发明实施例一提供的一种行政区划匹配方法的流程图;
22.图1b是本发明实施例一提供的多边形网格覆盖示意图;
23.图2a是本发明实施例二提供的一种行政区划匹配方法的流程图;
24.图2b是本发明实施例二提供的一种索引构建方法的流程示意图;
25.图3是本发明实施例三提供的一种行政区划匹配装置的结构框图;
26.图4是本发明实施例四提供的电子设备的结构示意图。
具体实施方式
27.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
28.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“目标”、“候选”、“备选”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
29.在相关技术中,往往采用以下两种方式将经纬度信息转换为行政区划信息,第一种方式为:通过调用第三方地图软件或地图服务提供商提供的接口,查询经纬度对应的地理信息;这种方式必然会产生网络开销,且单次查询仅网络开销就是毫秒级的,无法满足车联网大数据分析时的性能要求;另外,通过第三方接口进行查询还可能会导致隐私数据泄露。同时商业公司提供的接口大多是收费的,如果每天需要计算上亿的车联网数据将会产
生不菲的费用。
30.第二种方式为:通过计算给定的经纬度点是否在行政区划边界的内部来确定出经纬度信息对应的行政区划,但因行政区划的边界一般都较为复杂,且划分行政区划数量庞大,逐一计算经纬度点是否在某个行政区域内速度会较慢,往往需要消耗大量的cpu时间。本发明的技术方案,基于预先根据行政区划的边界数据建立索引,从而可以基于预先构建的索引,准确高效地确定出经纬度信息对应的行政区划,提高车联网大数据分析的效率,具体的方案将在后续实施例详细介绍。
31.实施例一
32.图1a是本发明实施例一提供的一种行政区划匹配方法的流程图;图1b是本发明实施例一提供的多边形网格覆盖示意图;本实施例可适用于进行车辆网大数据分析时对经纬度信息对应的行政区划进行匹配的情况,该方法可以由行政区划匹配装置来执行,该行政区划匹配装置可以采用硬件和/或软件的形式实现,该行政区划匹配装置可配置于电子设备中,如车辆中,由车辆中的控制模块执行。如图1a所示,该行政区划匹配方法包括:
33.s101、响应于行政区划匹配事件,确定待匹配行政区划的目标经纬度信息,并根据目标经纬度信息,确定目标经纬度信息所处网格区域的网格编号。
34.其中,行政区划匹配事件是指需要为目标经纬度信息匹配对应的行政区划信息的事件。行政区划匹配事件例如可以是车辆行驶过程中,响应于匹配指令根据当前车辆所处的经纬度信息匹配对应行政区划的事件。行政区划匹配事件例如还可以是在车联网大数据分析过程中,需要将经纬度信息转化为对应的行政区划时自动生成的事件。目标经纬度信息是指目标进行行政区划匹配的经纬度信息。
35.可选的,每个网格区域对应一组经纬度点的集合;每个网格区域对应有唯一的一个网格编号;网格编号可以表征对应网格区域所处的等级。
36.需要说明的是,可以将预设地图区域划分为大小不等的网格,并给每个网格进行编号。根据划分的等级(如省级或市级)不同,其网格大小也不相同。但上下层级之间的编号是有相应关系的,可以通过网格编号获取其所有下级网格的编号,也可以获取其上级网格的编号。
37.可选的,可以先将地图划分为多个省和市,进一步将每个省和市通过大小不等的网格进行划分,根据每个网格所属的省和市,为省级网格和市级网格设置对应的网格编号,具体的,等级越高,网格编号越长,省级网格的编号比市级网格的编号长。地图上所有的经纬度都可以匹配到对应不同等级是网格,一个网格编号可以唯一标识地图上的一个网格区域。
38.需要说明的是,索引等级不同意味着网格大小等级不同,索引等级越高,所代表的网格大小则最小,如30级的网格平均大小约为0.74平方厘米。每个网格对应一个唯一的网格编码,其长度可以代表其等级,内容则可以代表索引。
39.可选的,可以根据目标经纬度信息中的经纬度,基于预设的经纬度与地理编码的一一对应关系,确定目标经纬度信息所处的地理编码,索引网格编号;也可以将目标经纬度信息与预设的至少两个网格经纬度范围进行对比,将目标经纬度信息所处的经纬度范围对应的网格,确定为目标网格,并将目标网格的编号确定为目标经纬度信息所处网格区域的网格编号;还可以将目标经纬度信息输入预先训练好的模型,直接输出目标经纬度信息所
处网格区域的网格编号。
40.s102、根据网格编号,基于预设的粗略查询索引和精确查询索引,分别确定目标经纬度信息对应的省级信息和市级信息。
41.其中,预设的粗略查询索引例如可以是省级的查询索引,用于确定网格编号对应的省级信息。预设的精确查询索引例如可以是市级的查询索引,用于确定网格编号对应的市级信息。
42.需要说明的是,索引对象的结构为树形结构,根索引对象中包含了所有省的索引对象,每个省的索引对象包含了省区域的粗略索引用于确定点是否在此省内,同时省索引对象包含其市级索引对象,每个市级索引对象包含了市级区域的精确索引,用于确定经纬度点是否在市内。
43.可选的,确定目标经纬度信息所处网格区域的网格编号之后,由于目标经纬度信息可以同时处于不同等级的网格区域,即目标经纬度信息所处网格区域的网格编号为多个,可以进一步确定出网格编号中的最高等级编号,并根据最高等级的网格编号,基于预设的粗略查询索引和精确查询索引,分别确定目标经纬度信息对应的省级信息和市级信息。
44.示例性的,可以基于s2-geometry方法中的“s2cellid.frompoint(p)”代码,实现最高等级的网格编号的确定。s2-geometry方法中最高可以设置30个等级的网格编号。
45.可选的,根据网格编号,基于预设的粗略查询索引和精确查询索引,分别确定目标经纬度信息对应的省级信息和市级信息,包括:根据网格编号中最高等级的网格编号,遍历预设粗略查询索引的网格列表,确定是否存在对应的目标省级信息;若是,则根据确定的目标省级信息和网格编号中最高等级的网格编号,遍历对应的精确查询索引中目标省级下的市区网格列表,确定是否存在对应的目标市级信息;若是,则将目标省级信息和为目标市级信息,确定为经纬度信息对应的省级信息和市级信息。
46.s103、根据省级信息和市级信息,生成目标经纬度的行政区划匹配结果。
47.可选的,确定目标经纬度信息对应的省级信息和市级信息之后,可以将确定的省级信息和市级信息进行整合,生成目标经纬度的行政区划匹配结果。生成行政区划匹配结果之后,可以向用户进行可视化展示或提醒,也可以用于后续车联网大数据的分析,本发明对此不做限制。
48.本发明实施例的技术方案,响应于行政区划匹配事件,确定待匹配行政区划的目标经纬度信息,并根据目标经纬度信息,确定目标经纬度信息所处网格区域的网格编号,根据网格编号,基于预设的粗略查询索引和精确查询索引,分别确定目标经纬度信息对应的省级信息和市级信息;根据省级信息和市级信息,生成目标经纬度的行政区划匹配结果。通过这样的方式,可以基于预先构建的索引,准确高效地确定出经纬度信息对应的行政区划,提高车联网大数据分析的效率。
49.可选的,可以预先根据预设地图的边界数据,构建粗略查询索引和精确查询索引,具体可以包括:根据预设地图行政区划的边界数据,将预设地图划分为至少两个省级多边形区域和市级多边形区域;基于预设的多边形覆盖算法,将各省级多边形区域和各市级多边形区域分别划分为网格区域,并确定各网格区域的省级网格编号和市级网格编号;根据省级网格编号和市级网格编号,建立粗略查询索引和精确查询索引,并根据省级网格编号和市级网格编号的对应关系,将市级精确查询索引保存至对应省级粗略查询索引下。其中,
预设的多边形覆盖算法可以为s2-geometry方法。
50.可选的,将市级精确查询索引保存至对应省级粗略查询索引下之后,可以将索引进行序列化并保存在文件中。
51.可选的,根据预设地图行政区划的边界数据,将预设地图划分为至少两个省级多边形区域和市级多边形区域,包括:通过预设通信接口调用地图开发者平台的行政区划接口,获取省级行政区及下级市级行政区的边界数据;将边界数据清洗为由经纬度组成的字符串序列,并根据字符串序列,绘制省级多边形区域和市级多边形区域。
52.其中,预设通信接口例如可以是http(超文本传输协议,hyper text transfer protocol)接口。行政区划接口例如可以是/config/district接口。
53.需要说明的是,若某个行政区的边界有至少两个(如5个)顶点组成,则可以按照逆时针方向,依次存储各顶点的经纬度信息,生成由经纬度组成的字符串序列。若某个行政区由至少两个不相交的连通区域组成,则可以分别保存为多个字符串序列。
54.可选的,根据字符串序列,可以将省级经纬度序列首尾相连绘制为多边形,生成省级多边形区域,同时将市级经纬度序列首尾相连绘制为多边形,生成市级多边形区域。若某个行政区有多组字符串序列,可以对应的绘制成多个多边形区域。
55.可选的,基于预设的多边形覆盖算法,将各省级多边形区域和各市级多边形区域分别划分为网格区域,包括:基于预设的多边形覆盖算法,根据预设的最大网格尺寸、最小网格尺寸以及最大网格数量,将各省级多边形区域和各市级多边形区域分别划分为不等大的网格区域。
56.示例性的,参见图1b,可以基于s2-geometry方法,在限定最大网格大小、最小网格大小、最大网格数量的情况下,用尽可能少的、不等大网格覆盖一个多边形区域,实现将各省级多边形区域和各市级多边形区域分别划分为不等大的网格区域。
57.需要说明的是,考虑到传统网格式的地理编码索引在网格划分时,网格过大无法保证省市边缘地区的精度,网格过小则需要保存大量索引数据,既占用空间又使得查询变慢,本发明采用大小不等的网格进行覆盖,可以更全面准确的覆盖多边形。
58.实施例二
59.图2a是本发明实施例二提供的一种行政区划匹配方法的流程图;图2b是本发明实施例二提供的一种索引构建方法的流程示意图;本实施例在上述实施例的基础上,提出了一种根据预先构建的查询索引,确定给定的经纬度对应行政区划的优选实例。如图2a所述,该方法包括如下过程:
60.1.将查询索引对象从保存的文件中反序列化为内存对象。
61.可选的,获取目标经纬度信息之后,可以生成对应的查询索引对象,并将查询索引对象从保存的文件中反序列化为内存对象。
62.需要说明的是,反序列化与本发明上述的序列化过程相反,具体可以利用java本身的对象反序列化方法进行反序列化。
63.2.计算给定的经纬度所属的最小的网格编号。
64.此最小网格编号具体指s2-geometry中,某个经纬度所在的最高等级(即30级level)网格的网格编号,计算方法为s2cellid.frompoint(p)。
65.3.遍历省级粗略索引,计算经纬度的网格编号是否命中,如命中该省,则进入步骤
4,如未命中则继续计算下一个省份。如果全部未命中则返回“未知”。查询时先遍历省级粗略索引,调用s2库中的contains方法判断点是否在网格列表中,如在的话则遍历该省的下级市级行政区,判断点是否在市级精确索引的网格列表中。如判断为真则返回该是及其省级行政区信息,如都未命中则返回“未知”。
66.4.在省级索引命中后,则开始遍历市级精确索引,计算经纬度的网格编号是否命中,如命中该市,则返回该市及其所属省份信息,如未命中则继续计算下一个省份,如果全部未命中则返回步骤3继续遍历下一个省份。
67.优选的,参见图2b,可以通过如下方法,预先构建粗略查询索引和精确查询索引:
68.(1)、获得行政区边界数据。将数据清洗为经度、纬度的字符串序列,经纬度应按照逆时针方向排列。如行政区域有多块不相交的边界,则保存为多个序列。
69.数据来源可以是公开的国家行政区划经纬度边界数据,可以通过国家地理平台、地图开发平台等方式获取,也可以通过第三方提供的api接口获取,如通过http接口获取到省市的边界坐标序列及下级行政区的信息,具体通过调用该接口,获取省市边界数据。
70.示例性的,调用第三方软件的行政区划接口(/config/district)获取到的边界数据为json格式,其中字段districts.district.polyline字段为行政区边界坐标点,该字段为字符串格式,其中经度与纬度之间以逗号(,)分割,经纬度与经纬度之间以分号(;)分割,如该行政区域有多个完全分隔的地块组成则每个地块的经纬度串间由竖线(|)分割。
71.基于上述字符串序列的生成规则,生成的字符串例如可以如下所示:“120.903347,38.381733;120.900577,38.382;120.899033,38.383545;120.898553,38.386476;120.899193,38.389566;120.900578,38.39127;120.902656,38.392495;120.905799,38.392974;120.909102,38.393667;120.910328,38.394733;|120.911021,38.396491;120.911554,38.398302;120.913793,38.400594;120.915712,38.401926;120.918058,38.402247;120.920777,38.40145;120.92435,38.398842;120.927977,38.395382;120.932031,38.391231;120.933472,38.38745;120.933685,38.384839”。
72.可选的,数据清洗的过程可以为:a)使用竖线分割字符串,保存为各地块的经纬度串;b)对各个地块的经纬度串使用分号分割字符串,得到该地块边界的经纬度数组;c)对各个经纬度数组使用逗号分割,得到具体的经度和纬度。在数据清洗的过程中可以将每个多边形区域按照顶点逆时针的方向清洗为字符串序列。
73.(2)、将处理好的省级经纬度序列首尾相连绘制为多边形,如有多个序列则绘制多个多边形。
74.确定出每个序列对应的区域,一个多边形是一个区域,一个省可能有多个市级区域,即使用地理边界的经纬度数据,构建多边形s2polygon。
75.(3)、对省级多边形建立粗略索引。即使用较少的网格覆盖该多边形,并保存所有网格的编号,作为省级索引。可以基于s2-geometry方法,在限定最大网格大小、最小网格大小、最大网格数量的情况下,用尽可能少的、不等大网格覆盖一个多边形。
76.索引等级不同意味着网格大小等级不同,索引等级越高,所代表的网格大小则最小,如30级的网格平均大小约为0.74平方厘米。每个网格对应一个唯一的网格id,其id的长度则代表其等级,内容则代表索引。
77.可选的,可以调用多边形覆盖方法s2regioncoverer.getcovering方法获取覆盖
的网格列表,覆盖参数为:最大网格等级8,最小网格等级4,最大网格数量12。这样的参数下覆盖的精度约为30-50km。将该数据存入省级粗略索引数组中。
78.(4)、将处理好的市级经纬度序列首尾相连绘制为多边形,如有多个序列则绘制多个多边形。
79.(5)、对市级多边形建立精确索引。即使用较多边缘使用较小的网格覆盖该多边形,并保存所有网格的编号,作为市级索引。
80.具体的,对该省区的市级行政区进行遍历,并再次调用行政区划接口获取市级边界数据,然后与省级边界相似通过构建多边形对象及获取覆盖网格列表,但覆盖参数改为:最大网格等级26,最小网格等级4,最大网格数量1000。在这样的参数下精度约为0.1-0.15m。
81.(6)、将市级索引保存至其所属省级的索引中,并将查询索引对象序列化到文件保存。将该数据存入市级精确索引中。市级数据遍历结束后,将市级数据存入该省的省级数据索引中,然后再进行下个省级行政区的遍历。当省级行政区遍历结束后,将所有数据序列化至数据文件。
82.可选的,可以先生成包含了所有省索引的索引对象,每个省索引下可以包含该省所有市的索引。进一步利用java语言的对象序列化极值,在java中创建objectoutputstream对象并调用其writeobject方法将索引对象写入文件中。
83.实施例三
84.图3是本发明实施例三提供的一种行政区划匹配装置的结构框图;本发明实施例所提供的一种行政区划匹配装置可适用于进行车辆网大数据分析时对经纬度信息对应的行政区划进行匹配的情况,该行政区划匹配装置可以采用硬件和/或软件的形式实现,并配置于具有行政区划匹配功能的设备中,如车辆中,如图3所示,该装置具体包括:
85.编号确定模块301,用于响应于行政区划匹配事件,确定待匹配行政区划的目标经纬度信息,并根据目标经纬度信息,确定目标经纬度信息所处网格区域的网格编号;
86.信息确定模块302,用于根据所述网格编号,基于预设的粗略查询索引和精确查询索引,分别确定所述目标经纬度信息对应的省级信息和市级信息;
87.生成模块303,用于根据所述省级信息和市级信息,生成目标经纬度的行政区划匹配结果。
88.本发明实施例的技术方案,响应于行政区划匹配事件,确定待匹配行政区划的目标经纬度信息,并根据目标经纬度信息,确定目标经纬度信息所处网格区域的网格编号,根据网格编号,基于预设的粗略查询索引和精确查询索引,分别确定目标经纬度信息对应的省级信息和市级信息;根据省级信息和市级信息,生成目标经纬度的行政区划匹配结果。通过这样的方式,可以基于预先构建的索引,准确高效地确定出经纬度信息对应的行政区划,提高车联网大数据分析的效率。
89.进一步的,其中,每个网格区域对应一组经纬度点的集合;每个网格区域对应有唯一的一个网格编号;网格编号表征对应网格区域所处的等级;
90.进一步的,信息确定模块302具体用于:
91.根据所述网格编号中最高等级的网格编号,遍历预设粗略查询索引的网格列表,确定是否存在对应的目标省级信息;
92.若是,则根据确定的目标省级信息和网格编号中最高等级的网格编号,遍历对应的精确查询索引中目标省级下的市区网格列表,确定是否存在对应的目标市级信息;
93.若是,则将目标省级信息和为目标市级信息,确定为经纬度信息对应的省级信息和市级信息。
94.进一步的,上述装置还包括:
95.划分模块,用于根据预设地图行政区划的边界数据,将预设地图划分为至少两个省级多边形区域和市级多边形区域;
96.编号确定模块,用于基于预设的多边形覆盖算法,将各省级多边形区域和各市级多边形区域分别划分为网格区域,并确定各网格区域的省级网格编号和市级网格编号;
97.索引构建模块,用于根据所述省级网格编号和市级网格编号,建立粗略查询索引和精确查询索引,并根据省级网格编号和市级网格编号的对应关系,将市级精确查询索引保存至对应省级粗略查询索引下。
98.进一步的,划分模块具体用于:
99.通过预设通信接口调用地图开发者平台的行政区划接口,获取省级行政区及下级市级行政区的边界数据;
100.将所述边界数据清洗为由经纬度组成的字符串序列,并根据所述字符串序列,绘制省级多边形区域和市级多边形区域。
101.进一步的,编号确定模块具体用于:
102.基于预设的多边形覆盖算法,根据预设的最大网格尺寸、最小网格尺寸以及最大网格数量,将各省级多边形区域和各市级多边形区域分别划分为不等大的网格区域。
103.进一步的,其中,预设的多边形覆盖算法为s2-geometry方法。
104.实施例四
105.图4是本发明实施例四提供的电子设备的结构示意图。图4示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
106.如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
107.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
108.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如行政区划匹配方法。
109.在一些实施例中,行政区划匹配方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的行政区划匹配方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行行政区划匹配方法。
110.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
111.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
112.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
113.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
114.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据
服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
115.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
116.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
117.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
技术特征:
1.一种行政区划匹配方法,其特征在于,包括:响应于行政区划匹配事件,确定待匹配行政区划的目标经纬度信息,并根据目标经纬度信息,确定目标经纬度信息所处网格区域的网格编号;根据所述网格编号,基于预设的粗略查询索引和精确查询索引,分别确定所述目标经纬度信息对应的省级信息和市级信息;根据所述省级信息和市级信息,生成目标经纬度的行政区划匹配结果。2.根据权利要求1所述的方法,其特征在于,其中,每个网格区域对应一组经纬度点的集合;每个网格区域对应有唯一的一个网格编号;网格编号表征对应网格区域所处的等级。3.根据权利要求2所述的方法,其特征在于,根据所述网格编号,基于预设的粗略查询索引和精确查询索引,分别确定所述目标经纬度信息对应的省级信息和市级信息,包括:根据所述网格编号中最高等级的网格编号,遍历预设粗略查询索引的网格列表,确定是否存在对应的目标省级信息;若是,则根据确定的目标省级信息和网格编号中最高等级的网格编号,遍历对应的精确查询索引中目标省级下的市区网格列表,确定是否存在对应的目标市级信息;若是,则将目标省级信息和为目标市级信息,确定为经纬度信息对应的省级信息和市级信息。4.根据权利要求1所述的方法,其特征在于,还包括:根据预设地图行政区划的边界数据,将预设地图划分为至少两个省级多边形区域和市级多边形区域;基于预设的多边形覆盖算法,将各省级多边形区域和各市级多边形区域分别划分为网格区域,并确定各网格区域的省级网格编号和市级网格编号;根据所述省级网格编号和市级网格编号,建立粗略查询索引和精确查询索引,并根据省级网格编号和市级网格编号的对应关系,将市级精确查询索引保存至对应省级粗略查询索引下。5.根据权利要求4所述的方法,其特征在于,根据预设地图行政区划的边界数据,将预设地图划分为至少两个省级多边形区域和市级多边形区域,包括:通过预设通信接口调用地图开发者平台的行政区划接口,获取省级行政区及下级市级行政区的边界数据;将所述边界数据清洗为由经纬度组成的字符串序列,并根据所述字符串序列,绘制省级多边形区域和市级多边形区域。6.根据权利要求4所述的方法,其特征在于,基于预设的多边形覆盖算法,将各省级多边形区域和各市级多边形区域分别划分为网格区域,包括:基于预设的多边形覆盖算法,根据预设的最大网格尺寸、最小网格尺寸以及最大网格数量,将各省级多边形区域和各市级多边形区域分别划分为不等大的网格区域。7.根据权利要求4所述的方法,其特征在于,其中,预设的多边形覆盖算法为s2-geometry方法。8.一种行政区划匹配装置,其特征在于,包括:编号确定模块,用于响应于行政区划匹配事件,确定待匹配行政区划的目标经纬度信息,并根据目标经纬度信息,确定目标经纬度信息所处网格区域的网格编号;
信息确定模块,用于根据所述网格编号,基于预设的粗略查询索引和精确查询索引,分别确定所述目标经纬度信息对应的省级信息和市级信息;生成模块,用于根据所述省级信息和市级信息,生成目标经纬度的行政区划匹配结果。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的行政区划匹配方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的行政区划匹配方法。
技术总结
本发明公开了一种行政区划匹配方法、装置、设备以及存储介质。该方法包括:响应于行政区划匹配事件,确定待匹配行政区划的目标经纬度信息,并根据目标经纬度信息,确定目标经纬度信息所处网格区域的网格编号;根据所述网格编号,基于预设的粗略查询索引和精确查询索引,分别确定所述目标经纬度信息对应的省级信息和市级信息;根据所述省级信息和市级信息,生成目标经纬度的行政区划匹配结果。本发明的技术方案,可以基于预先构建的索引,准确高效地确定出经纬度信息对应的行政区划,提高车联网大数据分析的效率。网大数据分析的效率。网大数据分析的效率。
技术研发人员:许超 邵天东 王亮
受保护的技术使用者:一汽(南京)科技开发有限公司
技术研发日:2023.05.05
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/