Пространственная база данных
— Пространственная база данных общего назначения это база данных (обычно реляционная база данных ), которая была расширена за счет включения пространственных данных , представляющих объекты, определенные в геометрическом пространстве , а также инструментов для запроса и анализа таких данных.
Большинство пространственных баз данных позволяют представлять простые геометрические объекты, такие как точки , линии и многоугольники . Некоторые пространственные базы данных обрабатывают более сложные структуры, такие как трехмерные объекты , топологические покрытия , линейные сети и триангулированные нерегулярные сети (TIN). Хотя типичные базы данных были разработаны для управления различными числовыми и символьными типами данных , такие базы данных требуют дополнительных функций для эффективной обработки пространственных типов данных, и разработчики часто добавляют типы данных геометрии или объектов .
Географическая база данных (или база геоданных ) — это пространственная база данных с географической привязкой , используемая для хранения и управления географическими данными (или геоданными, т. е. данными, связанными с местоположением на Земле). [а] особенно в географических информационных системах (ГИС). Почти все современные реляционные и объектно-реляционные системы управления базами данных теперь имеют пространственные расширения, а некоторые поставщики программного обеспечения ГИС разработали свои собственные пространственные расширения для систем управления базами данных.
Открытый геопространственный консорциум (OGC) разработал спецификацию Simple Features (впервые выпущенную в 1997 году). [1] и устанавливает стандарты для добавления пространственной функциональности в системы баз данных. [2] Стандарт SQL/MM Spatial ISO/IEC является частью языка структурированных запросов и мультимедийного стандарта, расширяющего простые функции. [3]
Характеристики
[ редактировать ]Основная функциональность, добавляемая пространственным расширением к базе данных, — это один или несколько типов пространственных данных , которые позволяют хранить пространственные данные в виде значений атрибутов в таблице. [4] Чаще всего одним пространственным значением является геометрический примитив (точка, линия, многоугольник и т. д.), основанный на векторной модели данных . Типы данных в большинстве пространственных баз данных основаны на спецификации OGC Simple Features для представления геометрических примитивов. Некоторые пространственные базы данных также поддерживают хранение растровых данных . Поскольку все географические местоположения должны быть указаны в соответствии с пространственной системой координат , пространственные базы данных также должны позволять отслеживать и преобразовывать системы координат. Во многих системах, когда пространственный столбец определен в таблице, он также включает в себя выбор системы координат, выбираемой из списка доступных систем, который хранится в справочной таблице.
Вторым важным расширением функциональности пространственной базы данных является добавление пространственных возможностей к языку запросов (например, SQL ); они предоставляют пространственной базе данных те же операции запроса, анализа и манипуляции , которые доступны в традиционном программном обеспечении ГИС. В большинстве систем управления реляционными базами данных эта функциональность реализована как набор новых функций, которые можно использовать в операторах SQL SELECT. определено несколько типов операций Стандартом Open Geospatial Consortium :
- Измерение: вычисляет длину линии, площадь многоугольника, расстояние между геометриями и т. д.
- Геообработка: модифицируйте существующие объекты для создания новых, например, создавая вокруг них буфер, пересекая объекты и т. д.
- Предикаты: разрешает запросы true/false о пространственных отношениях между геометриями. Примеры включают: «Перекрываются ли два многоугольника?» или «есть ли жилой дом, расположенный в пределах мили от места, где мы планируем построить свалку?» (см. ДЕ-9ИМ )
- Конструкторы геометрии: создают новые геометрии, обычно путем указания вершин (точек или узлов), которые определяют форму.
- Функции наблюдателя: запросы, которые возвращают конкретную информацию об объекте, например расположение центра круга.
Некоторые базы данных поддерживают только упрощенные или модифицированные наборы этих операций, особенно в случае NoSQL систем , таких как MongoDB и CouchDB .
Пространственный индекс
[ редактировать ]используется Пространственный индекс пространственной базой данных для оптимизации пространственных запросов . Системы баз данных используют индексы для быстрого поиска значений путем сортировки значений данных в линейном (например, алфавитном) порядке; однако этот способ индексации данных не является оптимальным для пространственных запросов в двух- или трехмерном пространстве. Вместо этого пространственные базы данных используют пространственный индекс, разработанный специально для многомерного упорядочения. [5] Общие методы пространственного индекса включают:
- Разделение двоичного пространства (BSP-дерево): разделение пространства гиперплоскостями.
- Иерархия граничных объемов (BVH)
- Геохеш
- Сетка (пространственный индекс)
- HHCode
- Гильбертово R-дерево
- k -d дерево
- m-дерево – индекс m-дерева можно использовать для эффективного разрешения запросов на сходство сложных объектов по сравнению с использованием произвольной метрики.
- Октри
- PH-дерево
- Четырехдерево
- R-дерево : обычно предпочтительный метод индексации пространственных данных. [6] Объекты (фигуры, линии и точки) группируются с использованием минимального ограничивающего прямоугольника (MBR). Объекты добавляются в MBR внутри индекса, что приведет к наименьшему увеличению его размера.
- R+ дерево
- Р* дерево
- UB-дерево
- X-дерево
- Z-порядок (кривая)
Пространственный запрос
[ редактировать ]Пространственный запрос — это особый тип запроса к базе данных , поддерживаемый пространственными базами данных, включая базы геоданных. Эти запросы отличаются от непространственных SQL- запросов по нескольким важным параметрам. Двумя наиболее важными из них являются то, что они позволяют использовать типы геометрических данных, такие как точки, линии и многоугольники, и что эти запросы учитывают пространственные отношения между этими геометриями.
Имена функций для запросов различаются в разных базах геоданных. Ниже приведены некоторые функции, встроенные в PostGIS , бесплатную базу геоданных, которая является расширением PostgreSQL (термин «геометрия» относится к точке, линии, рамке или другой двух- или трехмерной форме): [7]
Прототип функции: имя функции (параметр(ы)) : тип возвращаемого значения
- ST_Distance(геометрия, геометрия): число
- ST_Equals(геометрия, геометрия): логическое значение
- ST_Disjoint(геометрия, геометрия): логическое значение
- ST_Intersects(геометрия, геометрия): логическое значение
- ST_Touches(геометрия, геометрия): логическое значение
- ST_Crosses(геометрия, геометрия): логическое значение
- ST_Overlaps(геометрия, геометрия): логическое значение
- ST_Contains(геометрия, геометрия): логическое значение
- ST_Length(геометрия): число
- ST_Area(геометрия): число
- ST_ Центроид (геометрия): геометрия
- ST_Intersection(геометрия, геометрия): геометрия
Таким образом, пространственное соединение между слоем точек городов и слоем полигонов стран можно выполнить с помощью пространственно расширенного оператора SQL следующим образом:
SELECT * FROM cities, countries WHERE ST_Contains(countries.shape, cities.shape)
Intersect Операцию наложения векторов (основной элемент программного обеспечения ГИС) можно воспроизвести следующим образом:
SELECT ST_Intersection(veg.shape, soil.shape) int_poly, veg.*, soil.* FROM veg, soil where ST_Intersects(veg.shape, soil.shape)
Системы управления пространственными базами данных
[ редактировать ]Список
[ редактировать ]- AllegroGraph – графовая база данных , которая обеспечивает механизм эффективного хранения и извлечения двумерных геопространственных координат для Resource Description Framework . данных [ нужна ссылка ] Он включает синтаксис расширения для SPARQL . запросов
- ArangoDB — многомодельная база данных, обеспечивающая возможность геоиндексации.
- Apache Drill — механизм запросов MPP SQL для запросов к большим наборам данных. Drill поддерживает типы и функции пространственных данных. [8] похож на PostgreSQL.
- Esri Geodatabase (Enterprise, Mobile) — собственная пространственная структура базы данных и логическая модель, которую можно реализовать в нескольких реляционных базах данных, как коммерческих (Oracle, MS SQL Server, Db2), так и с открытым исходным кодом (PostgreSQL, SQLite).
- Caliper расширяет Raima Data Manager пространственными типами данных, функциями и утилитами.
- CouchDB - система баз данных на основе документов, которую можно пространственно включить с помощью плагина Geocouch.
- Elasticsearch — это система баз данных на основе документов, которая поддерживает два типа географических данных: поля geo_point, которые поддерживают пары широты и долготы, и поля geo_shape, которые поддерживают точки, линии, круги, многоугольники, мультиполигоны и т. д. [9]
- GeoMesa — это облачная пространственно-временная база данных, построенная на базе Apache Accumulo и Apache Hadoop (также поддерживает Apache HBase , Google Bigtable , Apache Cassandra и Apache Kafka ). GeoMesa поддерживает все простые функции OGC и плагин GeoServer.
- H2 поддерживает типы геометрии. [10] и пространственные индексы [11] начиная с версии 1.3.173 (28 июля 2013 г.). Расширение под названием H2GIS, доступное на Maven Central, обеспечивает полную поддержку простых функций OGC .
- Любая редакция IBM Db2 может иметь пространственную поддержку для реализации пространственных функций OpenGIS с пространственными типами и функциями SQL.
- Расширения IBM Informix Geodetic и Spatial datablade устанавливаются автоматически при использовании и расширяют типы данных Informix, включая несколько стандартных систем координат и поддержку индексов RTree. Геодезические и пространственные данные также могут быть включены в поддержку данных временных рядов Informix для отслеживания объектов, движущихся во времени.
- ЛИНТЕР SQL Server поддерживает пространственные типы и пространственные функции в соответствии со спецификациями OpenGIS.
- Microsoft SQL Server поддерживает пространственные типы с версии 2008.
- MonetDB/GIS Расширение для MonetDB добавляет простые функции OGS в реляционную базу данных столбцового хранилища . [12]
- СУБД MySQL реализует тип данных «геометрия» , а также некоторые пространственные функции, реализованные в соответствии со спецификациями OpenGIS. [13] Однако в MySQL версии 5.5 и более ранних функциях, проверяющих пространственные отношения, ограничена работа с минимальными ограничивающими прямоугольниками, а не с фактической геометрией. Версии MySQL ранее 5.0.16 поддерживали только пространственные данные в таблицах MyISAM. Начиная с MySQL 5.0.16, InnoDB, NDB, BDB и ARCHIVE также поддерживают пространственные функции.
- Neo4j — графовая база данных , которая может строить 1D и 2D индексы в виде B-дерева , квадродерева и кривой Гильберта непосредственно в графе.
- OpenLink Virtuoso поддерживает SQL/MM начиная с версии 6.01.3126. [14] со значительными улучшениями, включая GeoSPARQL в Open Source Edition 7.2.6 и Enterprise Edition 8.2.0. [15]
- Oracle Пространственный
- СУБД PostgreSQL (система управления базами данных) использует расширение PostGIS для реализации OGC-совместимости. [16] пространственная функциональность, включая стандартизированную геометрию типов данных и соответствующие функции.
- Redis с Geo API. [17]
- RethinkDB поддерживает геопространственные индексы в 2D.
- SAP HANA поддерживает геопространственные данные с помощью SPS08. [18]
- Smallworld VMDS , собственная GE Smallworld. ГИС-база данных
- SpaceTime — это коммерческая пространственно-временная база данных, построенная на основе собственного многомерного индекса, аналогичного k семейству деревьев -d , но созданная с использованием восходящего подхода и адаптированная к конкретному пространственно-временному распределению данных.
- Сервер пространственных запросов от Boeing позволяет пространственно использовать Sybase ASE.
- SpatiaLite расширяет Sqlite пространственными типами данных, функциями и утилитами.
- Tarantool поддерживает геопространственные запросы с индексом RTREE. [19]
- Teradata Geospatial включает в свою систему хранилища данных 2D-пространственные функции (совместимые с OGC).
- Vertica Place , геопространственное расширение для HP Vertica , добавляет пространственные функции, совместимые с OGC, в реляционную базу данных столбцового хранилища . [20]
Таблица бесплатных систем специально для обработки пространственных данных
[ редактировать ]ДБС | Лицензия | Распределенный | Пространственные объекты | Пространственные функции | PostgreSQL Интерфейс | UMN картографического сервера Интерфейс | Документация | Изменяемый | HDFS |
---|---|---|---|---|---|---|---|---|---|
Апач Дрель | Лицензия Апач 2.0 | да | да | да — документация по Drill Geospatial Functions | да | нет | Официальная документация | ANSI SQL | да |
АрангоДБ | Лицензия Апач 2.0 | да | да | да - обзор возможностей, функции языка запросов | нет | нет | официальная документация | AQL | нет |
ГеоМеса | Лицензия Апач 2.0 | да | да ( простые функции ) | да ( СТС ) | нет (изготавливается с помощью GeoTools ) | нет | части функций, несколько примеров | Благодаря простому доступу к функциям виртуальной машины Java и Apache Spark можно решить любые задачи. | да |
H2 (H2GIS) | LGPL 3 (начиная с версии 1.3), GPL 3 до | нет | да (по выбору, без растра) | Простой доступ к функциям и пользовательские функции для H2Network | да | нет | да (домашняя страница) | SQL | нет |
Энгр | GPL или проприетарная лицензия | да (если установлено расширение) | да (по выбору, без растра) | Геометрический движок, с открытым исходным кодом [21] | нет | с MapScript | просто кратко | с C и OME | нет |
Neo4J -пространственный [22] | Я приношу общедоступную лицензию GNU. | нет | да ( простые функции ) | да (содержать, покрывать, покрывать, пересекать, не пересекать, пересекать, пересекать окно, перекрывать, касаться, внутри и на расстоянии) | нет | нет | просто кратко | форк JTS | нет |
PostgreSQL с PostGIS | Стандартная общественная лицензия GNU | нет | да ( простые функции и растр) | да ( простой доступ к объектам и растровые функции) | да | да | подробный | SQL, в связи с R | нет |
Postgres-XL с PostGIS | Публичная лицензия Mozilla и общедоступная лицензия GNU. | да | да ( простые функции и растр) | да ( простой доступ к объектам и растровые функции) | да | да | PostGIS: да, Postgres-XL: кратко | SQL в связи с R , Tcl или Python | нет |
Расдаман | серверная лицензия GPL , клиентская лицензия LGPL , корпоративная лицензия | да | просто растр | работа с растром с помощью rasql | да | со службой веб-покрытия или службой веб-обработки | подробная вики | собственная определенная функция в корпоративной версии | нет |
Переосмыслить БД | АГПЛ | да | да |
|
нет | нет | официальная документация [23] | разветвление | нет |
См. также
[ редактировать ]- Геоинформационная система (ГИС)
- ГеоСПАРКЛ
- Гляцио-геологические базы данных
- Разведка местоположения
- Мультимедийная база данных
- Поиск ближайшего соседа
- Объектно-ориентированная пространственная база данных
- Простые функции
- Пространственный анализ
- Пространственный ETL
- Пространственно-временная база данных
Примечания
[ редактировать ]- ^ Термин «база геоданных» может также относиться конкретно к набору собственных форматов пространственных баз данных, Geodatabase (Esri) .
Ссылки
[ редактировать ]- ^ Макки, Лэнс (2016). «История OGC (подробная)» . ОГК . Проверено 12 июля 2016 г.
[...] 1997 [...] OGC выпустила спецификацию простых функций OpenGIS, которая определяет интерфейс, который позволяет различным системам взаимодействовать с помощью «простых функций», основанных на 2D-геометрии. Поддерживаемые типы геометрии включают точки, линии, линии, кривые и многоугольники. Каждый геометрический объект связан с пространственной системой отсчета, которая описывает пространство координат, в котором определен геометрический объект.
- ^ Домашняя страница OGC
- ^ Крессе, Вольфганг; Данко, Дэвид М., ред. (2010). Справочник Springer по географической информации (1-е изд.). Берлин: Шпрингер. стр. 82–83 . ISBN 9783540726807 .
- ^ Юэ, П.; Тан, З. «DM-03 - Реляционные СУБД и их пространственные расширения» . Свод знаний ГИС&Т . УКГИС . Проверено 5 января 2023 г.
- ^ Чжан, X.; Ду, З. «Пространственное индексирование DM-66» . Свод знаний ГИС&Т . УКГИС . Проверено 5 января 2023 г.
- ^ Гютинг, Ральф Хартмут; Шнайдер, Маркус (2005). Базы данных движущихся объектов . Морган Кауфман. п. 262. ИСБН 9780120887996 .
- ^ «Справочник по функциям PostGIS» . Руководство по ПостГИС . ОСГео . Проверено 4 января 2023 г.
- ^ [1] Документация по геопространственным функциям бурения
- ^ «Гео-запросы | Руководство по Elasticsearch [7.15] | Elastic» .
- ^ Документация по типу геометрии H2
- ^ H2 создание документации по пространственному индексу
- ^ «Геопространственные данные – MonetDB» . 4 марта 2014 г.
- ^ «Справочное руководство MySQL 5.5 — 12.17.1. Введение в пространственную поддержку MySQL» . Архивировано из оригинала 30 апреля 2013 г. Проверено 1 мая 2013 г.
- ^ Программное обеспечение OpenLink. «9.34. Типы геометрических данных и поддержка пространственных индексов» . Проверено 24 октября 2018 г.
- ^ Программное обеспечение OpenLink (23 октября 2018 г.). «Новые выпуски Virtuoso Enterprise и выпусков с открытым исходным кодом» . Проверено 24 октября 2018 г.
- ^ «Сертифицированный OGC PostGIS» .
- ^ «Ссылка на команду — Redis» .
- ^ «Справочный портал SAP» (PDF) .
- ^ "РТРИ" . tarantool.org . Архивировано из оригинала 13 декабря 2014 г.
- ^ «ХП Вертика Плейс» . 2 декабря 2015 г.
- ^ «ГЕОС» .
- ^ «Neo4j Spatial — это библиотека утилит для Neo4j, которая облегчает выполнение пространственных операций с данными. В частности, вы можете добавлять пространственные индексы к уже расположенным данным и выполнять пространственные действия» . Гитхаб . 18 февраля 2019 г.
- ^ «Справочник по командам ReQL — RethinkDB» .
Дальнейшее чтение
[ редактировать ]- Пространственные базы данных: экскурсия , Шаши Шекхар и Санджай Чавла, Прентис Холл, 2003 ( ISBN 0-13-017480-7 )
- Пространственные базы данных – с применением к ГИС Филипп Риго, Мишель Шолль и Агнес Вуазар. Издательство Морган Кауфманн . 2002 ( ISBN 1-55860-588-6 )
- Оценка систем управления данными для больших геопространственных данных Пурия Амириан, Анахид Басири и Адам Уинстенли. Спрингер. 2014 ( ISBN 9783319091563 )
Внешние ссылки
[ редактировать ]- Введение в PostgreSQL PostGIS
- PostgreSQL PostGIS как компоненты сервис-ориентированной архитектуры SOA
- Схема охранной сигнализации на основе триггера для движущихся объектов в дорожной сети Саджимон Абрахам, П. Соян Лал, Опубликовано Springer Berlin / Heidelberg-2008.
- база геоданных ArcGIS Resource Center описание базы геоданных