用于根据提交的字符串推断国家/地区的库或API?

时间:2015-06-05 00:58:28

标签: python django-models geolocation input-sanitization

我追溯清理Offer Drive产品的大量数据(http://offerletter.io/drive.html)。我试图规范自由形式的位置"字段,以确定提交的位置是否属于美国(或不)。

值的格式可能不同,但所有值都是真实的,例如

San Francisco, CA Milwaukee Bangalore 我的问题是,是否有一种很好的方法(一些API或库)可以根据用户提交的字符串智能地对这些进行规范化,这样我就可以说:

normalized = GeoNormalize.normalize("San Francisco")
return normalized.country() == "United States"

我非常喜欢chronykhttps://github.com/KoffeinFlummi/Chronyk),对于地点来说,这样的事情会很棒。

2 个答案:

答案 0 :(得分:2)

有很多,通常由地图或GIS供应商提供。

例如,Google地理编码服务接受字符串并以标准格式返回排名的位置集:

https://developers.google.com/maps/documentation/geocoding/?csw=1#Geocoding

雅虎也有一个:

https://developer.yahoo.com/boss/geo/#overview

像我说的那样,有很多很多。它们通常可以免费使用,但在某一点之后会产生使用费。

答案 1 :(得分:1)

尝试geograpy

如果您使用python 3.x并在安装过程中遇到问题,请尝试:

    python3 -m pip3 install git+https://github.com/reach2ashish/geograpy.git
    python3 geograpy-nltk