[英]Mysql: ST_Contains with borders to detect if multipolygon contains point
我使用mysql空間函數。
我必須了解點是否與多多邊形有關。
最初,我使用MBRContains
但是它以一種奇怪的方式工作,所以我遇到了以下錯誤: Mysql函數MBRContains不正確
我的下一步是切換到功能ST_Contains
。 但是我發現,如果我使用來自多邊形的多邊形作為參數,函數將返回false,但是我想取消所有多邊形的邊界。
我發現函數在哪里:
ST_Touches(g1,g2)
如果兩個幾何的內部不相交,則兩個幾何在空間上接觸,但是其中一個幾何的邊界與另一個的邊界或內部相交
看起來像我想要的那樣工作(在ST_contains
OR
條件下),但文檔對我來說並不明確。 你能解釋兩個條件如何一起成為真理嗎
1.內部不相交
2.邊界與邊界相交。
?
如何實現我想要的行為?
看起來像工作解決方案:
ST_Contains(g1,g2) || ST_Touches(g1, g2)
看起來ST_Distance(AREA, @point)) = 0
包含邊框
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.