2012-03-02 23 views
4

我已經搜索了高和低的線索,甚至對以下問題的答案,並沒有得到任何地方,所以我問這裏。MySQL多邊形幾何中的小數點

基本上,我想用多邊形填充MySQL中的幾何列。但是無論我嘗試什麼,該列的最終值都是NULL,而不是它應該是的值。

它在我看來像一個多邊形的點不能包含小數點,如經度和緯度,但如果真的如此,這似乎完全不合邏輯! 如果你不能把緯度和經度數據放進去,這種類型有什麼好處?!?!

由於這個原因,我要求看看我是否缺少一些簡單的東西。這是我必須表明這一點:

SELECT GEOMFROMTEXT('POLYGON((52.29600522644751 0.05256918782038156,52.29168750609503 0.04999426716608468,52.29425981571103 0.06121662968439523))'); 

返回:

(NULL) 

然而,如果我創建一個點幾何類型:

SELECT GEOMFROMTEXT('POINT(52.29600522644751 0.05256918782038156)'); 

這將返回一個空值實際上做包含X和Y點。

任何幫助將不勝感激。

回答

5

如果幾何圖形無效,GEOMFROMTEXT返回null。 您用於構建多邊形的線性環是無效的。環的開始點和結束點必須等於完成環。

在這種情況下,一個有效的多邊形是:

SELECT GEOMFROMTEXT('POLYGON((52.29600522644751 0.05256918782038156,52.29168750609503 0.04999426716608468,52.29425981571103 0.06121662968439523,52.29600522644751 0.05256918782038156))') 

這將返回預期值,而不是空的。