2024-03-28 15:00:22 发布
网友
我正在用Django为一个餐馆搜索应用程序制作一个restapi。我需要一份离我所在地X米范围内的餐馆名单。我不知道如何在我的数据库中存储这个列表(我使用的是PostgreSQL)以及如何检索这个列表。在
我在网上搜索了一些选项,发现PostGIS是Postgres的扩展,可以在Django中使用,但我还是想听听您的一些建议。在
谢谢你
是的,您希望在数据库中使用PostGIS扩展,并在应用程序中使用GeoDjango。在
一旦设置和配置好了,在模型中使用PointField。请注意,现在要从django.contrib.gis.db.models.Model扩展。在
PointField
django.contrib.gis.db.models.Model
from django.contrib.gis.db import models from django.contrib.gis.geos import Point class Restaurant(models.Model): point = models.PointField() Restaurant.objects.create(point=Point(lng, lat))
要查询您的餐厅,请使用lat/lng创建一个Point对象(请注意,GEOS采用lng,lat order的lat/lng参数)。然后使用gis D测量进行距离查询。以下是5000米范围内餐厅的查询:
Point
是的,您希望在数据库中使用PostGIS扩展,并在应用程序中使用GeoDjango。在
一旦设置和配置好了,在模型中使用
PointField
。请注意,现在要从django.contrib.gis.db.models.Model
扩展。在要查询您的餐厅,请使用lat/lng创建一个
^{pr2}$Point
对象(请注意,GEOS采用lng,lat order的lat/lng参数)。然后使用gis D测量进行距离查询。以下是5000米范围内餐厅的查询:相关问题 更多 >
编程相关推荐