Дерево maria/5.3-gis на Launchpad.
Примечание: Эта страница устарела. Информация является устаревшей или некорректной. Мы оставляем страницу по историческим причинам. Не полагайтесь на информацию в этой статье.
Дерево maria/5.3-gis на Launchpad.
Основную информацию о существующих пространственных объектах можно найти в разделе «Географические объекты» в базе знаний. Страница «Пространственные расширения» руководства MySQL также применима к MariaDB.
Дерево maria/5.3-gis содержит свежий код, улучшающий пространственные возможности MariaDB.
MySQL работает с пространственными данными на основе стандартов OpenGIS, в частности OpenGIS SFS (простой доступ к объектам, вариант SQL).
Первоначальная поддержка была основана на версии 05-134 стандарта. MariaDB реализует подмножество среды «SQL с типами геометрии», предложенной OGC. И среда SQL была расширена набором типов геометрии.
Теперь мы начали реализовывать более новый стандарт 06-104r4.
MariaDB поддерживает пространственные расширения для работы с пространственными объектами. Эти функции доступны для таблиц Aria, MyISAM, InnoDB, NDB и ARCHIVE.
Для пространственных столбцов Aria и MyISAM поддерживают как пространственные (SPATIAL), так и непространственные (non-SPATIAL) индексы. Другие движки хранения поддерживают только непространственные индексы.
Последние изменения в коде направлены на удовлетворение требований OpenGIS. Один недостаток текущей версии состоит в том, что функции, проверяющие пространственные отношения, не учитывают фактическую форму объекта, вместо этого они работают только с их ограничивающими прямоугольниками. Эти устаревшие функции оставлены как есть, а новые, правильно работающие функции имеют префикс «ST_» в соответствии с последними требованиями OpenGIS. Также были добавлены операции над геометрическими объектами.
Список новых функций:
Пространственные операторы. Они создают новые геометрии.
| Имя | Описание |
|---|---|
ST_UNION(A, B) |
объединение A и B |
ST_INTERSECTION(A, B) |
пересечение A и B |
ST_SYMDIFFERENCE(A, B) |
симметрическая разность, непересекающиеся части A и B |
ST_BUFFER(A, radius) |
возвращает форму области, находящейся на расстоянии 'радиус' от формы A. |
Предикаты, возвращают логическое значение результата отношения
| Имя | Описание |
|---|---|
ST_INTERSECTS(A, B) |
если A и B имеют пересечение |
ST_CROSSES(A, B) |
если A и B пересекаются |
ST_EQUAL(A, B) |
если A и B равны |
ST_WITHIN(A, B) |
если A лежит внутри B |
ST_CONTAINS(A,B) |
если B лежит внутри A |
ST_DISJOINT(A,B) |
если A и B не имеют пересечения |
ST_TOUCHES(A,B) |
если A касается B |
Просмотры метаданных геометрии:
GEOMETRY_COLUMNS |
эта таблица описывает доступные таблицы с данными и их свойства геометрии |
|---|---|
| поля: | F_TABLE_CATALOG VARCHAR(200) NOT NULL, |
F_TABLE_SCHEMA VARCHAR(200) NOT NULL, |
|
F_TABLE_NAME VARCHAR(200) NOT NULL, |
|
F_GEOMETRY_COLUMN VARCHAR(200) NOT NULL, |
|
G_TABLE_CATALOG VARCHAR(200) NOT NULL, |
|
G_TABLE_SCHEMA VARCHAR(200) NOT NULL, |
|
G_TABLE_NAME VARCHAR(200) NOT NULL, |
|
STORAGE_TYPE INTEGER, |
|
GEOMETRY_TYPE INTEGER, |
|
COORD_DIMENSION INTEGER, |
|
MAX_PPR INTEGER, |
|
SRID INTEGER NOT NULL |
|
| SPATIAL_REF_SYS | эта таблица описывает систему координат и преобразования для геометрии |
| поля: | SRID INTEGER NOT NULL PRIMARY KEY, |
AUTH_NAME VARCHAR(200), |
|
AUTH_SRID INTEGER, |
|
SRTEXT TEXT |
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/the-maria53-gis-tree-on-launchpad/