Порядок Lon/Lat при использовании пространственного типа точки с MySQL

каков правильный порядок при установке точки в MySQL?

даже ответы на вопросы SO отличаются от этого: перемещение столбцов текста lat/lon в столбец типа "Точка"

это

POINT(lat lon)

или

POINT(lon lat)

насколько я вижу, это должна быть первая версия (lat lon), поскольку точка принимает как парамы x и y, но я не смог найти определенного доказательства.

2 ответов


Как видно здесь https://stackoverflow.com/a/5757054/1393681 порядок есть (Лон лат).

долгота в основном ось y и широта x, если я смотрю на свой глобус, но Лоны путешествуют по оси Х и лат вдоль оси y поэтому я думаю, что это причина, почему вы использовать (lon lat)

несмотря на это, если вы останетесь последовательными в своем приложении, это shoudn't matter if the world is flipped inside your db ; -)


технически это не важно. Вы сохраняете координаты x и y точки. Вы просто должны читать их так же, как пишете.

Если вы заботитесь о "правильном пути", я могу ссылаться только на то, что Google Maps API создает coortinates с помощью

var location = new google.maps.LatLng(lat, lng);

и в школе вы также узнаете о "широте и логинтуде", а не наоборот.

тем не менее, технически это действительно не соответствует тому, как вы их храните. Только убедиться что вы используете то же соглашение, когда читаете их обратно.