ich dieBerechnung der Entfernung zwischen 2 Breiten- und Längen Stellen in einem Schienen-Projekt
Geokit-Schienen
gem bin mit dem Abstand zwischen zwei objets zu berechnen, die Breiten- und Längenfelder enthalten: https://github.com/geokit/geokit-rails
ich habe ein Bein Objekt - das Objekt und 1 Zielobjekt sowohl 1 Herkunft enthält.
Herkunft sieht wie folgt aus:
class Origin < ApplicationRecord
belongs_to :leg
validates :name, presence: true
validates :longitude, presence: true
validates :latitude, presence: true
validates :type, presence: true
acts_as_mappable :default_units => :miles,
:default_formula => :sphere,
:distance_field_name => :distance,
:lat_column_name => :latitude,
:lng_column_name => :longitude
end
Das Zielmodell sieht wie folgt aus:
class Destination < ApplicationRecord
belongs_to :leg
validates :name, presence: true
validates :longitude, presence: true
validates :latitude, presence: true
validates :type, presence: true
acts_as_mappable :default_units => :miles,
:default_formula => :sphere,
:distance_field_name => :distance,
:lat_column_name => :latitude,
:lng_column_name => :longitude
end
Dann habe ich diese Zeile in meinem Bein-Objekt aufrufen, um einen Abstand zwischen einem Ursprung und Ziel. Sowohl der Ursprungs- als auch der Zieldatensatz existieren - mit gültigen Breiten- und Längenwerten im DB.
def distance
if(origin.present? && destination.present?)
distance = origin.distance_from(destination, :units=>:miles)
puts "distance in leg is:"+distance.to_s
return distance
else
return 0
end
end
Der Abstand zurückgekehrt ist immer 0,0, trotz Verwendung gültige Herkunft/Zielobjekte, die entsprechenden Werte in den Breiten- und Längen Spalten haben.
verwende ich das falsch? Kann jemand helfen?
Was ist der Fehler hier? was ist deine Frage? –
Woops! hinzugefügt - Entschuldigung! – RenegadeAndy