Когда вы строите ТОЧКУ, используя POINT(x, y)
- вы получаете декартову точку без SRS, то есть MySQL вычисляет все на плоскости, используя любые единицы измерения, которые вы передали как x
и y
.
* 1005. * Например,
select st_distance(
point(-90, 33),
point(-85, 33));
возвращает ровно 5. Вы можете думать об этом как о расстоянии в градусах (что бесполезно - потому что 5 градусов вдоль меридиана отличается от 5 градусов вдоль параллели). Или вы можете думать об этом как о входных данных в метрах на некоторой плоскости, а также о выходных данных в метрах.
Что вам нужно (в MySQL 5.7 - в 8.0 вы можете использовать реальный SRS) это * Функция 1011 *, например, для приведенного выше примера возвращает 466234 метра.
select st_distance_sphere(
point(-90, 33),
point(-85, 33));