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. es posible? Estoy pensando que esencialmente necesitaría crear 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 lleva una eternidad (tengo alrededor de 5,000 grupos de bloques y 375 ciudades ...). ¿Alguna sugerencia sobre cómo hacer que esta consulta funcione si es incorrecta o más rápida si es correcta?