postgresにポリゴン(国勢調査ブロックグループ)のテーブルがあります。各ブロックグループに、主に存在する町(別のポリゴンテーブル)をタグ付けします。これは可能ですか?私は本質的に次のようなものを作成する必要があると考えています:
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
しかし、このクエリには永遠に時間がかかります(約5,000のブロックグループと375の町があります...)。このクエリが正しくない場合はまったく機能しない、または正しい場合は高速になる方法についての提案はありますか?