Chciałbym pomóc w konstruowaniu kwerend sql do wykorzystania w szynach z activerecord-postgis-adapter. Dużo czytałem, ale teraz trochę utknąłem, każda pomoc będzie bardzo cenna.Ruby Rails Postgis - Znajdowanie wszystkich punktów w wielokącie
mam dwa modele Wydarzenia i obszarach:
wydarzenia mają „geometrii” kolumnę, która jest typu punkt
class Event < ActiveRecord::Base
self.rgeo_factory_generator = RGeo::Geos.factory_generator
end
t.spatial "geometry", :limit => {:srid=>4326, :type=>"polygon", :geographic=>true}
Obszary mieć „geometrii” kolumnę, która jest typu Polygon
class Area < ActiveRecord::Base
self.rgeo_factory_generator = RGeo::Geos.factory_generator
end
t.spatial "geometry", :limit => {:srid=>4326, :type=>"point", :geographic=>true}
Potrafię tworzyć i drukować zarówno zdarzenia, jak i obszary na mapie google i tworzyć obszary, klikając mapę i zapisując w bazie danych.
Chcę móc wykonać kroki 2 zapytania:
- @ area.events - Pokaż wszystkie wydarzenia w obszarze
- @ event.areas - Pokaż wszystkie obszary pojedynczego zdarzenia jest w
wiem, że może być pytanie trochę dużo tutaj, ale każda pomoc będzie mile widziane
Dziękujemy
Aby wyjaśnić ... szukasz skryptu SQL do zrobienia tego lub odpowiedzi rubinowej? Skrypt SQL Postgre to stosunkowo proste (użyj ST_contains) i mogę dać ci pełny skrypt, jeśli podasz schemat dla tych dwóch tabel i jak się one odnoszą. – Twelfth
Witam Dwunaste ... Chciałbym zaimplementować go w szynach, i nie jestem pewien, jak to zrobić, Chyba chciałabym połączyć tabelę między obszarami i Event AreasEvents na przykład, ponieważ chcę móc zobaczyć wydarzenia które znajdują się w danym obszarze, a biorąc pod uwagę wydarzenie, zobacz wszystkie obszary, w których się znajduje, ale nie widzę, jak mógłbym to zaimplementować ze standardowymi skojarzeniami szyn. Potrzebuję szybkiego rozwiązania, ponieważ będzie duża liczba zdarzeń, więc myślę, że muszę użyć ST_contains. Nie zaimplementowałem jeszcze żadnych relacji między tabelami. Dawki tej pomocy? – nodrog