Tengo una tabla de polígonos (grupos de bloques censales) en Postgres. Quiero etiquetar cada grupo de bloques con la ciudad (otra tabla de polígonos) en la que reside principalmente en . ¿Es posible?
Estoy pensando que tendría que crear esencialmente algo como:
select b.*, t.name
from blockgroups b, towns t
where (st_area(st_intersection(b.wkb_geometry, t.wkb_geometry))/st_area(b.wkb_geometry)) > .5
pero esta consulta se eterniza (tengo unos 5.000 grupos de bloques y 375 ciudades...). ¿Alguna sugerencia sobre cómo hacer que esta consulta funcione en absoluto si es incorrecta, o más rápido si es correcta?