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 도시가 있습니다 ...). 이 쿼리가 올바르지 않은 경우 전혀 작동하거나 올바른 경우 더 빠른 방법에 대한 제안 사항이 있습니까?