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являются обязательными.Значение атрибута
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 Guidance Note 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.