Spec-Zone.ru › MySQL 8.4

15.1.19 Определение пространственной системы координат

CREATE OR REPLACE SPATIAL REFERENCE SYSTEM
    srid srs_attribute ...

CREATE SPATIAL REFERENCE SYSTEM
    [IF NOT EXISTS]
    srid srs_attribute ...

srs_attribute: {
    NAME 'srs_name'
  | DEFINITION 'definition'
  | ORGANIZATION 'org_name' IDENTIFIED BY org_id
  | DESCRIPTION 'description'
}

srid, org_id: 32-bit unsigned integer

Данное утверждение создаёт определение пространственной системы координат (SRS) и сохраняет его в словаре данных. Для его выполнения требуется привилегия SUPER. Результат — запись в словаре данных, которую можно просмотреть, используя таблицу INFORMATION_SCHEMA ST_SPATIAL_REFERENCE_SYSTEMS.

Значения SRID должны быть уникальными. Поэтому, если не указаны ни OR REPLACE, ни IF NOT EXISTS, при существовании определения SRS с заданным значением srid произойдёт ошибка.

При использовании синтаксиса CREATE OR REPLACE любое существующее определение SRS с тем же значением SRID будет заменено, если только это значение SRID не используется каким-либо столбцом в существующей таблице. В этом случае произойдёт ошибка. Например:

mysql> CREATE OR REPLACE SPATIAL REFERENCE SYSTEM 4326 ...;
ERROR 3716 (SR005): Can't modify SRID 4326. There is at
least one column depending on it.

Чтобы определить, какой столбец или столбцы используют SRID, используйте следующий запрос, заменив 4326 на SRID определяемого вами определения:

SELECT * FROM INFORMATION_SCHEMA.ST_GEOMETRY_COLUMNS WHERE SRS_ID=4326;

При использовании синтаксиса CREATE ... IF NOT EXISTS любое существующее определение SRS с таким же значением SRID приведёт к игнорированию нового определения и появлению предупреждения.

Значения SRID должны находиться в диапазоне 32-битных беззнаковых целых чисел, с такими ограничениями:

  • SRID 0 является допустимым SRID, но не может быть использован с CREATE SPATIAL REFERENCE SYSTEM.

  • Если значение находится в зарезервированном диапазоне SRID, появляется предупреждение. Зарезервированные диапазоны включают [0, 32767] (зарезервировано EPSG), [60,000,000, 69,999,999] (зарезервировано EPSG) и [2,000,000,000, 2,147,483,647] (зарезервировано MySQL). EPSG расшифровывается как European Petroleum Survey Group.

  • Пользователи не должны создавать SRS с SRID в зарезервированных диапазонах. Это может привести к конфликтам с будущими определениями SRS, распространяемыми с MySQL, в результате чего новые системные SRS не будут установлены при обновлении MySQL или пользовательские SRS будут перезаписаны.

Атрибуты утверждения должны удовлетворять следующим условиям:

  • Атрибуты можно указывать в любом порядке, но каждый атрибут может быть указан не более одного раза.

  • Атрибуты NAME и DEFINITION являются обязательными.

  • Значение атрибута NAME srs_name должно быть уникальным. Сочетание значений атрибутов ORGANIZATION org_name и org_id должно быть уникальным.

  • Значение атрибута NAME srs_name и значение атрибута ORGANIZATION org_name не могут быть пустыми или начинаться или заканчиваться пробелами.

  • Строковые значения в спецификациях атрибутов не могут содержать управляющих символов, включая символ новой строки.

  • В следующей таблице показаны максимальные длины строковых значений атрибутов.

    Таблица 15.6 Длины атрибутов CREATE SPATIAL REFERENCE SYSTEM

    Таблица 15.6 Длины атрибутов CREATE SPATIAL REFERENCE SYSTEM
    Атрибут Максимальная длина (символы)
    NAME 80
    DEFINITION 4096
    ORGANIZATION 256
    DESCRIPTION 2048

Вот пример CREATE SPATIAL REFERENCE SYSTEM утверждения. Значение DEFINITION переформатировано на несколько строк для лучшей читаемости. (Для того, чтобы утверждение было допустимым, значение фактически должно быть на одной строке.)

CREATE SPATIAL REFERENCE SYSTEM 4120
NAME 'Greek'
ORGANIZATION 'EPSG' IDENTIFIED BY 4120
DEFINITION
  'GEOGCS["Greek",DATUM["Greek",SPHEROID["Bessel 1841",
  6377397.155,299.1528128,AUTHORITY["EPSG","7004"]],
  AUTHORITY["EPSG","6120"]],PRIMEM["Greenwich",0,
  AUTHORITY["EPSG","8901"]],UNIT["degree",0.017453292519943278,
  AUTHORITY["EPSG","9122"]],AXIS["Lat",NORTH],AXIS["Lon",EAST],
  AUTHORITY["EPSG","4120"]]';

Грамматика определений SRS основана на грамматике, определённой в Спецификации реализации OpenGIS: Услуги преобразования координат, Ревизия 1.00, OGC 01-009, 12 января 2001 года, раздел 7.2. Эта спецификация доступна по адресу http://www.opengeospatial.org/standards/ct.

MySQL включает следующие изменения в эту спецификацию:

  • Реализована только производная правило <horz cs> (то есть географические и проекционные SRS).

  • Существует необязательная, нестандартная фраза <authority> для <parameter>. Это позволяет распознавать параметры проекции по авторитету, а не по имени.

  • Спецификация не делает фразы AXIS обязательными в определениях пространственных систем координат GEOGCS. Однако, если нет фраз AXIS, MySQL не может определить, упорядочены ли оси в определении в порядке широта-долгота или долгота-широта. MySQL навязывает нестандартное требование, что каждое определение GEOGCS должно включать две фразы AXIS. Одна должна быть NORTH или SOUTH, а другая EAST или WEST. Порядок фраз AXIS определяет, упорядочены ли оси в определении в порядке широта-долгота или долгота-широта.

  • Определения SRS не могут содержать символов новой строки.

Если определение SRS указывает код авторитета для проекции (что рекомендуется), произойдёт ошибка, если в определении отсутствуют обязательные параметры. В этом случае сообщение об ошибке указывает, в чём заключается проблема. Поддерживаемые MySQL проекции и обязательные параметры показаны в таблице 15.7 «Поддерживаемые методы проекции пространственной системы координат» и таблице 15.8 «Параметры проекции пространственной системы координат».

В следующей таблице показаны поддерживаемые методы проекции. MySQL допускает неизвестные методы проекции, но не может проверить определение на наличие обязательных параметров и не может преобразовать пространственные данные в или из неизвестной проекции. Для подробного объяснения работы каждой проекции, включая формулы, обратитесь к EPSG Guidance Note 7-2.

Таблица 15.7 Поддерживаемые проекции систем пространственной привязки

Таблица 15.7 Поддерживаемые проекции систем пространственной привязки
Код EPSG Имя проекции Обязательные параметры (коды EPSG)
1024 Псевдомеркатор (популярная визуализация) 8801, 8802, 8806, 8807
1027 Ламберта азимутальная равновеликая (сферическая) 8801, 8802, 8806, 8807
1028 Цилиндрическая равнорасстоянная 8823, 8802, 8806, 8807
1029 Цилиндрическая равнорасстоянная (сферическая) 8823, 8802, 8806, 8807
1041 Кровак (ориентированный на север) 8811, 8833, 1036, 8818, 8819, 8806, 8807
1042 Измененный Кровак 8811, 8833, 1036, 8818, 8819, 8806, 8807, 8617, 8618, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035
1043 Измененный Кровак (ориентированный на север) 8811, 8833, 1036, 8818, 8819, 8806, 8807, 8617, 8618, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035
1051 Конформная коническая проекция Ламберта (2SP Мичиган) 8821, 8822, 8823, 8824, 8826, 8827, 1038
1052 Городская проекция Колумбии 8801, 8802, 8806, 8807, 1039
9801 Конформная коническая проекция Ламберта (1SP) 8801, 8802, 8805, 8806, 8807
9802 Конформная коническая проекция Ламберта (2SP) 8821, 8822, 8823, 8824, 8826, 8827
9803 Конформная коническая проекция Ламберта (2SP Бельгия) 8821, 8822, 8823, 8824, 8826, 8827
9804 Проекция Меркатора (вариант A) 8801, 8802, 8805, 8806, 8807
9805 Проекция Меркатора (вариант B) 8823, 8802, 8806, 8807
9806 Кассини-Сольдер 8801, 8802, 8806, 8807
9807 Поперечная проекция Меркатора 8801, 8802, 8805, 8806, 8807
9808 Поперечная проекция Меркатора (ориентированная на юг) 8801, 8802, 8805, 8806, 8807
9809 Косое стереографическое проектирование 8801, 8802, 8805, 8806, 8807
9810 Полярная стереографическая проекция (вариант A) 8801, 8802, 8805, 8806, 8807
9811 Новая Зеландия - сетка карты 8801, 8802, 8806, 8807
9812 Проекция Готина косого Меркатора (вариант A) 8811, 8812, 8813, 8814, 8815, 8806, 8807
9813 Проекция Лаборда косого Меркатора 8811, 8812, 8813, 8815, 8806, 8807
9815 Проекция Готина косого Меркатора (вариант B) 8811, 8812, 8813, 8814, 8815, 8816, 8817
9816 Тунисская горнодобывающая сетка 8821, 8822, 8826, 8827
9817 Почти конформная коническая проекция Ламберта 8801, 8802, 8805, 8806, 8807
9818 Американская поликоническая 8801, 8802, 8806, 8807
9819 Кровак 8811, 8833, 1036, 8818, 8819, 8806, 8807
9820 Азимутальная равновеликая проекция Ламберта 8801, 8802, 8806, 8807
9822 Равновеликая проекция Альберса 8821, 8822, 8823, 8824, 8826, 8827
9824 Система зонированной сетки поперечной проекции Меркатора 8801, 8830, 8831, 8805, 8806, 8807
9826 Конформная коническая проекция Ламберта (ориентированная на запад) 8801, 8802, 8805, 8806, 8807
9828 Боне (ориентированная на юг) 8801, 8802, 8806, 8807
9829 Полярная стереографическая проекция (вариант B) 8832, 8833, 8806, 8807
9830 Полярная стереографическая проекция (вариант C) 8832, 8833, 8826, 8827
9831 Проекция Гуама 8801, 8802, 8806, 8807
9832 Измененная азимутальная равнорасстоянная 8801, 8802, 8806, 8807
9833 Гиперболическая Кассини-Сольдер 8801, 8802, 8806, 8807
9834 Цилиндрическая равновеликая проекция Ламберта (сферическая) 8823, 8802, 8806, 8807
9835 Цилиндрическая равновеликая проекция Ламберта 8823, 8802, 8806, 8807

В следующей таблице показаны параметры проекции, которые распознает MySQL. Распознавание происходит в первую очередь по коду авторитета. Если код авторитета отсутствует, MySQL использует нечувствительное к регистру сопоставление по имени параметра. Для получения подробной информации о каждом параметре, найдите его по коду в Онлайн-реестре EPSG.

Таблица 15.8 Параметры проекции систем пространственной привязки

Таблица 15.8 Параметры проекции систем пространственной привязки
Код EPSG Имя по умолчанию (распознаваемое MySQL) Имя EPSG
1026 c1 C1
1027 c2 C2
1028 c3 C3
1029 c4 C4
1030 c5 C5
1031 c6 C6
1032 c7 C7
1033 c8 C8
1034 c9 C9
1035 c10 C10
1036 azimuth Ко-широта оси конуса
1038 ellipsoid_scale_factor Коэффициент масштабирования эллипсоида
1039 projection_plane_height_at_origin Высота плоскости проекции в начале координат
8617 evaluation_point_ordinate_1 Координата 1 точки оценки
8618 evaluation_point_ordinate_2 Координата 2 точки оценки
8801 latitude_of_origin Широта естественного начала координат
8802 central_meridian Долгота естественного начала координат
8805 scale_factor Коэффициент масштаба в естественном начале координат
8806 false_easting Ложное значение восточной координаты
8807 false_northing Ложное значение северной координаты
8811 latitude_of_center Широта центра проекции
8812 longitude_of_center Долгота центра проекции
8813 azimuth Азимут начальной линии
8814 rectified_grid_angle Угол от выпрямленной сетки к наклонной
8815 scale_factor Коэффициент масштаба на начальной линии
8816 false_easting Восточная координата в центре проекции
8817 false_northing Северная координата в центре проекции
8818 pseudo_standard_parallel_1 Широта псевдо-стандартного параллеля
8819 scale_factor Коэффициент масштаба на псевдо-стандартном параллеле
8821 latitude_of_origin Широта ложного начала координат
8822 central_meridian Долгота ложного начала координат
8823 standard_parallel_1, standard_parallel1 Широта 1-го стандартного параллеля
8824 standard_parallel_2, standard_parallel2 Широта 2-го стандартного параллеля
8826 false_easting Восточная координата в ложном начале координат
8827 false_northing Северная координата в ложном начале координат
8830 initial_longitude Начальная долгота
8831 zone_width Ширина зоны
8832 standard_parallel Широта стандартного параллеля
8833 longitude_of_center Долгота начала координат

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/create-spatial-reference-system.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API