Пространственная база данных является базой данных , которая оптимизирована для хранения и извлечения данных , которые представляют объекты , определенные в геометрическом пространстве. Большинство пространственных баз данных позволяют представлять простые геометрические объекты, такие как точки, линии и многоугольники. Некоторые пространственные базы данных обрабатывают более сложные структуры, такие как трехмерные объекты, топологические покрытия, линейные сети и TIN . В то время как типичные базы данных были разработаны для управления различными числовых и символьных типов данных , такие базы данных требуют дополнительных функциональных возможностей для эффективной обработки пространственных типов данных, и разработчики часто добавляют геометрические или художественные тип данных. Открытый Геопространственная Консорциум (ОКГ)разработала спецификацию Simple Features (впервые выпущена в 1997 г.) [1] и устанавливает стандарты для добавления пространственных функций в системы баз данных. [2] Стандарт SQL / MM Spatial ISO / IEC является частью стандарта мультимедиа SQL / MM и расширяет стандарт Simple Features с помощью типов данных, поддерживающих круговую интерполяцию. [3]
База геоданных
Базы геоданных (также географическая база данных и геопространственной базы данных ) представляет собой базу данных о географических данных , таких как страны , административных подразделений , городов , а также связанной с ними информации. Такие базы данных могут быть полезны для веб-сайтов, которые хотят идентифицировать местоположение своих посетителей для целей настройки.
Характеристики
Системы баз данных используют индексы для быстрого поиска значений; однако этот способ индексации данных не оптимален для пространственных запросов . Вместо этого пространственные базы данных используют пространственный индекс для ускорения операций с базой данных.
В дополнение к типичным SQL-запросам, таким как операторы SELECT, пространственные базы данных могут выполнять широкий спектр пространственных операций. Следующие и многие другие операции определены стандартом Open Geospatial Consortium :
- Пространственные измерения: вычисляет длину линии, площадь многоугольника, расстояние между геометрическими фигурами и т. Д.
- Пространственные функции: изменяйте существующие объекты для создания новых, например, создавая вокруг них буфер, пересекающиеся объекты и т. Д.
- Пространственные предикаты: разрешает истинные / ложные запросы о пространственных отношениях между геометриями. Примеры включают «перекрываются ли два полигона» или «есть ли жилой дом в пределах мили от района, где мы планируем построить свалку?» (см. ДЭ-9ИМ )
- Конструкторы геометрии: Создает новую геометрию, обычно путем указания вершин (точек или узлов), которые определяют форму.
- Функции наблюдателя: запросы, возвращающие конкретную информацию об объекте, например о местоположении центра круга.
Некоторые базы данных поддерживают только упрощенные или модифицированные наборы этих операций, особенно в случае систем NoSQL , таких как MongoDB и CouchDB .
Пространственный индекс
Пространственные индексы используются пространственными базами данных (базами данных, в которых хранится информация, относящаяся к объектам в космосе) для оптимизации пространственных запросов . Обычные типы индексов неэффективно обрабатывают пространственные запросы, например, насколько сильно различаются две точки или попадают ли точки в интересующую пространственную область. Общие методы пространственного индекса включают:
- Geohash
- HHCode
- Сетка (пространственный индекс)
- Z-порядок (кривая)
- Quadtree
- Octree
- УБ-дерево
- R-tree : Обычно предпочтительный метод индексации пространственных данных. [ необходима цитата ] Объекты (формы, линии и точки) сгруппированы с использованием минимального ограничивающего прямоугольника (MBR). Объекты добавляются в MBR внутри индекса, что приводит к минимальному увеличению его размера.
- R + дерево
- R * дерево
- R-дерево Гильберта
- X-дерево
- kd-дерево
- m-tree - индекс m-tree может использоваться для эффективного разрешения запросов на подобие сложных объектов по сравнению с использованием произвольной метрики.
- Разделение двоичного пространства (BSP-Tree): разделение пространства на гиперплоскости.
Пространственный запрос
Пространственный запрос представляет собой особый тип запроса к базе данных поддерживаются пространственными базами данных, в том числе геоданных. Запросы отличаются от непространственных SQL- запросов несколькими важными способами. Двумя наиболее важными из них являются то, что они позволяют использовать типы данных геометрии, такие как точки, линии и многоугольники, и что эти запросы учитывают пространственные отношения между этими геометриями.
Имена функций для запросов в разных базах геоданных различаются. Следующий список содержит часто используемые функции, встроенные в PostGIS , бесплатную базу геоданных, которая является расширением PostgreSQL (термин «геометрия» относится к точке, линии, прямоугольнику или другой двух- или трехмерной форме):
Прототип функции : functionName (параметр (ы)): тип возвращаемого значения
- Расстояние (геометрия, геометрия): число
- Равно (геометрия, геометрия): логическое
- Непересекающийся (геометрия, геометрия): логический
- Пересечения (геометрия, геометрия): логическое
- Прикосновения (геометрия, геометрия): логический
- Крестики (геометрия, геометрия): логические
- Перекрытия (геометрия, геометрия): логическое
- Содержит (геометрия, геометрия): логическое
- Длина (геометрия): число
- Площадь (геометрия): число
- Центроид (геометрия): геометрия
Системы управления пространственными базами данных
Список
- AllegroGraph - база данных графов, которая обеспечивает механизм для эффективного хранения и извлечения двумерных геопространственных координат для данных Resource Description Framework . [ необходима цитата ] Он включает синтаксис расширения для запросов SPARQL .
- ArangoDB - многомодельная база данных, обеспечивающая возможность геоиндексирования.
- Суппорт расширяет Raima данных диспетчера пространственных типов данных, функций и утилит.
- CouchDB - система баз данных на основе документов, которая может быть пространственно активирована с помощью плагина под названием Geocouch.
- Elasticsearch - это система баз данных на основе документов, которая поддерживает два типа геоданных: поля geo_point, которые поддерживают пары широты и долготы, и поля geo_shape, которые поддерживают точки, линии, круги, многоугольники, мульти-полигоны и т. Д. [4]
- GeoMesa - это облачная пространственно-временная база данных, построенная на основе Apache Accumulo и Apache Hadoop (также поддерживает Apache HBase , Google Bigtable , Apache Cassandra и Apache Kafka ). GeoMesa полностью поддерживает простые функции OGC и подключаемый модуль GeoServer.
- H2 поддерживает типы геометрии [5] и пространственные индексы [6], начиная с версии 1.3.173 (2013-07-28). Расширение под названием H2GIS, доступное на Maven Central, обеспечивает полную поддержку простых функций OGC .
- Любая редакция IBM DB2 может иметь пространственную поддержку для реализации пространственной функциональности OpenGIS с пространственными типами и функциями SQL.
- Расширения IBM Informix Geodetic и Spatial datablade автоматически устанавливаются при использовании и расширяют типы данных Informix для включения нескольких стандартных систем координат и поддержки индексов RTree. Геодезические и пространственные данные также могут быть включены с поддержкой данных Informix Timeseries для отслеживания движущихся объектов во времени.
- ЛИНТЕР SQL Server поддерживает пространственные типы и пространственные функции в соответствии со спецификациями OpenGIS.
- Microsoft SQL Server поддерживает пространственные типы с версии 2008
- Расширение MonetDB / GIS для MonetDB добавляет простые функции OGS в базу данных реляционного хранилища столбцов . [7]
- СУБД MySQL реализует геометрию типа данных , а также некоторые пространственные функции, реализованные в соответствии со спецификациями OpenGIS. [8] Однако в MySQL версии 5.5 и ранее функции, проверяющие пространственные отношения, ограничены работой с минимальными ограничивающими прямоугольниками, а не с фактической геометрией. Версии MySQL до 5.0.16 поддерживали только пространственные данные в таблицах MyISAM. Начиная с MySQL 5.0.16, InnoDB, NDB, BDB и ARCHIVE также поддерживают пространственные функции.
- Neo4j - графическая база данных, которая может строить одномерные и двухмерные индексы в виде B-дерева , квадродерева и кривой Гильберта непосредственно на графике.
- OpenLink Virtuoso поддерживает SQL / MM, начиная с версии 6.01.3126, [9] со значительными улучшениями, включая GeoSPARQL в Open Source Edition 7.2.6 и в Enterprise Edition 8.2.0 [10]
- Oracle Spatial
- СУБД PostgreSQL (система управления базами данных) использует пространственное расширение PostGIS для реализации стандартизированной геометрии типов данных и соответствующих функций.
- Redis с Geo API. [11]
- RethinkDB поддерживает геопространственные индексы в 2D.
- SAP HANA поддерживает геопространственные данные с помощью SPS08. [12]
- Smallworld VMDS , собственная база данных ГИС GE Smallworld
- Сервер пространственных запросов от Boeing пространственно включает Sybase ASE.
- SpatiaLite расширяет Sqlite за счет пространственных типов данных, функций и утилит.
- Tarantool поддерживает геопространственные запросы с индексом RTREE. [13]
- Teradata Geospatial включает двухмерные пространственные функции (совместимые с OGC) в свою систему хранилища данных.
- Vertica Place , геопространственное расширение для HP Vertica , добавляет совместимые с OGC пространственные функции в реляционную базу данных хранилища столбцов . [14]
Таблица бесплатных систем специально для обработки пространственных данных
DBS | Лицензия | Распространено | Пространственные объекты | Пространственные функции | PostgreSQL интерфейс | Интерфейс UMN MapServer | Документация | Изменяемый | HDFS |
---|---|---|---|---|---|---|---|---|---|
ArangoDB | Лицензия Apache 2.0 | да | да | да - обзор возможностей функции языка запросов | нет | нет | официальная документация | AQL | нет |
GeoMesa | Лицензия Apache 2.0 | да | да ( простые функции ) | да ( СТС ) | нет (возможно изготовление с помощью GeoTools ) | нет | части функций, несколько примеров | с помощью простого доступа к функциям в виртуальной машине Java и Apache Spark решаются все виды задач | да |
Н2 (Н2ГИС) | LGPL 3 (начиная с версии 1.3), GPL 3 ранее | нет | да (по индивидуальному заказу, без растра) | Простой доступ к функциям и пользовательские функции для H2Network | да | нет | да (домашняя страница) | SQL | нет |
Ingres | GPL или проприетарный | да (если установлено расширение) | да (по индивидуальному заказу, без растра) | Geometry Engine, открытый исходный код [15] | нет | с MapScript | просто вкратце | с C и OME | нет |
Neo4J -пространственный [16] | Стандартная общественная лицензия GNU affero | нет | да ( простые функции ) | да (содержать, покрывать, покрывать, пересекать, не пересекать, пересекать, пересекать окно, перекрывать, касаться, внутри и в пределах расстояния) | нет | нет | просто вкратце | вилка JTS | нет |
PostgreSQL с PostGIS | Стандартная общественная лицензия GNU | нет | да ( простые функции и растр) | да ( простой доступ к функциям и растровые функции) | да | да | подробный | SQL в связи с R | нет |
Postgres-XL с PostGIS | Общественная лицензия Mozilla и общая общественная лицензия GNU | да | да ( простые функции и растр) | да ( простой доступ к функциям и растровые функции) | да | да | PostGIS: да, Postgres-XL: кратко | SQL, в связи с R или Tcl или Python | нет |
Расдаман | серверная GPL , клиентская LGPL , корпоративная собственность | да | просто растр | обработка растров с помощью rasql | да | с помощью службы веб-покрытия или службы веб-обработки | подробная вики | собственная определенная функция в корпоративной версии | нет |
RethinkDB | AGPL | да | да |
| нет | нет | официальная документация [17] | разветвление | нет |
Смотрите также
- Географическая информационная система (ГИС)
- GeoSPARQL
- Гляцио-геологические базы данных
- Разведка местоположения
- Мультимедийная база данных
- Поиск ближайшего соседа
- Объектно-ориентированная пространственная база данных
- Простые функции
- Пространственный анализ
- Пространственный ETL
- Пространственно-временная база данных
Рекомендации
- Перейти ↑ McKee, Lance (2016). «История OGC (подробно)» . OGC . Проверено 12 июля 2016 .
[...] 1997 [...] OGC выпустила спецификацию OpenGIS Simple Features Specification, которая определяет интерфейс, который позволяет различным системам взаимодействовать в терминах «простых функций», основанных на 2D-геометрии.
Поддерживаемые типы геометрии включают точки, линии, линии, кривые и многоугольники.
Каждый геометрический объект связан с системой пространственной привязки, которая описывает координатное пространство, в котором определяется геометрический объект.
- ^ Домашняя страница OGC
- ^ Кресс, Вольфганг; Данко, Дэвид М., ред. (2010). Справочник Springer по географической информации (1-е изд.). Берлин: Springer. стр. 82 -83. ISBN 9783540726807.
- ^ https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-queries.html
- ^ Документация по типу геометрии H2
- ^ H2 создать документацию по пространственному индексу
- ^ «GeoSpatial - MonetDB» . 4 марта 2014 г.
- ^ «Справочное руководство по MySQL 5.5 - 12.17.1. Введение в пространственную поддержку MySQL» . Архивировано из оригинала на 2013-04-30 . Проверено 1 мая 2013 .
- ^ Программное обеспечение OpenLink. «9.34. Типы данных геометрии и поддержка пространственного индекса» . Проверено 24 октября 2018 года .
- ^ Программное обеспечение OpenLink (23.10.2018). «Новые выпуски Virtuoso Enterprise и Open Source Edition» . Проверено 24 октября 2018 года .
- ^ «Справочник команд - Redis» .
- ^ «Справочный портал SAP» (PDF) .
- ^ http://tarantool.org/doc/user_guide/RTREE.html#in-memory
- ^ «HP Vertica Place» . 2 декабря 2015.
- ^ «ГЕОС» .
- ^ «Neo4j Spatial - это библиотека утилит для Neo4j, которая облегчает включение пространственных операций с данными. В частности, вы можете добавлять пространственные индексы к уже расположенным данным и выполнять пространственные» . 2019-02-18.
- ^ «Справочник по командам ReQL - RethinkDB» .
дальнейшее чтение
- Пространственные базы данных: экскурсия , Шаши Шекхар и Санджай Чавла, Prentice Hall, 2003 ( ISBN 0-13-017480-7 )
- Пространственные базы данных - с приложением к ГИС Филипп Риго, Мишель Шолль и Агнес Вуазар. Издательство Морган Кауфманн . 2002 ( ISBN 1-55860-588-6 )
- Оценка систем управления данными для больших геопространственных данных Пурия Амириан, Анаид Басири и Адам Винстенли. Springer. 2014 ( ISBN 9783319091563 )
Внешние ссылки
- Введение в PostgreSQL PostGIS
- PostgreSQL PostGIS как компоненты в сервис-ориентированной архитектуре SOA
- Схема тревожной сигнализации безопасности на основе триггера для движущихся объектов в дорожных сетях Саджимон Абрахам, П. Соджан Лал, опубликовано Springer Berlin / Heidelberg-2008.
- база геоданных ArcGIS Resource Center описание базы геоданных