我在Debian 7 x86_64
上使用MySQL 5.5.35
服務器。我試圖檢查點是否在矩形內。我用的是Contains
功能是這樣的:包含MySQL函數 - 意外結果
SELECT Contains
(
Polygon
(
Point(55.538322,37.332026),
Point(55.566347,37.875850),
Point(55.898002,37.873103),
Point(55.896459,37.381465),
Point(55.538322,37.332026)
),
Point(55.737177,37.623164)
)
點是明顯的矩形範圍內,我期待得到1
輸出,但我所得到的是(NULL)
。
請你指點我的錯誤嗎?謝謝!
更新:經過一番調試它出來的的NULL
是由Polygon
函數返回。這就是問題所在。
謝謝你的迴應。你所建議的語法對我有用。也許你知道我爲什麼不工作?謝謝! – Kolyunya
真誠的我認爲,對於空間關係,您需要使用精確的函數(MBRContains,而不僅僅是包含),就像在mysql dev站點上所解釋的一樣 http://dev.mysql.com/doc/refman/5.6/en/functions- for-testing-spatial-relations-between-geometric-objects.html 對於其餘的我不知道爲什麼沒有'GeomFromText'關鍵字不能工作,但我一直使用這個sintax從Mysql站點獲取它。 – AlexF
我發現了我的錯誤,併發布了可能對其他人有用的答案。 – Kolyunya