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