SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 05.06.2021 21:54:43

klow
Старожил
Зарегистрирован: 06.12.2014
Сообщений: 411

ST_Distance_Sphere

Добрый день всем!
Кто в курсе, что реально выдает ST_Distance_Sphere?
В документации написано, что расстояние между двумя точками в метрах,  но у меня это расстояние отличается от реального в 0,8 - 1,5 раз.
Проверял на MariaDb 10.5.10.

Например, Берлин - Лодзь дает расстояние 706 км. Реально - 439 км.
SELECT ST_DISTANCE_SPHERE(point(52.5069312, 13.1445518), point(51.7592485, 19.4559833))

Отредактированно klow (05.06.2021 22:04:18)

Неактивен

 

#2 05.06.2021 22:58:13

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2421

Re: ST_Distance_Sphere

Я подозреваю, что там используется ни линейная система координат... то есть путь считается по поверхности многогранника, который описывает землю. Скорее WGS-84

https://postgis.net/docs/manual-1.4/ST_ … phere.html

Это постгре, но смысл тот же.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 05.06.2021 23:12:51

klow
Старожил
Зарегистрирован: 06.12.2014
Сообщений: 411

Re: ST_Distance_Sphere

Не думаю, что это может давать такую большую разницу и в меньшую и в большую сторону.

Неактивен

 

#4 05.06.2021 23:44:10

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: ST_Distance_Sphere

По формату функции координаты задаются как  pointlonlat, то есть (долгота, широта).

SELECT ST_DISTANCE_SPHERE(point(13.1445518, 52.5069312), point(19.4559833, 51.7592485));


Вот так дает 438.6 км.

Неактивен

 

#5 05.06.2021 23:54:06

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2421

Re: ST_Distance_Sphere

SELECT ST_DistanceSphere(
        ST_GeomFromText('POINT(13.1445518 52.5069312)', 4326),
        ST_GeomFromText('POINT(19.4559833 51.7592485)', 4326)
    );

438583.56765307

пробуйте поменять местами широту и долготу?


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#6 06.06.2021 07:33:47

klow
Старожил
Зарегистрирован: 06.12.2014
Сообщений: 411

Re: ST_Distance_Sphere

Спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson