geopy#
See geopy for the full API reference.
Get coordinates from an address#
from pyedautils.geopy import get_lat_long_address
coords = get_lat_long_address("Technikumstrasse 21, 6048 Horw, Switzerland")
print(coords) # [47.014, 8.305]
Get coordinates from a Swiss postal code#
from pyedautils.geopy import get_coordinates_ch_plz
lat, lon = get_coordinates_ch_plz(6048)
print(f"Horw: {lat:.4f}, {lon:.4f}") # Horw: 47.0108, 8.3039
The old, misspelled name get_coordindates_ch_plz still works but is deprecated and emits a DeprecationWarning.
Convert WGS84 to Swiss LV95#
from pyedautils.geopy import convert_wsg84_to_lv95
lv95 = convert_wsg84_to_lv95(47.0133, 8.3061)
print(f"E: {lv95[0]:.0f}, N: {lv95[1]:.0f}") # E: 2665945, N: 1207280
Get altitude from coordinates#
from pyedautils.geopy import get_altitude_lat_long, get_altitude_lv95
# From WGS84 (uses opentopodata.org)
alt = get_altitude_lat_long(47.0145, 8.3062)
print(f"Altitude: {alt} m") # ~440 m
# From LV95 (uses geo.admin.ch)
alt_lv95 = get_altitude_lv95([2665960.0, 1207350.0])
print(f"Altitude: {alt_lv95} m") # ~440 m
Calculate distance between two locations#
from pyedautils.geopy import get_coordinates_ch_plz, get_distance_between_two_points
horw = get_coordinates_ch_plz(6048)
interlaken = get_coordinates_ch_plz(3800)
dist = get_distance_between_two_points(horw, interlaken)
print(f"Distance: {dist} km") # ~50 km