geocod.io api的python包装器
pygeocodio的Python项目详细描述
用于Geocodio geocoding API的python包装器。
关于Read the Docs的完整文档。
如果要从0.2.0之前的版本升级,请查看更改日志 历史上第一次。默认的坐标顺序已更改为 对大多数用户来说更合理。
Geocodio API功能
- 对单个地址进行地理编码
- 一次最多10000个地址的批量地理编码
- 将地址解析为其可识别的组件
- 对单个地理点进行反向地理编码
- 一次最多10000个点的批量反向地理代码
这项服务目前仅限于美国和加拿大的地址。
阅读完整的Geocodio documentation 服务文档。
安装
PyGeocodio要求请求1.0.0或更高版本,并将确保请求 已安装:
pip install pygeocodio
基本用法
导入API客户端并确保您具有有效的API密钥:
>>> from geocodio import GeocodioClient >>> client = GeocodioClient(YOUR_API_KEY)
地理编码
对单个地址进行地理编码:
>>> geocoded_location = client.geocode("42370 Bob Hope Drive, Rancho Mirage CA") >>> geocoded_location.coords (33.738987255507, -116.40833849559)
批量地理编码
您还可以对地址列表进行地理编码:
>>> geocoded_addresses = client.geocode([ '2 15th St NW, Washington, DC 20024', '3101 Patterson Ave, Richmond, VA, 23221' ])
返回生成的地理编码地址的坐标列表:
>>> geocoded_addresses.coords [(38.890083, -76.983822), (37.560446, -77.476008)] >>> geocoded_addresses[0].coords (38.890083, -76.983822), (37.560446, -77.476008)
按查询地址查找地址:
>>> geocoded_addresses.get('2 15th St NW, Washington, DC 20024').coords (38.879138, -76.981879))
地址解析
如果您只想将单个地址解析为其组件:
>>> client.parse('1600 Pennsylvania Ave, Washington DC') { "address_components": { "number": "1600", "street": "Pennsylvania", "suffix": "Ave", "city": "Washington", "state": "DC" }, "formatted_address": "1600 Pennsylvania Ave, Washington DC" }
反向地理编码
对一个点进行反向地理编码以找到匹配的地址:
>>> location = client.reverse((33.738987, -116.4083)) >>> location.formatted_address "42370 Bob Hope Dr, Rancho Mirage CA, 92270"
批量反向地理编码
一次有多个点:
>>> locations = client.reverse([ (33.738987, -116.4083), (33.738987, -116.4083), (38.890083, -76.983822) ])
返回格式化地址列表:
>>> locations.formatted_addresses ["42370 Bob Hope Dr, Rancho Mirage CA, 92270", "42370 Bob Hope Dr, Rancho Mirage CA, 92270", "2 15th St NW, Washington, DC 20024"]
通过查询点元组访问特定地址:
>>> locations.get("38.890083,-76.983822").formatted_address "2 15th St NW, Washington, DC 20024"
或者通过查询的点元组的更自然的键:
>>> locations.get((38.890083, -76.983822)).formatted_address "2 15th St NW, Washington, DC 20024"
cli用法
在工作中!
文档
有关完整文档,请参见the docs。
许可证
BSD许可证
历史
0.10.0(2019-02-05)
- 在clinet中将http替换为https(感谢shea parkes!)
0.9.0(2019-01-15)
- 默认情况下使用geocodioapiv1.3的更新(感谢joshgeller!)
- API版本现在可配置为向后和向前兼容
0.8.0(2018-12-30)
- 添加新的美国人口普查字段(感谢Pedromachados!)
0.7.0(2018-03-29)
- 为2018年的选举增加了对新国会选区的支持(感谢nickcatal!)
0.6.0(2018-02-16)
- 升级至geocodio api 1.2版本(感谢minicodemonkey!)
- 更新允许的字段
- 更新加拿大现在包括的文档(感谢goorzhel!)
- 其他修复方法(感谢snake plissken!)
0.5.0(2016-05-16)
- 添加其他允许字段(人口普查、CD114)
0.4.2(2015-02-17)
- 错误修复上次错误修复
0.4.1(2015-02-17)
- 将“fields”参数扁平化为单个查询键的错误修复
0.4.0(2014-09-28)
- 批量反向地理编码的错误修复
- 从客户端方法中删除请求处理
0.3.0(2014-03-24)
- 添加对其他数据字段(如国会选区、时区)的支持
0.2.1(2014-02-15)
- 修复了Python3.3测试错误。不应该对python有任何功能影响 3.3使用PyGeocodio对象的匹配模块路径除外。
0.2.0(2014-02-07)
- 添加了初始反向地理编码功能
- 交换默认坐标顺序。这是一个基本上向后不兼容的 修改愚蠢的设计决定。
0.1.4(2014-01-25)
- 处理geoco.io返回空结果集的错误
0.1.3(2014-01-25)
- 包装修复,感谢@kyen99
0.1.2(2014-01-23)
- 基于linted服务器响应将fixture数据移动并增强为json数据
- 添加geocodio命名错误
- 更好地处理批处理请求中各个位置的错误
0.1.1(2014-01-22)
- 在setup.py中添加安装所需的请求,并将最低版本降至1.0.0
0.1.0(2014-01-21)
- pypi上的第一个版本。