Mysql

如何從 MySQL 中的 Point 數據類型創建多邊形?

  • October 23, 2019

我有一張這樣的桌子:

CREATE TABLE `aois` (
 `aois_id` int(11) NOT NULL DEFAULT '0',
 `WS_A` point DEFAULT NULL,
 `WS_B` point DEFAULT NULL,
 `WS_C` point DEFAULT NULL,
 `WS_D` point DEFAULT NULL,
 `DB_A` point DEFAULT NULL,
 `DB_B` point DEFAULT NULL,
 `DB_C` point DEFAULT NULL,
 `DB_D` point DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

現在我想從點創建一個多邊形:

SELECT aois_id,
polygon((WS_A, WS_B, WS_C, WS_D, WS_A)) as geom
FROM aois;

但我總是收到錯誤消息:

Operand should contain 1 column(s)

(我在 Windows 10 上使用 MySQL 伺服器版本 8.0.16,如果這很重要的話。)

誰能指出我正確的方向?

非常感謝!

SELECT aois_id,
polygon(
  linestring(WS_A, WS_B, WS_C, WS_D, WS_A)
) as geom
FROM aois;

引用自:https://dba.stackexchange.com/questions/251779