Używam następujący najbliższego sąsiada kwerend w PostGIS:K-Najbliższy sąsiad Zapytanie w PostGIS
SELECT g1.gid g2.gid FROM points as g1, polygons g2
WHERE g1.gid <> g2.gid
ORDER BY g1.gid, ST_Distance(g1.the_geom,g2.the_geom)
LIMIT k;
teraz, że stworzyliśmy indeksy na the_geom jak gid kolumnowej na obu tablicach, to zapytanie jest zajmuje dużo więcej czasu niż inne zapytania przestrzenne związane z połączeniami przestrzennymi b/w dwie tabele.
Czy istnieje lepszy sposób na znalezienie najbliższych sąsiadów K? Używam PostGIS.
I kolejna kwerenda, która bierze niezwykle długo, mimo tworzenia indeksów na kolumny geometrii:
select g1.gid , g2.gid from polygons as g1 , polygons as g2
where st_area(g1.the_geom) > st_area(g2.the_geom) ;
wierzę, te pytania arent korzystał przez indeksy GIST, ale dlaczego?
niniejsza zapytania:
select a.polyid , sum(length(b.the_geom)) from polygon as a , roads as b
where st_intersects(a.the_geom , b.the_geom);
powraca spowodować po pewnym czasie mimo udziałem „dróg” stół, który jest znacznie większy niż wielokątów lub punkty tabeli i obejmować również bardziej złożone operatory przestrzenne.
Zakładam, że pytanie, jak przyspieszyć zapytanie? Czy możesz pokazać nam wyniki WYBUCHUJ ANALIZA WYBIERZ ....? W ten sposób moglibyśmy wiedzieć, co się tam dzieje. – Thilo
Nie, moje pytanie brzmi: dlaczego to pytanie zajmuje więcej niż 5 razy więcej czasu niż trzecie pytanie powyżej !! –
ok, po mniej więcej oczekiwaniu, dla IInd Query otrzymuję następujący komunikat o błędzie: "brak pamięci dla wyniku zapytania" i wykonanie zapytania zostało zakończone. Czy ktoś może rzucić na to światło? –