Расчет между точками в django postgis
у меня есть модель:
class lctnp(models.Model):
owner = models.ForeignKey(User, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
pin = gmodel.PointField(geography=True, null=True, srid=4326)
description = models.TextField()
class Meta:
ordering = ['created_at']
и ввести с:
{
"id": "",
"owner": "1",
"pin": "POINT(-95.3385 29.7245)",
"description": "hello from here"
}
и попытаемся рассчитать расстояние до другой точки:
query = '''
SELECT id,
ST_Transform(pin, 4326),
ST_Distance(pin, 'SRID=26918;POINT(-95.3385 30.7245)') AS dist
FROM
house_lctnp
ORDER BY
pin <-> 'SRID=26918;POINT(-95.3385 30.7245)'::geometry
LIMIT 3;
'''
for p in lctnp.objects.raw(query):
return JsonResponse(p.description, safe=False)
но кажется, я пытаюсь сделать это неправильно. пожалуйста, помогите мне