2012-06-15 26 views
0

我想知道polygon1.the_geompolygon2.the_geom之間是否有重疊。但是,我不想知道每個實例是否有重疊。相反,如果ST_Overlap中的任何地方只有一處重疊,我希望返回一個值,即「true」。如果沒有重疊發生,那麼我只需要返回一個「false」值。使用ST_Union來組合結果將無法在布爾值上工作,這一點我知道。但是,我需要將查詢結果縮小到只有一行。如何讓ST_Overlap返回單個真值或假值?

SELECT ST_Overlaps(polygon1.the_geom, polygon2.the_geom) from polygon1, polygon2 

回答

0

我沒那麼熟悉PostGIS的,但你應該能夠加入對ST_Overlaps(...),看看你得到什麼:

select exists(
    select 1 
    from polygon1 
    join polygon2 on ST_Overlaps(polygon1.the_geom, polygon2.the_geom) 
) 

連接條件更靈活的比大多數人的想法。

+0

Yeap,完美的作品。非常感謝你。 – John

相關問題