tonytonyjan / geodesics

geodesics calculates the geodesic distance between 2 points with latitude and longitude on ellipsoid Earth using Lambert's formula.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

geodesics

Build Status

geodesics calculates the geodesic distance between 2 points with latitude and longitude on ellipsoid Earth using Lambert's formula.

Features

Installation

gem install geodesics

Usage

Decimal Degree as Input

require 'geodesics'
latitude1 = 22.633333
longitude1 = 120.266670
latitude2 = 25.105497
longitude2 = 121.597366
Geodesics.distance(latitude1, longitude1, latitude2, longitude2)
# => 306035.64651391446
  • Distance unit is meter.
  • Geodesics#distance is an alias of Geodesics#distance_degree

Raidan as Input

Geodesics.distance_radian(latitude1, longitude1, latitude2, longitude2)

Customize Strategy

class MyStrategy
  def distance(point1, point2)
    # you implementation here
  end
end
g = Geodesics.new(strategy: MyStrategy.new)
g.distance(latitude1, longitude1, latitude2, longitude2)
g.distance_radian(latitude1, longitude1, latitude2, longitude2)

About

geodesics calculates the geodesic distance between 2 points with latitude and longitude on ellipsoid Earth using Lambert's formula.


Languages

Language:Ruby 100.0%