在 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 版本的官方文档。