Синтаксис конструктора
Посмотрев ссылку на пространственную функцию, вы увидите
Point(x, y)
Constructs a Point using its coordinates
Это не совсем правильно. Все реализации ГИС должны делать (x,y)
для проецируемых координат, которые есть (long,lat)
. Но в геодидных кординатных системах существуют некоторые разногласия относительно того, что делать. MySQL (и SQL Server) делают, (lat,long)
но PostGIS поддерживает (long,lat)
везде.
Об этом говорится в спецификации Стандарт реализации OpenGIS® для географической информации. Простой доступ к функциям. Часть 2. Параметр SQL ,
- Для геодезических CRS, имеющих эллипсоидальную двумерную систему координат, оси двумерной эллипсоидальной системы координат представляют собой геодезическую широту, положительную на север и геодезическую долготу, положительную на восток. Направление оси должно быть «север» и «восток» соответственно.
- Для геодезических CRS, имеющих трехмерную эллипсоидальную систему координат, название и сокращение горизонтальных осей в строке WKT должны соответствовать требованиям в (ii). Название вертикальной оси должно быть «высота эллипса»; аббревиатура вертикальной оси должна быть 'h' и должна быть включена, если включены аббревиатуры для горизонтальных осей.
Обратите внимание, что вышеприведенные слова дословно встречаются в географической информации - Хорошо известное текстовое представление систем координат.
Еще в 1.1 спецификации,
Система пространственной привязки, также называемая системой координат, представляет собой географическую (широта-долгота) , прогнозируемую (X, Y) или геоцентрическую (X, Y, Z) систему координат.
Тем не менее, похоже, что PostGIS и Oracle и многие сторонние библиотеки поддерживают (x,y,[z])
все типы точек. Это является нарушением спецификации для WKT, но является довольно распространенным соглашением. Например, GeoJSON также делает это,
Координаты точек расположены в порядке x, y (восток, север для прогнозируемых координат, долгота и широта для географических координат)
И, (лат, длинный) упорядочение явно определяется EPSG для SRSID 4326, .
2D или 3D система координат, в которой положение задается геодезической широтой, геодезической долготой и (в трехмерном случае) эллипсоидальной высотой, используемой в географических CRS.
Вы также можете изучить блог Пола Рэмси (Captain PostGIS) на эту тему, озаглавленный «Давайте отзовемся».
Nicities
В качестве особого примечания, MySQL добавляет две новые функции в смесь,
Эти функции стоят в стороне от ST_X()
и ST_Y()
и требуют географической SRS или они бросают исключение и ошибки.
Место хранения
Из документов
Внутри MySQL хранит значения геометрии в формате, который не идентичен ни WKT, ни WKB. (Внутренний формат подобен WKB, но с начальными 4 байтами для обозначения SRID.)
Хранение определяется здесь .
Table 11.1 WKB Components Example
Component Size Value
Byte order 1 byte 01
WKB type 4 bytes 01000000
X coordinate 8 bytes 000000000000F03F
Y coordinate 8 bytes 000000000000F0BF