在 MySQL 中,可以使用內(nèi)置的地理空間函數(shù)將文本轉(zhuǎn)換為幾何對(duì)象
首先,確保您的 MySQL 版本支持地理空間數(shù)據(jù)類型和函數(shù)。這些功能從 MySQL 5.7.5 開始引入。
接下來,創(chuàng)建一個(gè)包含地理空間列的表。例如,創(chuàng)建一個(gè)名為 geometries
的表,其中包含一個(gè)名為 shape
的 GEOMETRY
類型列:
CREATE TABLE geometries (
id INT AUTO_INCREMENT PRIMARY KEY,
shape GEOMETRY NOT NULL
);
現(xiàn)在,您可以使用 ST_GeomFromText()
函數(shù)將 WKT(Well-Known Text)格式的文本轉(zhuǎn)換為幾何對(duì)象并將其插入到表中。例如,插入一個(gè)點(diǎn)、線和多邊形:
INSERT INTO geometries (shape) VALUES (ST_GeomFromText('POINT(1 2)'));
INSERT INTO geometries (shape) VALUES (ST_GeomFromText('LINESTRING(0 0, 1 1, 2 2)'));
INSERT INTO geometries (shape) VALUES (ST_GeomFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));
要查詢表中的幾何對(duì)象,可以使用 ST_AsText()
函數(shù)將它們轉(zhuǎn)換回 WKT 格式:
SELECT ST_AsText(shape) FROM geometries;
這將返回以下結(jié)果:
+-----------------------------+
| ST_AsText(shape) |
+-----------------------------+
| POINT(1 2) |
| LINESTRING(0 0,1 1,2 2) |
| POLYGON((0 0,10 0,10 10,0 10,0 0)) |
+-----------------------------+
請(qǐng)注意,這里給出的示例僅適用于 MySQL 5.7.5 及更高版本。在使用地理空間數(shù)據(jù)類型和函數(shù)時(shí),請(qǐng)務(wù)必查閱您所使用的 MySQL 版本的官方文檔。