Skip to content

Commit

Permalink
Adds the postgis adapter
Browse files Browse the repository at this point in the history
  • Loading branch information
babasbot committed Jan 19, 2017
1 parent 2a5dc8b commit b6854d4
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions lib/geokit-rails/adapters/postgis.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
module Geokit
module Adapters
class PostGIS < Abstract

def sphere_distance_sql(lat, lng, multiplier)
%|
(ACOS(least(1,COS(#{lat})*COS(#{lng})*COS(RADIANS(#{qualified_lat_column_name}))*COS(RADIANS(#{qualified_lng_column_name}))+
COS(#{lat})*SIN(#{lng})*COS(RADIANS(#{qualified_lat_column_name}))*SIN(RADIANS(#{qualified_lng_column_name}))+
SIN(#{lat})*SIN(RADIANS(#{qualified_lat_column_name}))))*#{multiplier})
|
end

def flat_distance_sql(origin, lat_degree_units, lng_degree_units)
%|
SQRT(POW(#{lat_degree_units}*(#{origin.lat}-#{qualified_lat_column_name}),2)+
POW(#{lng_degree_units}*(#{origin.lng}-#{qualified_lng_column_name}),2))
|
end

end
end
end

0 comments on commit b6854d4

Please sign in to comment.