一种地址匹配方法及系统与流程

文档序号:11919136阅读:383来源:国知局
一种地址匹配方法及系统与流程

本发明涉及地理信息数据处理领域,特别是涉及一种地址匹配的方法和系统。



背景技术:

地理信息系统(GIS,Geographic Information System)是一种基于计算机的工具,它可以对在地球上存在的东西和发生的事件进行成图和分析。GIS技术把地图这种独特的视觉化效果和地理分析功能与一般的数据库操作(例如查询和统计分析等)集成在一起。这种能力使GIS与其他信息系统相区别,从而使其在广泛的公众和个人、企事业单位中解释事件、预测结果、规划战略等中具有实用价值。

因此,可以利用GIS平台在进行各种业务地址上图的操作,生成各种进行可视化的业务地图。然而,目前各机构单位系统内的业务系统仍然存在大量的无空间的业务地址,而无空间坐标的地址无法实现在地图动态展现。

因此,迫切需要解决如何将无空间坐标的业务地址进行智能匹配,从而进行上图操作。



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提供了一种地址的匹配方法,可以将无空间坐标进行智能匹配,以完成业务上图操作。

本发明通过以下的方案实现:一种地址的匹配方法,包括以下步骤:

S1:接收地址经纬度信息;

S2:验证数据合法性;若进行正向匹配时,执行步骤S3;若进行反向匹配,执行步骤S7;

S3:判断数据类型;若所述数据包含信息点时,则执行步骤S4;若所述数据具备详址,则执行步骤S5;若所述数据不具备信息点和详址,则执行步骤S6;

S4:执行信息点匹配;

S5:进行词组拆分,获得拆分词组列表,再执行详址匹配;

S6:行政区划补全和标准化字段处理,再执行没有详址和信息点的匹配;

S7:根据地址经纬度坐标和搜索半径参数,进行信息点搜索;

S8:判断半径范围内是否有信息点,若有,则返回距离最近的信息点的地址信息;若否,则设置匹配状态为未匹配到适当地址的结果对象。

进一步,所述步骤S4中具体包括:

S41:根据信息点名称,通过solr进行数据查询;

S42:判断是否存在该信息点的标准地址,若是,则执行下一步;若否,则执行S5;

S43:获取信息点标准地址信息;

S44:设置行政区划代码和名称;

S45:设置匹配率,返回匹配结果。

进一步,所述步骤S5中具体包括:

S51:解决行政区划冲突;

S52:根据地址扩展对象补全词组列表;

S53:重新标准化地址,设置并返回最小级别的行政区划标准地址;所述步骤S53中,具体包括:

S531:获取标准地址;

S532:根据词类标准化行政区划地址,并返回标准地址;

S533:若不存在或者存在多条结果,查询上一级地址,直至获得一条结果;

S534:判断标准地址是否存在以及是否匹配最近地址,若是匹配最近的地址,若否,执行下一步;

S535:返回得到的标准地址;

S54:判断返回的标准地址是否存在;若是,执行步骤S55,若否,则抛出异常处理;

S55:判断经纬度坐标是否都为0;若否,则获得标准地址数据;若是,则往上一级查询标准地址,并获得其标准地址数据;

S56:判断是否只需要匹配一条记录;若是,则设置匹配率和返回结果的对象;若否,通过solr查询,匹配多条结果;

S57:设置所属行政区划代码和名称,并返回结果。

进一步,所述步骤S6中所述行政区划补全和标准化字段处理的步骤包括:

S61:拼接组装查询地址;

S62:拆分拼接的地址;

S63:解决行政区划冲突;

S64:执行solr地址查询,进行字段补全,获取词组列表数据。

进一步,所述步骤S6中执行没有详址和信息点的匹配的步骤具体包括:

S65:重新标准化地址,设置并返回最小级别的行政区划标准地址;所述S65中具体包括:

S651:获取标准地址;

S652:根据词类标准化行政区划地址,并返回标准地址;

S653:若不存在或者存在多条结果,查询上一级地址,直至获得一条结果;

S654:判断标准地址是否存在以及是否匹配最近地址,若是,则匹配最近的地址,若否,则直接执行下一步;

S655:返回得到的标准地址;

S66:判断返回的标准地址是否存在,若是,则设置匹配率,获取最小级别行政区划的标准地址信息;若否,则抛出异常。

本发明还提供了一种地址的匹配系统,其包括

接收模块,用于接收地址信息数据;

验证模块,用于验证数据合法性;

正向匹配模块,所述正向匹配模块包括:第一判断模块、第一匹配模块、第二匹配模块和第三匹配模块;

所述第一判断模块,用于判断数据类型;若所述数据包含信息点时,则转到第一匹配模块;若所述数据具备详址,则转到第二匹配模块;若所述数据不具备信息点和详址,则转到第三匹配模块;

所述第一匹配模块,用于执行信息点匹配;

所述第二匹配模块,用于进行词组拆分,获得拆分词组列表,再执行详址匹配;

所述第三匹配模块,用于行政区划补全和标准化字段处理,再执行没有详址和信息点的匹配;

反向匹配模块,包括:信息点搜索模块和信息点判断模块;

所述信息点搜索模块,用于根据地址经纬度坐标和搜索半径参数,进行信息点搜索;

所述信息点判断模块,用于判断半径范围内是否有信息点,若有,则返回距离最近的信息点的地址信息;若否,则设置匹配状态为未匹配到适当地址的结果对象。

进一步,所述第一匹配模块中具体包括:

第一查询模块,用于根据信息点名称,通过solr进行数据查询;

第二判断模块,用于判断是否存在该信息点的标准地址,若是,则转到第一获取模块;若否,则转到第二匹配模块;

第一获取模块,用于获取信息点标准地址信息;

第一行政区划设置模块,用于设置行政区划代码和名称;

第一匹配率设置模块,用于设置匹配率,返回匹配结果。

进一步,所述第二匹配模块中具体包括:

第一行政区划冲突解决模块,用于解决行政区划冲突;

第一补全模块,用于根据地址扩展对象补全词组列表;

第一重新标准化模块,用于重新标准化地址,设置并返回最小级别的行政区划标准地址;

第三判断模块,用于判断返回的标准地址是否存在;若是,执行第四判断模块,若否,则抛出异常处理;

第四判断模块:判断经纬度坐标是否都为0;若否,则获得标准地址数据;若是,则往上一级查询标准地址,并获得其标准地址数据;

第五判断模块,用于判断是否只需要匹配一条记录;若是,则设置匹配率和返回结果的对象;若否,通过solr查询,匹配多条结果;

第二行政区划设置模块,用于设置所属行政区划代码和名称,并返回结果;

所述第一重新标准化模块,具体包括:

第二获取模块,用于获取标准地址;

第一返回模块,用于根据词类标准化行政区划地址,并返回标准地址;

第六判断模块,若不存在或者存在多条结果,查询上一级地址,直至获得一条结果;

第一最近地址匹配模块,用于匹配最近的地址;

第二返回模块,返回得到的标准地址。

进一步,所述第三匹配模块中,包括:

拼接模块,用于拼接组装查询地址;

拆分模块,用于拆分拼接的地址;

第二行政区划冲突解决模块,用于解决行政区划冲突;

第二补全模块,用于执行solr地址查询,进行字段补全,获取词组列表数据。

进一步,所述第三匹配模块还包括:

第二重新标准化模块,用于执行重新标准化地址,设置并返回最小级别的行政区划标准地址;

第七判断模块,用于判断返回的标准地址是否存在,若是,则设置匹配率,获取最小级别行政区划的标准地址信息;若否,则抛出异常;

所述第二重新标准化模块,具体包括:

第三获取模块,用于获取标准地址;

第三返回模块,用于根据词类标准化行政区划地址,并返回标准地址;

第八判断模块,若不存在或者存在多条结果,查询上一级地址,直至获得一条结果;

第二最近地址匹配模块,用于匹配最近的地址;

第四返回模块,返回得到的标准地址。

相比于现有技术,本发明可以实现通过业务地址名称与标准地址名称进行匹配,本发明系统将匹配率最高的标准地址与业务地址进行关联,从而实现无空间坐标的业务地址能够在地图上展现。

为了更好地理解和实施,下面结合附图详细说明本发明。

附图说明

图1是本发明的地址匹配方法的步骤流程图。

图2是本发明的步骤S4中具体步骤流程图。

图3是本步骤S5具体的步骤流程图。

图4是本步骤S53中的具体步骤流程图。

图5是步骤S6的具体步骤流程图。

图6是步骤S6的具体的步骤流程图。

图7是本发明的地址的匹配系统的模块框图。

图8是第一匹配模块的内部连接框图。

图9是第二匹配模块的模块框图。

图10是本发明的第一重新标准化模块的连接框图。

图11是第三匹配模块的模块连接框图。

图12是第二重新标准化模块的内部连接框图。

具体实施方式

本发明主要针对当用户在利用GIS系统制作业务地图时,各机构单位系统内的业务系统仍然存在大量的无空间的业务地址。由于所采用的并非标准的地址,因此无法直接实现上图操作。针对这种情况,本发明提供了一种能够对地址进行智能匹配的方法及系统。

以下结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

本实施例以城市危险源的管理系统为例,说明如何采用本发明的智能匹配方法,完成地址的匹配。

请参阅图1,其为本发明的地址匹配方法的步骤流程图。本发明提供了一种地址的匹配方法,包括以下步骤:

S1:接收地址信息数据。

在本实施例中,针对危险源的地址信息,需要相关的部门或单位进行数据采集,并进行对应的数据录入操作。而由于采集的地址并非都是标准的地址,因此需要进行以下的匹配操作。

具体的,对于数据的填写规范,可以参阅下表1。

表1数据详细地址填写说明

然而,在实际应用过程中,地址的组合并不完全依据地址层级设计方式进行组合,为保证地址标准的统一,经过对数据的分析和实地确认,风险点风险点、危险源详细地址参考省厅现有标准地址数据的组合模式,具体如下表:

表2标准地址组合模式

以下对标准地址层级结构的举例说明,如下表:

表3标准地址层级举例

以下针对详细地址的非标准地址的风险点危险源地址数据,非标准地址字段以文本方式进行详细描述,如下表4所示:

表4非标准地址层级举例

S2:验证数据合法性。数据的合法性,检查输入数据的必要字段不能为空,是否含有特色字符等,例如标注地址数据的匹配,要求省级行政区划名称、市级行政区划名称、区县行政区划名称、详址四个字段必须非空,如表3中的地址“广东省清远市清城区新城街道新城居委会沿江路20号兰苑小区1栋3梯502房”,省级行政区划名称应该填写“广东省”,市级行政区划名称应该填写“清远市”,区县行政区划名称应该填写“清城区”,详址应该填写“沿江路20号兰苑小区1栋3梯502房”,比如区县行政区划名称为空则视为不合法。

S3:判断数据类型。

在本步骤中,需要针对所接收的数据进行判断,根据不同情况分别进行处理,具体分为三种情况:

若所述数据包含信息点时,则执行步骤S4。例如,接收的信息点数据为:“XX村南侧大眼山北坡”“长城大道与东内环路交叉口”。

若所述数据具备详址,则执行步骤S5。例如,接收详细地址数据:“广东省清远市清城区新城街道新城居委会沿江路20号兰苑小区1栋3梯502房”。

若所述数据不具备信息点和详址,则执行步骤S6。例如,表3中的地址“广东省清远市清城区新城街道新城居委会沿江路20号兰苑小区1栋3梯502房”就具备了省级行政区划名称、市级行政区划名称、区县行政区划名称、详址;如果该数据只有“广东省清远市清城区新城街道新城居委会”。

S4:执行信息点匹配。

请同时参阅图2,其为本发明的步骤S4中具体步骤流程图。进一步,所述步骤S4中具体包括:

S41:根据信息点名称,通过solr进行数据查询。

S42:判断是否存在该信息点的标准地址,若是,则执行下一步;若否,则执行S5。

S43:获取该信息点的标准地址信息。这里的标准地址信息,是指标准地址组合模式的地址,实际就是信息点是所附属的标准地址,比方“广州市天河区广园东广之旅大厦XX室广XX事务所”这样的地址描述,“XX事务所”是信息点,其标准地址就是“广州市天河区广园东广之旅大厦XX室”。

S44:设置行政区划代码和名称。

S45:设置匹配率,返回匹配结果。这里当查到找对应的信息点,则设置匹配率为100%。

S5:进行词组拆分,获得拆分词组列表,再执行详址匹配。

具体的,例如将接收的地址“广东省清远市清城区新城街道新城居委会沿江路20号兰苑小区1栋3梯502房”拆分为词组列表,拆分后的词组列表如上述表3所示。

进一步请参阅图3,其为本步骤S5具体的步骤流程图。所述步骤S5中详址匹配的步骤具体包括:

S51:解决行政区划冲突;行政区划冲突分两类,主要是因为在录入地址是采用口语化或者没有完整输入,一个顺序错误,比方广州市天河区,写成“天河区广州市”,二是词义重复导致一个词可归属多个地址层级,常见与乡镇街道、居村委会跟道路名重复,而用户在输入的时候,没有将后缀写清楚,导致无法从单个词来判断其是属于那个地址层级,需要从其输入的上下文来判断地址层级的合理性。

S52:根据地址扩展对象补全词组列表。例如:若接收的地址为“清远市清城区兰苑小区1栋3梯502房”,则可以根据其前后地址进行补全,将其补全为“广东省清远市清城区新城街道新城居委会沿江路20号兰苑小区1栋3梯502房”。

S53:重新标准化地址,设置并返回最小级别的行政区划标准地址。请同时参阅图4,其为本步骤S53中的具体步骤流程图。所述步骤S53中,具体包括:

S531:获取标准地址。常用地址或者口语化,时常没有说乡镇街道办,居村委等地址层级,这里是指获取相应地址层级都补全的标准地址。

S532:根据词类标准化行政区划地址,并返回标准地址。

S533:若不存在或者存在多条结果,查询上一级地址,直至获得一条结果。这里的查询是按地址层级逐级往上查询,确认其归属。

S534:判断标准地址是否存在以及是否匹配最近地址,若是匹配最近的地址,若否,执行下一步。具体的,在进行最近地址匹配时,是根据经纬度,计算距离。

S535:返回得到的标准地址。

S54:判断返回的标准地址是否存在;若是,执行步骤S55,若否,则抛出异常处理。

S55:判断经纬度坐标是否都为0;若否,则获得标准地址数据;若是,则往上一级查询标准地址,并获得其标准地址数据。在本实施例中,由于部分数据由于未正确采集,所以坐标串为0。

S56:判断是否只需要匹配一条记录;若是,则设置匹配率和返回结果的对象;若否,通过solr查询,匹配多条结果。

S57:设置所属行政区划代码和名称,并返回结果。

S6:行政区划补全和标准化字段处理,再执行没有详址和信息点的匹配。

进一步请参阅图5,其为步骤S6的具体步骤流程图。所述步骤S6中所述行政区划补全和标准化字段处理的步骤包括:

S61:拼接组装查询地址;

S62:拆分拼接的地址;

S63:解决行政区划冲突;

S64:执行solr地址查询,进行字段补全,获取词组列表数据。

进一步请参阅图6,其为步骤S6的具体的步骤流程图。所述步骤S6中执行没有详址和信息点的匹配的步骤具体包括:

S65:重新标准化地址,设置并返回最小级别的行政区划标准地址。进一步请参阅图6,其为步骤S6的具体的步骤流程图。所述S65中具体包括:

S651:获取标准地址;常用地址或者口语化,时常没有说乡镇街道办,居村委等地址层级,这里是指获取相应地址层级都补全的标准地址。

S652:根据词类标准化行政区划地址,并返回标准地址;

S653:若不存在或者存在多条结果,查询上一级地址,直至获得一条结果;

S654:判断标准地址是否存在以及是否匹配最近地址,若是,则匹配最近的地址,若否,则直接执行下一步;

S655:返回得到的标准地址;

S66:判断返回的标准地址是否存在,若是,则设置匹配率,获取最小级别行政区划的标准地址信息;若否,则抛出异常。

S7:根据地址经纬度坐标和搜索半径参数,进行信息点搜索。具体的,在进行信息点搜索时,本发明采用solr空间查询方法搜索缓冲区内距离最近的信息点。

S8:判断半径范围内是否有信息点,若有,则返回距离最近的信息点的地址信息;若否,则设置匹配状态为未匹配到适当地址的结果对象。

另外,本发明还提供了一种与上述方法对应的地址匹配系统,具体请参阅图7,其为本发明的地址的匹配系统的模块框图。

本发明还提供了一种地址的匹配系统,包括接收模块1、验证模块2、正向匹配模块和反向匹配模块。

所述正向匹配模块包括:第一判断模块3、第一匹配模块4、第二匹配模块5和第三匹配模块6。

所述接收模块1,用于接收地址信息数据。

所述验证模块2,用于验证数据合法性。

所述第一判断模块3,用于判断数据类型;若所述数据包含信息点时,则转到第一匹配模块;若所述数据具备详址,则转到第二匹配模块;若所述数据不具备信息点和详址,则转到第三匹配模块。

所述第一匹配模块4,用于执行信息点匹配。

所述第二匹配模块5,用于进行词组拆分,获得拆分词组列表,再执行详址匹配。

所述第三匹配模块6,用于行政区划补全和标准化字段处理,再执行没有详址和信息点的匹配。

进一步,请参阅图8,其为第一匹配模块的内部连接框图。

所述第一匹配模块4中具体包括:第一查询模块41、第二判断模块42、第一获取模块43、第一行政区划设置模块44和第一匹配率设置模块45。

所述第一查询模块41,用于根据信息点名称,通过solr进行数据查询。

所述第二判断模块42,用于判断是否存在该信息点的标准地址,若是,则转到第一获取模块;若否,则转到第二匹配模块。

所述第一获取模块43,用于获取信息点标准地址信息。

所述第一行政区划设置模块44,用于设置行政区划代码和名称;

第一匹配率设置模块45,用于设置匹配率,返回匹配结果。

进一步,请同时参阅图9,其为第二匹配模块的模块框图。所述第二匹配模块5中具体包括:第一行政区划冲突解决模块51、第一补全模块52、第一重新标准化模块53、第三判断模块54、第四判断模块55、第五判断模块56和第二行政区划设置模块57。

所述第一行政区划冲突解决模块51,用于解决行政区划冲突。

所述第一补全模块52,用于根据地址扩展对象补全词组列表。

所述第一重新标准化模块53,用于重新标准化地址,设置并返回最小级别的行政区划标准地址。

所述第三判断模块54,用于判断返回的标准地址是否存在;若是,执行第四判断模块,若否,则抛出异常处理。

所述第四判断模块55,用于判断经纬度坐标是否都为0;若否,则获得标准地址数据;若是,则往上一级查询标准地址,并获得其标准地址数据。

所述第五判断模块56,用于判断是否只需要匹配一条记录;若是,则设置匹配率和返回结果的对象;若否,通过solr查询,匹配多条结果。

所述第二行政区划设置模块57,用于设置所属行政区划代码和名称,并返回结果。

请同时参阅图10,其为本发明的第一重新标准化模块的连接框图。所述第一重新标准化模块53,具体包括:第二获取模块531、第一返回模块532、第六判断模块533、第一最近地址匹配模块534和第二返回模块535。

所述第二获取模块531,用于获取标准地址。

所述第一返回模块532,用于根据词类标准化行政区划地址,并返回标准地址。

所述第六判断模块533,若不存在或者存在多条结果,查询上一级地址,直至获得一条结果。

所述第一最近地址匹配模块534,用于匹配最近的地址。

所述第二返回模块535,返回得到的标准地址。

进一步,请参阅图11,其为第三匹配模块的模块连接框图。所述第三匹配模块6中,包括:拼接模块61、拆分模块62、第二行政区划冲突解决模块63、第二补全模块64、第二重新标准化模块65和第七判断模块66。

所述拼接模块61,用于拼接组装查询地址。

所述拆分模块62,用于拆分拼接的地址。

所述第二行政区划冲突解决模块63,用于解决行政区划冲突。

所述第二补全模块64,用于执行solr地址查询,进行字段补全,获取词组列表数据。

所述第二重新标准化模块65,用于执行重新标准化地址,设置并返回最小级别的行政区划标准地址。

所述第七判断模块66,用于判断返回的标准地址是否存在,若是,则设置匹配率,获取最小级别行政区划的标准地址信息;若否,则抛出异常。

进一步,请参阅图12,其为第二重新标准化模块的内部连接框图。所述第二重新标准化模块65,具体包括:第三获取模块651、第三返回模块652、第八判断模块653、第二最近地址匹配模块654和第四返回模块655。

所述第三获取模块651,用于获取标准地址。

所述第三返回模块652,用于根据词类标准化行政区划地址,并返回标准地址。

所述第八判断模块653,若不存在或者存在多条结果,查询上一级地址,直至获得一条结果。

所述第二最近地址匹配模块654,用于匹配最近的地址。

所述第四返回模块655,返回得到的标准地址。

所述反向匹配模块包括:信息点搜索模块7和信息点判断模块8。

所述信息点搜索模块7,用于根据地址经纬度坐标和搜索半径参数,进行信息点搜索;

所述信息点判断模块8,用于判断半径范围内是否有信息点,若有,则返回距离最近的信息点的地址信息;若否,则设置匹配状态为未匹配到适当地址的结果对象。

相比于现有技术,本发明可以实现通过业务地址名称与标准地址名称进行匹配,本发明系统将匹配率最高的标准地址与业务地址进行关联,从而实现无空间坐标的业务地址能够在地图上展现。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1