MySQL幾何對象是將地理位置信息存儲和管理的一種方法。MySQL支持五種幾何對象類型:點(Point)、線段(LineString)、多邊形(Polygon)、集合(GeometryCollection)和多線段(MultiLineString)。
通過在MySQL中創(chuàng)建幾何對象,可以存儲一些以前需要使用外部庫計算的位置相關(guān)數(shù)據(jù),如地圖坐標(biāo)、區(qū)域邊界等等。在操作這些幾何對象時,可以使用一些MySQL中提供的內(nèi)置函數(shù),如ST_Area()獲取多邊形的面積、ST_Length()獲取線段的長度等等。
-- 創(chuàng)建一個點 CREATE TABLE my_points (id INT NOT NULL PRIMARY KEY, location GEOMETRY NOT NULL); -- 插入一個點 INSERT INTO my_points (id, location) VALUES (1, POINT(31.22, 121.48)); -- 查詢所有的點 SELECT id, ST_AsText(location) FROM my_points; -- 輸出:1 POINT(31.22 121.48)
除了上面的例子,MySQL還支持其他的幾何對象操作,如將兩個幾何對象進(jìn)行交、合并等等。這些操作可以很好地支持在地圖應(yīng)用開發(fā)中等場景,例如簡單的搜索最近的商家、查找特定區(qū)域內(nèi)所有的員工等等。