Mysql 地理空间数据使用哪种自由/开源关系数据库?

Mysql 地理空间数据使用哪种自由/开源关系数据库?,mysql,postgresql,google-maps-api-3,geolocation,geocoding,Mysql,Postgresql,Google Maps Api 3,Geolocation,Geocoding,我正在使用谷歌地图API开发一个应用程序。目标是对某些位置进行地理编码,然后允许用户根据离用户最近的位置搜索这些位置,例如,Thing x距离您20英里 在MySQL中,我只需存储地理坐标,并使用haversine公式进行距离计算。有人建议我考虑PigGrES,因为它对地理数据有更好的支持。 所以,问题是:使用MySQL或Postgres的优缺点是什么?您也可以查看,它支持地理空间索引,让您可以非常有效地查询最近的对象!这就是Foursquare的家伙用来查找最近的场地的方法…你也可以查看,它支

我正在使用谷歌地图API开发一个应用程序。目标是对某些位置进行地理编码,然后允许用户根据离用户最近的位置搜索这些位置,例如,Thing x距离您20英里

在MySQL中,我只需存储地理坐标,并使用haversine公式进行距离计算。有人建议我考虑PigGrES,因为它对地理数据有更好的支持。
所以,问题是:使用MySQL或Postgres的优缺点是什么?

您也可以查看,它支持地理空间索引,让您可以非常有效地查询最近的对象!这就是Foursquare的家伙用来查找最近的场地的方法…

你也可以查看,它支持地理空间索引,让你可以非常有效地查询最近的对象!这就是Foursquare的伙计们用来寻找最近的场地的方法…

PostgreSQL支持您在船上谈论的内容。但是要想获得更多的功能和你提到的某人可能正在考虑的东西,请转到PostGIS

有关概述,请参阅,或从旧版开始

在评论中的问题后编辑: 特别是,请查看以了解PostGIS可以为您做些什么。
计算两点之间的距离是标准功能。对于各种数据类型,您都可以使用它。使用哪种数据类型?请参阅此链接和其他链接。

PostgreSQL支持您在船上谈论的内容。但是要想获得更多的功能和你提到的某人可能正在考虑的东西,请转到PostGIS

有关概述,请参阅,或从旧版开始

在评论中的问题后编辑: 特别是,请查看以了解PostGIS可以为您做些什么。

计算两点之间的距离是标准功能。对于各种数据类型,您都可以使用它。使用哪种数据类型?请参阅这里的链接和其他链接。

如果只是点,MySQL就可以了。如果您有更复杂的几何图形,如传送路线、小区接收区等,您需要PostGIS,因为它支持更复杂的几何数据索引r树。顺便说一句,MyISAM在空间数据方面实际上比InnoDB好,因为它还支持r树空间索引,但不像PostGIS那样强大。不过,如果您只需要点数,InnoDB或MyISAM b树就足够了。如果边界框足够了,也就是说,您需要围绕某个点的矩形平面内的所有内容,那么基于geohash的索引就可以了。更多关于这一切的背景资料。熟悉PostGIS和Postgres是值得的,它们都是非常好的项目,也是到目前为止我最喜欢的关系数据库,但仅仅查找点并不需要它们。

如果只是点,MySQL就可以了。如果您有更复杂的几何图形,如传送路线、小区接收区等,您需要PostGIS,因为它支持更复杂的几何数据索引r树。顺便说一句,MyISAM在空间数据方面实际上比InnoDB好,因为它还支持r树空间索引,但不像PostGIS那样强大。不过,如果您只需要点数,InnoDB或MyISAM b树就足够了。如果边界框足够了,也就是说,您需要围绕某个点的矩形平面内的所有内容,那么基于geohash的索引就可以了。更多关于这一切的背景资料。熟悉PostGIS和Postgres是值得的,它们都是非常好的项目,也是到目前为止我最喜欢的关系数据库,但仅仅查找点并不需要它们。

当然,很高兴有其他选择。但是,与使用MySQL+haversine相比,这给了我什么好处呢?如果您计划在查询时不与其他表进行连接,而向这个特定表添加大量条目,MongoDB可能是最快的解决方案。最快的解决方案是因为在计算地理坐标之间的距离时,它比MySQL更快?你有一些基准可以参考吗?不幸的是没有,我认为这在很大程度上取决于你的应用程序的初始设置。当然,很高兴有另一个选择。但是,与使用MySQL+haversine相比,这给了我什么好处呢?如果您计划在查询时不与其他表进行连接,而向这个特定表添加大量条目,MongoDB可能是最快的解决方案。最快的解决方案是因为在计算地理坐标之间的距离时,它比MySQL更快?你有一些基准可以参考吗?不幸的是没有,我认为这在很大程度上取决于你的应用程序的初始设置。是的,但是每个解决方案的优缺点是什么?MySQL还不够满足我的需要吗?我对MySQL的地理功能了解不够。PostGIS当然是。我需要做的是能够计算地理坐标之间的距离。我可以在MySQL中实现haversine。PostGIS在这方面对我有什么帮助?@StackOverflowNewbie:我修改了我的答案。是的,但它的利与弊是什么
每种解决方案?MySQL还不够满足我的需要吗?我对MySQL的地理功能了解不够。PostGIS当然是。我需要做的是能够计算地理坐标之间的距离。我可以在MySQL中实现haversine。PostGIS在这方面为我做了什么?@StackOverflowNewbie:我修改了我的答案。