You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using Geokit to find the closest station to a location. The code runs after validation.
Here's the Location model:
class Location < ActiveRecord::Base
belongs_to :station
# Find nearest station after validation
after_validation :update_nearest_station
def update_nearest_station
nearest_station = Station.closest(:origin => [latitude,longitude])
update_attribute(:station_id, nearest_station.id)
end
end
and the Station model:
class Station < ActiveRecord::Base
has_many :locations
acts_as_mappable :default_units => :km, :lat_column_name => :latitude, :lng_column_name => :longitude
end
When I run the code either by editing/adding a new Location or through my seed data I get the following error:
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near ")"
LINE 4: ... SIN(0.8992918053979032)*SIN(RADIANS(stations.latitude))))*)
^
: SELECT "stations".* FROM "stations" ORDER BY
(ACOS(least(1,COS(0.8992918053979032)*COS(-0.0014597933863680574)*COS(RADIANS(stations.latitude))*COS(RADIANS(stations.longitude))+
COS(0.8992918053979032)*SIN(-0.0014597933863680574)*COS(RADIANS(stations.latitude))*SIN(RADIANS(stations.longitude))+
SIN(0.8992918053979032)*SIN(RADIANS(stations.latitude))))*)
asc LIMIT 1
I've tried lots of different ways of doing this using Geokit's other methods (e.g. within with first) but I can't seem to get it to work.
Is this a bug with Geokit or am I missing something really obvious?
The text was updated successfully, but these errors were encountered:
For those wondering it's related to the unit.
If you set the :default_units to an unknow value the request failed (for my case :km instead of :kms)
Related to #97
I'm using Geokit to find the closest station to a location. The code runs after validation.
Here's the Location model:
and the Station model:
When I run the code either by editing/adding a new Location or through my seed data I get the following error:
I've tried lots of different ways of doing this using Geokit's other methods (e.g.
within
withfirst
) but I can't seem to get it to work.Is this a bug with Geokit or am I missing something really obvious?
The text was updated successfully, but these errors were encountered: