13.4.5 Поддержка систем пространственных ссылок
Система пространственной ссылки (SRS) для пространственных данных — это система координат для географических местоположений.
Существуют различные типы систем пространственных ссылок:
-
Проектируемая система пространственной ссылки (SRS) представляет собой проекцию сферы на плоскую поверхность; то есть, плоскую карту. Например, лампочка внутри глобуса, которая светит на цилиндрическую бумагу, окружающую глобус, проектирует карту на бумагу. Результат геореферирован: каждая точка соответствует месту на глобусе. Система координат на этой плоскости является декартовой, используя единицу длины (метры, футы и т. д.), а не градусы долготы и широты.
В этом случае глобусы являются эллипсоидами; то есть, сплюснутыми сферами. Земля немного короче в своей оси Север-Юг, чем в оси Восток-Запад, поэтому слегка сплюснутая сфера более точна, но идеальные сферы позволяют быстрее проводить вычисления.
Географическая система пространственной ссылки (SRS) — это непроектируемая SRS, представляющая координаты долгота-широта (или широта-долгота) на эллипсоиде в любой угловой единице.
SRS, обозначенная в MySQL как SRID 0, представляет собой бесконечную плоскую декартову плоскость без единиц, присвоенных её осям. В отличие от проектируемых SRS, она не геореферирована и не обязательно представляет Землю. Это абстрактная плоскость, которая может использоваться для чего угодно. SRID 0 является стандартным SRID для пространственных данных в MySQL.
MySQL сохраняет информацию о доступных системах пространственных ссылок для пространственных данных в словаре данных mysql.st_spatial_reference_systems таблице, которая может хранить записи для проектируемых и географических SRS. Эта таблица словаря данных невидима, но содержимое записей SRS доступно через INFORMATION_SCHEMA ST_SPATIAL_REFERENCE_SYSTEMS таблицу, реализованную как представление на mysql.st_spatial_reference_systems (см. Раздел 28.3.38, «Таблица INFORMATION_SCHEMA ST_SPATIAL_REFERENCE_SYSTEMS»).
Следующий пример показывает, как выглядит запись SRS:
mysql> SELECT *
FROM INFORMATION_SCHEMA.ST_SPATIAL_REFERENCE_SYSTEMS
WHERE SRS_ID = 4326\G
*************************** 1. row ***************************
SRS_NAME: WGS 84
SRS_ID: 4326
ORGANIZATION: EPSG
ORGANIZATION_COORDSYS_ID: 4326
DEFINITION: GEOGCS["WGS 84",DATUM["World Geodetic System 1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
UNIT["degree",0.017453292519943278,
AUTHORITY["EPSG","9122"]],
AXIS["Lat",NORTH],AXIS["Long",EAST],
AUTHORITY["EPSG","4326"]]
DESCRIPTION:
Эта запись описывает SRS, используемую для GPS-систем. Она имеет имя (SRS_NAME) WGS 84 и идентификатор (SRS_ID) 4326, который используется группой европейских нефтяных исследований (EPSG).
Определения SRS в столбце DEFINITION — это значения WKT, представленные в соответствии с документом Консорциума открытых геопространственных технологий OGC 12-063r5.
SRS_ID значения представляют тот же тип значений, что и SRID значений геометрии или передаются в качестве аргумента SRID пространственным функциям. SRID 0 (безунитальная декартова плоскость) является специальным. Это всегда законный идентификатор системы пространственной ссылки и может быть использован в любых вычислениях на пространственных данных, которые зависят от значений SRID.
Для вычислений с несколькими значениями геометрии все значения должны иметь одинаковый SRID, иначе произойдёт ошибка.
Парсинг определений SRS происходит по требованию, когда определения необходимы функциям ГИС. Разложенные определения хранятся в кэше словаря данных, чтобы обеспечить повторное использование и избежать расходов на парсинг для каждого оператора, которому требуется информация SRS.
Для управления записями SRS, хранящимися в словаре данных, MySQL предоставляет следующие SQL-операторы:
CREATE SPATIAL REFERENCE SYSTEM: См. Раздел 15.1.20, «Оператор CREATE SPATIAL REFERENCE SYSTEM». Описание этого оператора включает дополнительную информацию о компонентах SRS.DROP SPATIAL REFERENCE SYSTEM: См. Раздел 15.1.33, «Оператор DROP SPATIAL REFERENCE SYSTEM».
В MySQL 9.2.0 и более поздних версиях для двух упомянутых выше операторов требуется привилегия CREATE_SPATIAL_REFERENCE_SYSTEM (предпочтительно) или привилегия SUPER (устаревшая для этой цели).
© 2025 Oracle
Licensed under the GPLv2 License.