对没有后缀的街道地址进行地理编码

时间:2016-12-02 00:12:27

标签: python-3.x geocoding geocode geopy

情况: 我的任务是将地址编码并将地址绘制到城市地图中,以供该家庭的朋友使用。

我有400多个地址的列表。这些地址包括邮政信箱和地址,街道号码,方向,街道名称,街道后缀(有些没有这个),城市和邮政编码。

我尝试使用Geopy和Nominatim对所有地址进行地理编码。

问题:

我注意到那些没有街道后缀和邮政信箱的地址无法进行地理编码。

我做了什么:

我已经阅读了大多数关于地址的帖子,阅读了Geopy笔记并搜索了谷歌,直到奶牛回家。

我最终在一个地理编码网站上磕磕绊绊,无法映射邮政信箱,并且映射需要街道后缀。

http://www.gis.harvard.edu/services/blog/geocoding-best-practices

问题:

有没有办法搜索缺少街道后缀的每条街道的街道后缀?

是否有其他可以使用Nominatim和Geopy以外的免费服务或图书馆,可以利用我所拥有的信息而不要求我在Google地图中查找每个街道后缀?

请指教!

2 个答案:

答案 0 :(得分:1)

我发现使用Geopy和Google的API可以找到Nominatim,OpenCage和OpenMapquest等服务的正确地址。

有一个缺点,自动填充功能可能很难确定地址是否正确。

答案 1 :(得分:0)

首先,在需要找到缺少街道后缀的地址时,您需要使用地址验证服务中的地址完成。解决验证/验证的服务使用邮政服务数据(和其他数据)并将地址搜索输入与实际地址相匹配。如果搜索输入不够具体,则地址验证服务可能会返回少量潜在匹配。这里是an example of a non-specific address(缺少州,邮政编码和街道后缀),它返回两个与搜索输入匹配的真实地址。 SmartyStreets通常可以填写缺失的街道后缀。

其次,谈到邮政信箱问题:某些地址服务可以为您提供地理编码信息,以及您可能认为不可用的其他信息。例如,this search shows the SmartyStreets service将邮政信箱号码(我刚刚编写的)与当地邮局相匹配。当我在Google地图上搜索时,响应JSON中的纬度和经度对应于邮局。

第三,谈到拥有地址列表的问题:有各种地址服务允许批处理。例如,允许用户上传地址电子表格是一个相当常见的功能。这是SmartyStreets工具的information page

有多种地址服务可以帮助您完成所有或部分这些事情。根据服务的不同,如果您不进行很多搜索,它们将提供一些免费功能或免费提供。我不知道一项服务可以免费提供您所需要的一切。您可能可以一起使用一些服务,例如Google Maps API到Geopy等,但是需要花费精力来编写脚本以将它们放在一起。

完全披露:我在SmartyStreets工作。