【问题标题】:Geolocation queries in PostgreSQLPostgreSQL 中的地理位置查询
【发布时间】:2013-05-27 22:56:45
【问题描述】:

我们正在开发拼车服务,我们使用 PostgreSQL 作为我们的数据库管理系统来存储拼车详细信息。 我们没有使用任何特殊的数据类型来存储我们的纬度和经度信息,但目前将它们保存为字符串对象。 为了提高我们对地理位置数据的搜索查询的性能,我们可以使用 PostGIS 还是 PostgreSQL 提供任何其他与位置相关的支持?在这种情况下可以提高数据库的性能吗? (顺便说一句,我们正在使用 Django。)

我们的数据看起来像这样: Ride1pointA(lat,long) 开始,一路到pointB(lat,long)routePoints(lat,long)(lat,long)...。 我们需要对这些数据进行复杂的查询,例如:

  1. 谁从pointA1 出发,距离 A->B 总距离的 5%?和
  2. 路线点数组中是否有与其他人的位置重合的点,用户可以接他们?

感谢您阅读本文。请帮助我为上述地理位置查询系统选择最佳的数据库架构。

【问题讨论】:

  • 这类“请帮助选择最佳架构”的问题并不适合 Stack Overflow。请参阅常见问题解答:stackoverflow.com/faq
  • 虽然我不同意投反对票的人 - 如果你投反对票,请务必留下评论,尤其是对于新用户。

标签: django postgresql postgis


【解决方案1】:

如果您已经将数据存储到 Postgres 中,那么 Postgis 是一个很好的选择(嗯,它实际上是 THE 选择)。

Postgis 有functions,它将您的文本坐标表示转换为几何/地理对象,然后是其他可用于执行各种计算的对象。

Django有一个Postgis module,虽然我没用过,所以YMMV。

【讨论】:

    猜你喜欢
    • 2018-09-28
    • 2014-08-29
    • 2014-07-02
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多