Class: Geokit::Adapters::PostgreSQL
- Defined in:
- lib/geokit-rails/adapters/postgresql.rb
Instance Method Summary collapse
- #flat_distance_sql(origin, lat_degree_units, lng_degree_units) ⇒ Object
- #sphere_distance_sql(lat, lng, multiplier) ⇒ Object
Methods inherited from Abstract
#initialize, load, #method_missing
Constructor Details
This class inherits a constructor from Geokit::Adapters::Abstract
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Geokit::Adapters::Abstract
Instance Method Details
#flat_distance_sql(origin, lat_degree_units, lng_degree_units) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/geokit-rails/adapters/postgresql.rb', line 13 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 |
#sphere_distance_sql(lat, lng, multiplier) ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/geokit-rails/adapters/postgresql.rb', line 5 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 |