PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Trovare poligoni vicini - query postgis

Se stai chiedendo come aggiornare una tabella in base a una sottoquery che trova solo quei poligoni che hanno un vicino (cioè, toccano un altro poligono), allora quanto segue dovrebbe funzionare per te.

Update gemstat_simple5 gem set spread=1, time=2
  FROM (
     SELECT (b."GEM_NR")
       FROM gemstat_simple5 as a,
            gemstat_simple5 as b
       WHERE ST_Touches(a.the_geom, b.the_geom) 
       AND a."GEM_NR" != b."GEM_NR"
       AND a.spread = 1
     ) as subquery
 WHERE gem."GEM_NR" = subquery."GEM_NR"

Nota, ho inserito AND a."GEM_NR"