在 Django 中构建地理位置过滤器应用程序
Building a geographical location filter app in Django
我想用 Djano 作为后端服务器创建一个类似应用程序的市场,用户可以在其中 buy/sell 物品。在应用程序中,我希望有一个与用户地理区域相关的功能。例如,过滤掉给定特定英里半径内的项目。
示例用例:
- 用户上传一个项目,从他们的手机获取 gps 坐标并存储在数据库中。
- 用户可以搜索项目,也可以过滤以仅获取 X 英里半径内的项目。
对于此功能
- 我看过 GeoDjango。但似乎我需要扩展 postgresql 数据库才能使用它,也需要使用
postgis
引擎。
- 我还查看了附近查询的 Haversine 公式。
- 还有一个多数据库支持选项。
但在继续之前我有一些初步的疑问,你的见解真的对我有很大帮助。你能帮我解决这个问题吗:
- 我将不得不存储用户数据和其他一些数据,包括地理位置。在
postgresql_psycopg2
和 postgis
之间是否会有任何 difference/side 效果,以将所有数据存储在一个数据库中?
- 对于我的简单用例,您更愿意使用 Haversine 公式吗?还是集成 GeoDjango 对我以后有很大帮助?
- 或者多数据库支持对我来说更好,否则会增加开销?
点
1. postgresql_psycopg2和postgis的区别在于posgis内置了位置距离和半径计算功能,所以postgis很好用。
- 对于多个数据库,这取决于您将拥有多少用户,对于项目的初始阶段,您可以使用一个数据库,将来您可以改进它。
我想用 Djano 作为后端服务器创建一个类似应用程序的市场,用户可以在其中 buy/sell 物品。在应用程序中,我希望有一个与用户地理区域相关的功能。例如,过滤掉给定特定英里半径内的项目。
示例用例:
- 用户上传一个项目,从他们的手机获取 gps 坐标并存储在数据库中。
- 用户可以搜索项目,也可以过滤以仅获取 X 英里半径内的项目。
对于此功能
- 我看过 GeoDjango。但似乎我需要扩展 postgresql 数据库才能使用它,也需要使用
postgis
引擎。 - 我还查看了附近查询的 Haversine 公式。
- 还有一个多数据库支持选项。
但在继续之前我有一些初步的疑问,你的见解真的对我有很大帮助。你能帮我解决这个问题吗:
- 我将不得不存储用户数据和其他一些数据,包括地理位置。在
postgresql_psycopg2
和postgis
之间是否会有任何 difference/side 效果,以将所有数据存储在一个数据库中? - 对于我的简单用例,您更愿意使用 Haversine 公式吗?还是集成 GeoDjango 对我以后有很大帮助?
- 或者多数据库支持对我来说更好,否则会增加开销?
点 1. postgresql_psycopg2和postgis的区别在于posgis内置了位置距离和半径计算功能,所以postgis很好用。
- 对于多个数据库,这取决于您将拥有多少用户,对于项目的初始阶段,您可以使用一个数据库,将来您可以改进它。