Saya memiliki tabel poligon (kelompok blok sensus) di postgres. Saya ingin memberi tag pada masing-masing grup blok dengan kota (tabel poligon lain) yang sebagian besar ada di dalamnya. Apakah ini mungkin? Saya pikir saya pada dasarnya perlu membuat sesuatu seperti:
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
tetapi kueri ini berlangsung selamanya (saya punya sekitar 5.000 grup blok dan 375 kota ...). Adakah saran tentang cara membuat kueri ini berfungsi baik jika itu salah, atau lebih cepat jika itu benar?