module NoaaWeatherClient::Services::CalculateDistanceBetweenLatLon
Public Class Methods
convert_to_radian(*args)
click to toggle source
# File lib/noaa_weather_client/services/calculate_distance_between_lat_lon.rb, line 15 def self.convert_to_radian(*args) args.map { |arg| arg / 180 * Math::PI } end
get_distance(lat1, lon1, lat2, lon2)
click to toggle source
# File lib/noaa_weather_client/services/calculate_distance_between_lat_lon.rb, line 6 def self.get_distance(lat1, lon1, lat2, lon2) lat1, lon1, lat2, lon2 = convert_to_radian(lat1, lon1, lat2, lon2) radius = 6371 #km s = sin(lat1) * sin(lat2) c = cos(lat1) * cos(lat2) * cos(lon2-lon1) acos(s + c) * radius; end