sql >> Base de Datos >  >> RDS >> PostgreSQL

Encontrar polígonos vecinos - consulta postgis

Si está preguntando cómo actualizar una tabla basada en una subconsulta que encuentra solo aquellos polígonos que tienen un vecino (es decir, tocan otro polígono), entonces lo siguiente debería funcionar para usted.

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"

Tenga en cuenta que he puesto AND a."GEM_NR"