跳转到主要内容

Python地理编码工具箱

项目描述

Latest Version Build Status License

geopy是几个流行的地理编码Web服务的Python客户端。

geopy让Python开发者能够轻松地使用第三方地理编码器和其它数据源,在全球范围内定位地址、城市、国家和地标的位置坐标。

geopy 包含了针对 OpenStreetMap NominatimGoogle 地理编码 API (V3) 以及许多其他地理编码服务的地理编码类。完整列表可在 地理编码器文档部分 查找。地理编码类位于 geopy.geocoders

geopy 已在 CPython(版本 3.7、3.8、3.9、3.10、3.11、3.12)和 PyPy3 上进行了测试。geopy 1.x 版本还支持 CPython 2.7、3.4 和 PyPy2。

© geopy 贡献者 2006-2018(见 AUTHORS)在 MIT 许可证 下。

安装

使用 pip 安装

pip install geopy

或者,从 PyPI 下载 wheel 或源存档。

地理编码

要将查询定位到地址和坐标

>>> from geopy.geocoders import Nominatim
>>> geolocator = Nominatim(user_agent="specify_your_app_name_here")
>>> location = geolocator.geocode("175 5th Avenue NYC")
>>> print(location.address)
Flatiron Building, 175, 5th Avenue, Flatiron, New York, NYC, New York, ...
>>> print((location.latitude, location.longitude))
(40.7410861, -73.9896297241625)
>>> print(location.raw)
{'place_id': '9167009604', 'type': 'attraction', ...}

要找到对应一组坐标的地址

>>> from geopy.geocoders import Nominatim
>>> geolocator = Nominatim(user_agent="specify_your_app_name_here")
>>> location = geolocator.reverse("52.509669, 13.376294")
>>> print(location.address)
Potsdamer Platz, Mitte, Berlin, 10117, Deutschland, European Union
>>> print((location.latitude, location.longitude))
(52.5094982, 13.3765983)
>>> print(location.raw)
{'place_id': '654513', 'osm_type': 'node', ...}

测量距离

Geopy 可以使用 大地线距离大圆距离 计算两点之间的距离,默认为大地线距离,该距离可用作函数 geopy.distance.distance

以下是大地线距离的示例用法,使用一对 (纬度, 经度) 元组

>>> from geopy.distance import geodesic
>>> newport_ri = (41.49008, -71.312796)
>>> cleveland_oh = (41.499498, -81.695391)
>>> print(geodesic(newport_ri, cleveland_oh).miles)
538.390445368

使用大圆距离,也使用一对 (纬度, 经度) 元组

>>> from geopy.distance import great_circle
>>> newport_ri = (41.49008, -71.312796)
>>> cleveland_oh = (41.499498, -81.695391)
>>> print(great_circle(newport_ri, cleveland_oh).miles)
536.997990696

文档

更多文档和示例可在 Read the Docs 上找到。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

geopy-2.4.1.tar.gz (117.6 kB 查看哈希值

上传时间

构建分发

geopy-2.4.1-py3-none-any.whl (125.4 kB 查看哈希值)

上传时间 Python 3

由以下支持