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可能將更加合適。

