首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对地理空间数据使用哪种FOSS RDBMS?

对地理空间数据使用哪种FOSS RDBMS?
EN

Stack Overflow用户
提问于 2011-10-25 04:56:09
回答 3查看 326关注 0票数 1

我正在使用Google Maps API开发一个应用程序。目标是对某些位置进行地理编码,然后允许用户根据离用户最近的位置来搜索这些位置(例如“事物x离你20英里”)。

在MySQL中,我可以只存储地理坐标,并使用半正弦公式来计算距离。有人建议我考虑Postgres,因为它“对地理数据有更好的支持”。

所以,问题是:使用MySQL或Postgres的利弊是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-25 12:24:29

PostgreSQL支持您在机上讨论的内容。但要获得更多功能(以及您提到的“某人”可能正在考虑的内容),请转到PostGIS

有关概述,请参阅home pagedocumentation或从良好的旧Wikipedia开始。

在注释中的问题后编辑:

特别是,可以查看function support matrix来了解PostGIS可以为您做些什么。

计算两点之间的距离是一个标准功能。您可以将其用于各种数据类型。使用哪种数据类型?请参阅此question in the FAQ和此处的更多链接。

票数 2
EN

Stack Overflow用户

发布于 2011-10-25 17:48:39

如果只是点数,MySQL就没问题。如果您有更复杂的几何图形,比如传送路线、信元接收区等,那么您需要PostGIS,因为它支持更复杂的几何数据索引(r-tree)。对于空间数据,MyISAM实际上比InnoDB更好,因为它还支持r树空间索引(但不如PostGIS强大的查询)。但是,如果您只需要点,那么InnoDB或MyISAM b-tree就足够了。如果边界框足够了(例如,您需要某个点周围的矩形平面内的所有内容),那么基于geohash的索引是可以的。更多关于here的背景知识。熟悉PostGIS和Postgres是非常值得的,它们都是非常好的项目,而且到目前为止我更喜欢的是关系数据库,但仅仅查找要点并不需要它们。

票数 2
EN

Stack Overflow用户

发布于 2011-10-25 05:10:33

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7881895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档