緯度経度を使って2地点間の距離を算出する必要があったので調べた内容をメモ。 地球は平面じゃないので少々計算式が面倒。 Google Mapの距離測定ツールでチェックしたので概ねOKなはず。 ※コードの利用は自己責任でお願いします。 #緯度経度から距離を計算する def get_distance(lat1, lng1, lat2, lng2) y1 = lat1 * Math::PI / 180 x1 = lng1 * Math::PI / 180 y2 = lat2 * Math::PI / 180 x2 = lng2 * Math::PI / 180 earth_r = 6378140 deg = Math::sin(y1) * Math::sin(y2) + Math::cos(y1) * Math::cos(y2) * Math::cos(x2 - x1) distance = ea