欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql multipolygon

錢斌斌2年前12瀏覽0評論

MySQL是一種關系型數據庫,支持存儲和管理不同類型的數據。MySQL的空間擴展功能使得它可以處理空間數據類型,例如點、線和多邊形。本文將重點介紹MySQL Multipolygon。

CREATE TABLE buildings (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) DEFAULT NULL,
shape MULTIPOINT DEFAULT NULL,
PRIMARY KEY (id),
SPATIAL INDEX (shape)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

如上所示,我們創建了一個名為“buildings”的表,其中包括建筑物的名稱(name字段)和它們被定義為MULTIPOINT空間數據類型的形狀(shape字段)。必須使用SPATIAL INDEX創建一個索引,以便MySQL支持使用空間運算符。

INSERT INTO buildings (name, shape) 
VALUES ('Building 1', 
ST_GeomFromText('MULTIPOINT((0 0), (0 5), (5 5), (5 0), (0 0))'));

在上述示例中,我們插入了一些數據,將名為“Building 1”的BUILDING形狀定義為MULTIPOINT。ST_GeomFromText函數將建筑形狀的坐標定義為一條逆時針折線。

SELECT name FROM buildings 
WHERE ST_CONTAINS(
ST_GeomFromText('POLYGON((2 2, 2 3, 3 3, 3 2, 2 2))'), 
shape);

在上述示例中,我們使用ST_CONTAINS函數從表格中選擇建筑物名稱。該函數確定第一個參數(多邊形)是否包含第二個參數(多個點或多個多邊形)。在此示例中,我們要查找任何位于一個以(2,2)為左下角、(3,3)為右上角的正方形之內的建筑物。

由此可見,MySQL Multipolygon能夠存儲和管理空間的多方面數據,使得處理和查詢這些數據變得更加容易和高效。