impuls.tools.geo¶
- impuls.tools.geo.earth_distance_m(lat1: float, lon1: float, lat2: float, lon2: float) float¶
Calculates the distance on earth using the Haversine formula. Returns the result in meters.
- impuls.tools.geo.initial_bearing(lat1: float, lon1: float, lat2: float, lon2: float) float¶
Calculates the initial bearing when moving from (lat1, lon1) to (lat2, lon2) along a geodesic (shortest path). Returns the result in degrees.
>>> cape_town = -33.9, 18.4 >>> melbourne = -37.8, 144.9 >>> initial_bearing(*cape_town, *melbourne) 140.5123... >>> initial_bearing(*melbourne, *cape_town) -138.0879...
- impuls.tools.geo.EARTH_DIAMETER_M = 12742017.6¶
Mean Earth diameter, double of
EARTH_RADIUS_M.
- impuls.tools.geo.EARTH_RADIUS_M = 6371008.8¶
Mean Earth radius, 6 371 008.8 meters. Source: https://en.wikipedia.org/wiki/Earth_radius#Arithmetic_mean_radius