Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Python Geolocation API

Project description

Diblo Geo is a Python 2 api for developer.

Diblo Geo makes it easy for Python developers to calculate coordinates and bearing across the globe.

Diblo Geo is tested against CPython 2.7.

Development site.

© Diblo Geo contributors 2016 under the The GNU General Public License v3.0.

Installation

Install using pip with:

pip install diblogeo

Or, download a wheel or source archive from PyPI.

Measuring Distances

Example 1:

>>> from diblogeo import Geo
>>> distance = Geo((55.3303636516, 10.4466164796)) \
...            .distance((55.3706593849, 10.469825563))
>>> print(distance)
4.70941600331
>>> print(distance.kilometers)
4.71
>>> print(distance.feet)
15450.84

Example 2 (Altitude 11.34 meters):

>>> from diblogeo import Geo
>>> distance = Geo((55.3303636516, 10.4466164796, 11.34)) \
...            .distance((55.3706593849, 10.469825563, 11.34))
>>> print(distance)
4.71780808395
>>> print(distance.kilometers)
4.72
>>> print(distance.feet)
15478.37

Measuring Angles

>>> from diblogeo import Geo
>>> bearing = Geo((55.3303636516, 10.4466164796)) \
...           .bearing((55.3706593849, 10.469825563))
>>> print(bearing)
18.1225041609
>>> print(bearing.degrees)
18.12
>>> print(bearing.radians)
0.316297366315

Projecting Destinations

Example 1:

>>> from diblogeo import Geo
>>> point = Geo((55.3303636516, 10.4466164796))
>>> point.destination(37.2, 3.2)
(55.3533088458, 10.4772564424, 0)
>>> point.destination(bearing=37.2, kilometers=3.2)
(55.3533088458, 10.4772564424, 0)
>>> point.destination(37.2, meters=3200)
(55.3533088458, 10.4772564424, 0)

Example 2 (Altitude 11.34 meters):

>>> from diblogeo import Geo
>>> point = Geo((55.3303636516, 10.4466164796, 11.34))
>>> point.destination(37.2, 3.2)
(55.3532680374, 10.4772019082, 11.34)
>>> point.destination(bearing=37.2, kilometers=3.2)
(55.3532680374, 10.4772019082, 11.34)
>>> point.destination(37.2, meters=3200)
(55.3532680374, 10.4772019082, 11.34)

Calculate Earth’s Radius

>>> from diblogeo import calc_earth_radius
>>> earth_radius = calc_earth_radius((55.3303636516, 10.4466164796, 11.34))
>>> print(earth_radius)
6375.05118755
>>> print(earth_radius.kilometers)
6375.05
>>> print(earth_radius.miles)
3961.27

More input and output methods

>>> from diblogeo import Geo
>>> location = Geo(("55° 19' 49.31\"", "10° 26' 47.82\"", 11.34)) \
...            .destination(37.2, miles=3.2)
>>> print(location.latitude, location.longitude, location.altitude)
(55.367221177288684, 10.495856496671713, 11.34)
>>> print(location[0], location[1], location[2])
(55.367221177288684, 10.495856496671713, 11.34)
>>> print(location.dms)
((55, 22, 1.99624, 'N'), (10, 29, 45.08339, 'E'), 11.34)
>>> print(location.dms.latitude, location.dms.longitude, location.altitude)
((55, 22, 1.99624, 'N'), (10, 29, 45.08339, 'E'), 11.34)

Locations/ Points Attributes

The attributes can be used with Geo and destination.

Decimal Degrees:

  • location, loc, dd
  • latitude, lat
  • longitude, lon
  • elevations, altitude, alt

location, loc and dd return an instance of _Point

  • [_Point].latitude, [_Point].lat
  • [_Point].longitude, [_Point].lon
  • [_Point].elevations, [_Point].altitude, [_Point].alt

Degrees Minutes Seconds:

  • dms
  • dms.latitude, dms.lat
  • dms.longitude, dms.lon
  • dms.elevations, dms.altitude, dms.alt

Unit of measurement

The attributes can be used with distance and calc_earth_radius. Destination supports all the units as distance argument.

  • kilometers, km
  • meters, m
  • cm
  • miles, mi
  • feet, ft
  • nautical, nm, nmi

Angle Units

The attributes can be used with bearing.

  • degrees, deg
  • radians, rad

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for diblogeo, version 0.1.0rc3
Filename, size File type Python version Upload date Hashes
Filename, size diblogeo-0.1.0rc3-py2-none-any.whl (8.8 kB) File type Wheel Python version py2 Upload date Hashes View hashes
Filename, size diblogeo-0.1.0rc3.tar.gz (20.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page