在Django中构建地理位置过滤器应用

时间:2018-08-23 07:40:51

标签: django geodjango

我想创建一个市场,例如将Djano作为后端服务器的应用程序,用户可以在其中购买/出售商品。在应用程序中,我想要具有与用户的地理区域相关的功能。例如,可以过滤出特定半径范围内的物品。

用例示例:

  • 用户上传项目,从手机上获取gps坐标并存储在数据库中。
  • 用户可以搜索项目,也可以过滤以仅获取X英里半径内的项目。

此功能

  1. 我看过GeoDjango。但似乎我需要扩展postgresql数据库以使用它,也要使用postgis引擎。
  2. 我还查看了Haversine公式以查找附近的查询。
  3. 还有一个支持多种数据库的选项。

但是在进行下一步之前,我有一些初步的疑问,您的见解确实会对我有很大帮助。您能否通过以下查询为我提供帮助:

  1. 我将必须存储用户数据和其他一些数据,包括地理位置。将所有数据存储在一个数据库中,postgresql_psycopg2postgis之间是否会有任何区别/副作用?
  2. 对于我的简单用例,您宁愿选择使用Haversine公式吗?还是整合GeoDjango将来对我有很大帮助?
  3. 或者对我来说更好的是拥有多个数据库支持会变得麻烦吗?

1 个答案:

答案 0 :(得分:0)

点 1. postgresql_psycopg2和postgis的区别在于posgis具有用于位置距离和半径计算的内置功能,因此postgis很好。

  1. 对于多个数据库,这取决于您将拥有多少用户,对于项目的初始阶段,您可以获得一个数据库,以后您可以对其进行改进。