Ich habe ein Rails-Modell, das einen PostGIS POINT
Typ verwendet, um die Koordinaten eines Ortes zu speichern. Wie kann ich alle Orte abfragen, die in einem Begrenzungsrahmen enthalten sind? Der Begrenzungsrahmen kommt von Google Maps dies mag:Finden Sie alle Artikel innerhalb einer Bounding-Box mit PostGIS und Rails
/locations?within=40.766159%2C-73.989786%2C40.772781%2C-73.979905&per_page=500
dann in meinem Modell ich einen Umfang haben, dies zu umgehen, kann aber nicht herausfinden, wie die Abfrage richtig zu machen:
scope :within, ->(box_string) {
sw = box_string.split(",")[0..1].reverse.map {|c| c.to_f}
ne = box_string.split(",")[2..3].reverse.map {|c| c.to_f}
box = "BOX3D(#{sw[0]} #{sw[1]}, #{ne[0]} #{ne[1]})"
where(***WHAT DO I DO HERE?***)
}
Wie wäre es ohne 'Quietschen'? – Avishai