Spec-Zone.ru › MySQL 9.2

15.1.20 ОПРЕДЕЛЕНИЕ ПРОСТРАНСТВЕННОЙ ССЫЛОЧНОЙ СИСТЕМЫ

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) и сохраняет его в словаре данных. В MySQL 9.2.0 и более поздних версиях требуется CREATE_SPATIAL_REFERENCE_SYSTEM разрешение (или 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 — это Европейская группа по исследованию нефтегазовых ресурсов.

  • Пользователи не должны создавать SRS с SRID в зарезервированных диапазонах. В противном случае существует риск конфликта 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 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-9.2-en/create-spatial-reference-system.html

Spec-Zone.ru

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