vhuk1802
@vhuk1802

Как правильно хранить координаты в postgresql и вычитывать потом расстояние от пользователя к конкретному обьекту?

Нашел расширение Postgis,

В базе добавил столбец position и перезаписал все координаты:
UPDATE product_locations SET
  "position" = ST_SetSRID(ST_MakePoint(longitude, latitude),4326);


но, когда делаю запрос на выборку :
SELECT
	*,
	ST_Distance ( position::geography, ST_GeographyFromText('SRID=4326;POINT(40.5774008 -73.9647576)') )  / 1000 AS distance
FROM
	product_locations 
ORDER BY 
id asc


получаю не совсем точные результаты, см. запись с id 31 (latitude, longitude) такие же как в запросе, т.е. для записи 31 значение distance должно бить 0,
незнаю куда копать
60964487b6c18109799662.png
  • Вопрос задан
  • 315 просмотров
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL
point(longitude, latitude)
а у тебя вроде наоборот
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы