Логотип

Географические пространственные справочные системы в MySQL 8.0

Географические пространственные справочные системы в MySQL 8.0

MySQL 8.0.11 поставляется с каталогом 5108 пространственной системой определений (SRS), и 479 из них являются географическими. Как правило, мы просто ссылаемся на них SRID, но в этом блоге мы будем погружаться в детали и попытаться понять сам определение.

Давайте начнем с SRS, большинство людей знает (хотя они могут не знать, что они это знают): SRID 4326, Всемирная геодезическая система с 1984 г. SRS мы используем каждый раз, когда мы ссылаемся на GPS-координаты:

Всякий раз, когда какая-либо пространственная функция вызываются каждый раз, когда геометрический объект строится в запросе или считывается с диска или памяти, MySQL просматривает SRID этой геометрии, чтобы понять, что означают координаты. Первый раз MySQL встречает SRID, он находит SRID в столбце SRS_ID и считывает и анализирует соответствующее определение из столбца DEFINITION. Остальные столбцы носят только справочную информацию для нас, людей. Определение SRS кэшируются так, что последующие поиски SRID происходят быстро.

Строка определения в формате, называемом Well-Known Text (WKT). WKT используется для определения точек, линий и многоугольников с функцией ST_GeomFromText, но определение SRS является другой частью этого языка. Это довольно длинная строка с несколькими уровнями вложенности блоков. Это легче читать, если мы распечатаем ее:

Все географические определения SRS начинаются со строкой «GEOGCS» (строка 1), коротким для географической системы координат. Далее следует имя (строка 2), которая является только для человека в качестве ссылки. В общем, большинство строк только для информации и не используется MySQL. MySQL заботится о цифрах, потому что те влияют на вычисления.

Читать  Вставка Данных в MySQL с помощью Perl

DATUM(строки 3-12) является определение модели Земли. Это тоже имеет имя (строка 4), а затем определение эллипсоида . Термины сфероида и эллипсоида  часто используются как взаимозаменяемые в ГИС. Если вы читали определение Википедии, вы увидите, что сфероид является типом эллипсоида, в частности, эллипсоид вращения. При работе с Землей, мы заинтересованы в сплющенных эллипсоидов, т.е. СФЕРОИДОВ где ось север-юг немного короче оси, проходящей через экватор.

Сфероида также имеет название (строка 6), а затем первые реальные цифры в строке определения: большую полуось (линия 7) и обратный уплощения (строка 8). В этом случае эллипсоидальная модель Земли имеет большую полуось (расстояние от центра до экватора) от 6378137 метров, а малая полуось (половины расстояния между Северным и Южными поляками) является 1 / 298.257223563th короче чем большая полуось. Если обратное уплощение установлено в 0 (теоретически недопустимое значении), Земля является идеальной сферой.

Код AUTHORITY (строка 9) говорит о том, что источник этого определения сфероида является EPSG Dataset, и идентификатор EPSG для сфероида 7030. Аналогичным образом, пункт органа для опорной точки (линия 11) говорит, что это EPSG точка привязка 6326. вы можете посмотреть эти коды в EPSG Online реестре, и вы увидите, что определения там соответствуют определениям MySQL в. Вы также обнаружите, что существует преобразование координат с EPSG кодом 7030, в дополнение к сфероида 7030. Эти номера являются уникальными только в пределах типа элемента, так что эти коды EPSG власти не должны быть ошибочно приняты за НИПИ .

PRIMEM (строки 13-17) указывает, где мы начинаем отсчет значений долготы. Опять же, простое имя меридиана (строка 14) игнорируются MySQL. Что важно, так это количество угловых единиц к востоку от Гринвича (строка 15). В этом случае мы определяем Гринвичский меридиан, который, конечно, является 0 градусов к востоку от Гринвича. Предложение власти (строка 16) говорит, что это EPSG меридиан 8901.

Читать  Как удалить учетные записи пользователей MySQL

Направление меридиональных мер является всегда Postive номера на востоке от Гринвича, но блок меняется с блоком SRS определением (строки 18-22). Опять же, не обращая внимания на имя UNIT (строка 19), мы получаем коэффициент преобразования в радианы (строка 20). Поскольку 2П радиан приведет вас вокруг всей окружности и 360 градусов делают то же самое, мы имеем 2π / 360 = +0,017453292519943278. Это устройство используется для указания меридиана. Кроме того, устройство используется в координаты широты и долготы геометрий в этом SRS. Код органа (строка 21) представляет собой код, который использует EPSG для угловых градусов.

Первая AXIS (линии 23-26) имеет NAME (строка 24), что MySQL игнорирует. Но мы можем найти то, что другие люди называют широту. Направление AXIS (линия 25) говорит MySQL, что это является широта ось, с положительными числами к северу от экватора. Направление говорит только «Север», что означает положительные значения, идущие на север, но MySQL знает, что это географическая SRS, поэтому север и юг являются угловые меры, то есть широта.

Вторая AXIS (линии 27-30) также имеет удобный для пользователя NAME (строка 28) и направление (линия 29). На этот раз направление на востоке, а это означает, что это долгота измеряется с положительными числами к востоку от меридиана мы видели выше (линии 13-17). Порядок этих двух определений оси является то, что определяет порядок по оси SRS, то есть, что это система широта-долгота, а не система широты долготы.

Окончательный код AUTHORITY (строка 31) является кодом AUTHORITY всей географической SRS. Так как это SRID 4326 и каталог MySQL по SRSS является подмножеством EPSG Dataset, это не удивительно, что это EPSG SRS номер 4326. В MySQL, можно предположить, что EPSG коды SRSS такие же, как SRIDsMySQL,. EPSG Dataset Инструкция 7-1 (п. 5.9) сохраняет за собой два диапазона идентификационных номеров для EPSG SRSS. MySQL зарезервировал те же диапазоны для SRIDs и намерен использовать их только для SRSS из EPSG Dataset.

Читать  Как скопировать или клонировать базу данных MySQL

Все коды AUTHORITY не являются обязательными. Мы могли бы указать тот же SRS без каких-либо кодов authority, и никакие расчеты не изменятся. Тем не менее, коды authority могут быть использованы в будущем для выявления конкретных элементов.

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

 

Редактор: AndreyEx

Рейтинг: 4 (2 голоса)
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

3 + 19 =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала