2013-07-13 53 views
2

看起來除了使用WKT和GeomFromText函數之外,MySQL還支持創建幾何的其他方法。在documentation的示例中使用了函數POINT(),但我無法找到記錄函數本身的位置。MySQL的POINT()函數記錄在哪裏?

這個很簡單,但我想知道是否還有其他的函數可以用來代替解析WKT字符串。

+0

'POINT'是*類型*不是函數。它封裝了x和y值對。 –

+1

@BrianRoach在示例中它被稱爲函數。每個*類型都可以這樣使用嗎? – vbence

+0

對不起,我現在斷開連接 - 發佈了一個完整的答案,我希望能回答問題並鏈接到相應的文檔。 –

回答

2

MySQL有一個空間數據類型POINT。這是一種封裝x和y值對以表示某個空間座標的類型。

可以創建表經由該類型的列中:

CREATE TABLE MY_TABLE(PT POINT);

對於每個空間類型,都有一個「構造函數」函數來創建該類型的值。例如,Point(x,y) - 它返回到被存儲在DB POINT類型的值,在另一功能中使用等:

INSERT INTO MY_TABLE(PT)VALUES(點(1,2));

覆蓋的功能,用於創建(包括所述Point()功能)這些類型的值的文檔可在Creating spacial values找到和手動,它在的部分一般覆蓋空間的類型。

+0

謝謝。這些是我正在尋找的功能。請將#gis-mysql-specific-functions添加到鏈接以便於參考。 – vbence

+0

@vbence done - 編輯鏈接 –

+0

POINT()不能在視圖中使用是真的嗎? –

4

POINT不是函數,它是數據類型。

你用它像POINT(100, 20)給你一個座標x = 100, y = 20

據記載在12.16.2.3 Class Point

Point是表示單個位置在座標空間中的幾何形狀。

Point例子

想象世界上有許多城市大比例尺地圖。對象可以代表每個城市。

在城市地圖上,Point對象可能代表一個公共汽車站。

+0

感謝您的鏈接。我仍然看不到'構造函數'的參數。 LineString()也可以作爲函數調用嗎?在那種情況下,參數應該是什麼樣子? – vbence

+0

@vbence只有2個參數 - 'x,y' –

+0

'Point()'是顯而易見的。在此期間,我瞭解到'LineString(Point(),Point())'也是有效的。但是:我仍然在尋找關於這些*構造函數(?)*函數的文檔。 – vbence

2

這是MySQL文檔Point的類。

點是一個幾何圖形,表示座標空間中的單個位置。