MySQL中GeomFromText函數(shù)如何使用

小樊
102
2024-09-12 02:06:50
欄目: 云計(jì)算

GeomFromText() 是 MySQL 中的一個(gè)函數(shù),用于將 WKT (Well-Known Text) 格式的字符串表示形式轉(zhuǎn)換為幾何對(duì)象

以下是如何在 MySQL 中使用 GeomFromText() 函數(shù)的簡(jiǎn)單示例:

  1. 首先,創(chuàng)建一個(gè)包含幾何類型數(shù)據(jù)的表。例如,我們可以創(chuàng)建一個(gè)名為 geometries 的表,其中包含一個(gè)名為 shapeGEOMETRY 類型列:
CREATE TABLE geometries (
    id INT AUTO_INCREMENT PRIMARY KEY,
    shape GEOMETRY NOT NULL
);
  1. 然后,您可以使用 GeomFromText() 函數(shù)將 WKT 格式的字符串插入到 shape 列中。例如,插入一個(gè)點(diǎn)、線和多邊形:
INSERT INTO geometries (shape) VALUES (GeomFromText('POINT(1 1)'));
INSERT INTO geometries (shape) VALUES (GeomFromText('LINESTRING(0 0, 1 1, 2 2)'));
INSERT INTO geometries (shape) VALUES (GeomFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))'));
  1. 若要查詢表中的幾何對(duì)象,可以使用 AsText()ST_AsText() 函數(shù)將幾何對(duì)象轉(zhuǎn)換回 WKT 格式的字符串。例如,查詢上面插入的所有幾何對(duì)象:
SELECT id, ST_AsText(shape) as wkt FROM geometries;

這將返回類似于以下內(nèi)容的結(jié)果:

+----+-----------------------------+
| id | wkt                         |
+----+-----------------------------+
|  1 | POINT(1 1)                 |
|  2 | LINESTRING(0 0, 1 1, 2 2)  |
|  3 | POLYGON((0 0, 10 0, 10 10, 0 10, 0 0)) |
+----+-----------------------------+

注意:在 MySQL 8.0 及更高版本中,建議使用 ST_GeomFromText() 函數(shù)代替 GeomFromText(),因?yàn)樗峁┝烁嗟墓δ芎透玫男阅堋R褂?ST_GeomFromText(),只需將函數(shù)名稱更改為 ST_GeomFromText(),并確保已啟用空間擴(kuò)展。

0