http://www.cnblogs.com/LBSer/p/3629149.html
功能 |
Mysql spatial extension |
PostGIS |
空間索引 |
僅MyISAM支援R樹索引,InnoDB不支援 |
GIST樹索引(R樹的變種) |
支援的空間型別 |
僅二維資料 |
二維、三維以及曲線 |
空間操作函式 |
有限的空間函式 |
基本實現OGC標準定義的空間操作函式 |
例:想查詢藍色多邊形內的點,mysql空間擴充套件僅能查出在最小外包矩形(紅色框)內的點,而postgis能查出任意多邊形內的點。
|
||
空間投影 |
不支援 |
支援多種常用投影座標系 |
例:想查詢兩點間距離。MySQL Spatial僅能計算歐式空間距離,而PostGIS能計算不同投影座標系下的真實空間距離 |
||
事務支援 |
不支援 |
PostGIS提供了一系列的長事務支援,可以有效支援複雜的空間分析功能 |
查詢效率 |
載入速度: MySQL > PostGIS (事務) 空間索引的建立: MySQL < PostGIS (diff split algo) 查詢: MySQL PostGIS(不同性質查詢結果不一樣,各有千秋) |
|
GIS系統使用 |
使用較少 |
使用較多,例如openstreetmap的資料庫後臺就是Postgresql+Postgis |
小結:如果只做一些簡單的GIS或者LBS的應用,MySQL提供的spatial extensions基本能夠滿足。但如果需要的功能更復雜一些,MySQL spatial extensions提供的功能可能就不夠用了,這時Postgresql+postGIS可能將更加合適。