功能html |
Mysql spatial extension mysql |
PostGISsql |
空间索引数据库 |
仅MyISAM支持R树索引,InnoDB不支持 函数 |
GIST树索引(R树的变种)post |
支持的空间类型spa |
仅二维数据htm |
二维、三维以及曲线blog |
空间操做函数索引 |
有限的空间函数 |
基本实现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可能将更加合适。