mysql空間擴充套件 VS PostGIS

zhanlijun發表於2014-03-27

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

相關文章