Join the official 2019 Python Developers 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.

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

## Installation

Install using pip with:

pip install diblogeo

## 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
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)
```

```>>> from diblogeo import calc_earth_radius
6375.05118755
6375.05
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, location, location)
(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

## Project details

This version 0.1.0rc3 pre-release 0.1.0rc2 pre-release 0.1.0rc1 pre-release