问题描述
我可以使ST_Intersects与一个点和一个多边形一起工作,但不能与一个点和一个多多边形一起工作。是否有一种简单的方法可以将多面体分成单个的多边形并在每个多边形上运行ST_Intersects?
解决方法
我看不到交叉点和多边形的问题:
with a as (
select to_geography('POLYGON((0.0 0.0,1.0 0.0,1.0 2.0,0.0 2.0,0.0 0.0))') as polygon
union all select to_geography('MULTIPOLYGON(((-124.20 42.00,-120.01 41.99,-121.1 42.01,-124.20 42.0)),((0.0 0.0,0.0 0.0)))')
),b as (
select to_geography('POINT(0.1 0.1)') point
union all select to_geography('POINT(3.3 3.3)')
union all select to_geography('POINT(-124.20 42.00)')
)
select ST_ASWKT(point),ST_ASWKT(polygon),st_intersects(polygon,point) intersects
from a,b
结果完全符合我的预期: