MySQL的空間查詢

2021-08-20 06:39:51 字數 1486 閱讀 1011

mysql實施了ogc建議的具有geometry型別的sql環境的乙個子集。該術語指的是用一組集合型別擴充套件的環境。具有幾何值的sql列是作為擁有集合型別的列實施的。該規範描述了sql幾何型別集合,以及作用在這些型別上用於建立和分析幾何值的函式。關於mysql空間儲存和查詢的概念介紹,可以參考這篇部落格,寫的很詳細:

multipoint

linestring

multilinestring

polygon

注意:首末點要相同,用於連線成乙個閉合的面

multipolygon

insert

into 表明(欄位名) values(st_geomfromtext('上方列舉的資料格式'))

以插入乙個point為例:

insert

into test(point) values(st_geomfromtext('point(5 5)'))

插入時使用st_geomfromtext,也可使用geomfromtext,區別暫時沒有研究。該方法是返回源字串的相應型別的幾何值

覆蓋相關

相交相關

接觸 重疊

相同 空間資料相關方法

獲取x或y

凸包 返回矩形

線獨有

線中點數量

線中第n個點

線長度

生成矩形

面獨有

面的內外邊界

部分geo物件可用

異或 並集

質心 距離

不同 抽稀

緩衝區join策略

end策略

舉例生成緩衝區

st_buffer(point, 5, st_buffer_strategy('point_square'))

st_buffer(line, 5, st_buffer_strategy('join_miter', 10), st_buffer_strategy('end_flat'))

上部分中的空間查詢相關方法的判斷方法,返回值是是否

重疊 接觸

包含 etc

geo物件返回格式

包含、覆蓋、重疊三個方法不清楚具體的區別

注意:每個方法前的mbr、st可要可不要,在mysql5.7.6之後,不帶mbr、st的方法開始棄用

查詢樣例:

- 查詢在指定麵中的點

sql

select * from test where mbrcontains(st_geomfromtext('polygon((0 0,0 5,5 5,5 0,0 0))'),point)

- 查詢所有point點的x座標

sql

select st_x(point) from test

MySQL 空間計算 空間查詢

一 前言 mysql實施了ogc建議的具有geometry型別的sql環境的乙個子集。該術語指的是用一組集合型別擴充套件的環境。具有幾何值的sql列是作為擁有集合型別的列實施的。該規範描述了sql幾何型別集合,以及作用在這些型別上用於建立和分析幾何值的函式。關於mysql空間儲存和查詢的概念介紹,可...

MySql 表空間查詢

show variableslike datadir 查所有資料庫占用空間大小 select table schema,concat truncate sum data length 1024 1024,2 mb as data size,concat truncate sum index leng...

mysql查詢使用空間 查詢MYSQL庫表使用空間

1.檢視所有資料庫各容量大小 select table schema as 資料庫 sum table rows as 記錄數 sum truncate data length 1024 1024,2 as 資料容量 mb sum truncate index length 1024 1024,2 ...