Geocalc

Calculate distance, bearing and more between Latitude/Longitude points.

Summary

Functions

Calculates bearing. Return radians

Converts degrees to radians. Return radians

Finds point from start point with given distance and bearing. Return array with latitude and longitude

Finds point between start and end points in direction to end point with given distance. Return array with latitude and longitude

Calculates distance between 2 points. Return distance in meters

Converts radians to degrees. Return degrees

Functions

bearing(list1, list2)

Calculates bearing. Return radians.

Example

iex> berlin = [52.5075419, 13.4251364]
iex> paris = [48.8588589, 2.3475569]
iex> Geocalc.bearing(berlin, paris)
-1.9739245359361486
iex> Geocalc.bearing(paris, berlin)
1.0178267866082613
degrees_to_radians(degrees)

Converts degrees to radians. Return radians.

destination_point_given_distance_and_bearing_from_start_point(list, bearing, distance)

Finds point from start point with given distance and bearing. Return array with latitude and longitude.

Example

iex> berlin = [52.5075419, 13.4251364]
iex> bearing = -1.9739245359361486
iex> distance = 100_000
iex> Geocalc.destination_point_given_distance_and_bearing_from_start_point(berlin, bearing, distance)
[52.147030316318904, 12.076990111001148]
destination_point_given_distance_from_start_and_end_point(list1, list2, distance)

Finds point between start and end points in direction to end point with given distance. Return array with latitude and longitude.

Example

iex> berlin = [52.5075419, 13.4251364]
iex> paris = [48.8588589, 2.3475569]
iex> distance = 500_000
iex> Geocalc.destination_point_given_distance_from_start_and_end_point(berlin, paris, distance)
[50.5582900851695, 6.90714527103055]
distance_between(list1, list2)

Calculates distance between 2 points. Return distance in meters.

Example

iex> berlin = [52.5075419, 13.4251364]
iex> paris = [48.8588589, 2.3475569]
iex> Geocalc.distance_between(berlin, paris)
878327.4291149472
iex> Geocalc.distance_between(paris, berlin)
878327.4291149472
radians_to_degrees(radians)

Converts radians to degrees. Return degrees.