geocod.io api的python包装器

pygeocodio的Python项目详细描述


https://badge.fury.io/py/pygeocodio.svghttps://travis-ci.org/bennylope/pygeocodio.svg?branch=masterhttps://pypip.in/d/pygeocodio/badge.svg

用于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上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java创建猜谜游戏程序   JavaWebSocketContainer。connectToServer似乎挂起了   如何在java中中断函数   java c#socket client multiple BeginSend()未到达服务器   不可见的组件然后在Java中的窗格之间切换   java在应用程序类中使用静态接口安全吗?   java等待函数完成,直到回调到来   使用DataOutputStream时的java新行,Android   java服务对象的定义是什么?   基于视图的javahibernate复合密钥   java将varchar连接到char在JPA(oracle)中不起作用   如何在java中通过point类读取多个点?