PostgreSQL中的地理定位查询

时间:2013-06-01 03:40:30

标签: django postgresql postgis

我们正在开展乘车共享服务,我们使用PostgreSQL作为我们的数据库管理系统来存储乘车详情。 我们没有使用任何特殊的数据类型来存储纬度和经度信息,但目前正在将它们保存为字符串对象。 为了提高搜索查询在地理位置数据上的性能,我们可以使用PostGIS还是PostgreSQL还有其他与位置相关的支持?在这样的情况下,有什么能改善数据库的性能? (我们正在使用Django btw。)

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

  1. 谁从pointA1出发,距离A-> B的总距离的5%?和
  2. 路线点数组中是否有一个点与用户可以接收的其他人的位置一致?
  3. 感谢您阅读此内容。请帮助我选择上述地理定位查询系统的最佳数据库架构。

1 个答案:

答案 0 :(得分:1)

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

Postgis已将functions转换为几何/地理对象,然后转换为可用于执行各种计算的其他对象。

Django有Postgis module,即使我从未使用它,所以YMMV。