geopy

Geocoding library for Python.

Github星跟踪图

geopy

.. image:: https://img.shields.io/pypi/v/geopy.svg?style=flat-square
:target: https://pypi.python.org/pypi/geopy/
:alt: Latest Version

.. image:: https://img.shields.io/travis/geopy/geopy.svg?style=flat-square
:target: https://travis-ci.org/geopy/geopy
:alt: Build Status

.. image:: https://img.shields.io/github/license/geopy/geopy.svg?style=flat-square
:target: https://pypi.python.org/pypi/geopy/
:alt: License

geopy is a Python 2 and 3 client for several popular geocoding web
services.

geopy makes it easy for Python developers to locate the coordinates of
addresses, cities, countries, and landmarks across the globe using
third-party geocoders and other data sources.

geopy includes geocoder classes for the OpenStreetMap Nominatim,
Google Geocoding API (V3)
, and many other geocoding services.
The full list is available on the Geocoders doc section.
Geocoder classes are located in geopy.geocoders
.

.. _OpenStreetMap Nominatim: https://wiki.openstreetmap.org/wiki/Nominatim
.. _Google Geocoding API (V3): https://developers.google.com/maps/documentation/geocoding/
.. _Geocoders doc section: https://geopy.readthedocs.io/en/latest/#geocoders
.. _geopy.geocoders: https://github.com/geopy/geopy/tree/master/geopy/geocoders

geopy is tested against CPython (versions 2.7, 3.4, 3.5, 3.6, 3.7, 3.8),
PyPy, and PyPy3. geopy does not and will not support CPython 2.6.

© geopy contributors 2006-2018 (see AUTHORS) under the MIT License <https://github.com/geopy/geopy/blob/master/LICENSE>__.

Installation

Install using pip <http://www.pip-installer.org/en/latest/>__ with:

::

pip install geopy

Or, download a wheel or source archive from PyPI <https://pypi.python.org/pypi/geopy>__.

Geocoding

To geolocate a query to an address and coordinates:

.. code:: pycon

>>> 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', ...}

To find the address corresponding to a set of coordinates:

.. code:: pycon

>>> 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', ...}

Measuring Distance

Geopy can calculate geodesic distance between two points using the
geodesic distance <https://en.wikipedia.org/wiki/Geodesics_on_an_ellipsoid>_ or the
great-circle distance <https://en.wikipedia.org/wiki/Great-circle_distance>_,
with a default of the geodesic distance available as the function
geopy.distance.distance.

Here's an example usage of the geodesic distance:

.. code:: pycon

>>> 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

Using great-circle distance:

.. code:: pycon

>>> 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

Documentation

More documentation and examples can be found at
Read the Docs <http://geopy.readthedocs.io/en/latest/>__.

主要指标

概览
名称与所有者geopy/geopy
主编程语言Python
编程语言Makefile (语言数: 2)
平台
许可证MIT License
所有者活动
创建于2010-03-04 22:05:28
推送于2024-08-14 15:31:25
最后一次提交2023-11-23 23:41:49
发布数68
最新版本名称2.4.1 (发布于 2023-11-23 23:49:08)
第一版名称release-0.93 (发布于 2010-12-27 18:29:29)
用户参与
星数4.6k
关注者数88
派生数658
提交数1.1k
已启用问题?
问题数284
打开的问题数30
拉请求数143
打开的拉请求数17
关闭的拉请求数115
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?