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являются обязательными.Значение атрибута
NAMEsrs_nameдолжно быть уникальным. Сочетание атрибутовORGANIZATIONorg_nameиorg_idдолжно быть уникальным.Значение атрибута
NAMEsrs_nameи значение атрибутаORGANIZATIONorg_nameне могут быть пустыми или начинаться или заканчиваться пробелами.Строковые значения в спецификациях атрибутов не могут содержать управляющих символов, включая символ новой строки.
-
В следующей таблице показаны максимальные длины для строковых значений атрибутов.
Таблица 15.6 Длины атрибутов оператора CREATE SPATIAL REFERENCE SYSTEM
Таблица 15.6 Длины атрибутов оператора CREATE SPATIAL REFERENCE SYSTEM Атрибут Максимальная длина (символы) NAME80 DEFINITION4096 ORGANIZATION256 DESCRIPTION2048
Вот пример оператора 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 Поддерживаемые проекции систем пространственной привязки
| Код 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 Параметры проекции систем пространственной привязки
| Код 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.