Пространственная база данных - Spatial database
А пространственная база данных это база данных который оптимизирован для хранения и запроса данных, представляющих объекты, определенные в геометрическом пространстве. Большинство пространственных баз данных позволяют представлять простые геометрические объекты, такие как точки, линии и многоугольники. Некоторые пространственные базы данных обрабатывают более сложные структуры, такие как 3D-объекты, топологические покрытия, линейные сети и ИНН. Хотя типичные базы данных разработаны для управления различными числовыми и символьными типы данных, такие базы данных требуют дополнительных функций для эффективной обработки типов пространственных данных, и разработчики часто добавляли геометрия или же особенность типы данных. В Открытый геопространственный консорциум (OGC) разработал Простые функции спецификация (впервые выпущена в 1997 г.)[1] и устанавливает стандарты для добавления пространственных функций к системам баз данных.[2] В SQL / MM Пространственный Стандарт ISO / IEC является частью стандарта мультимедиа SQL / MM и расширяет стандарт Simple Features с помощью типов данных, поддерживающих круговую интерполяцию.[3]
База геоданных
А база геоданных (также географическая база данных и геопространственная база данных) это база данных из географические данные, Такие как страны, административные округи, города и сопутствующая информация. Такие базы данных могут быть полезны для веб-сайтов, которые хотят идентифицировать местоположение своих посетителей для целей настройки.
Характеристики
Системы баз данных используют индексы для быстрого поиска значений; однако такой способ индексации данных не оптимален для пространственные запросы. Вместо этого пространственные базы данных используют пространственный индекс для ускорения операций с базой данных.
В дополнение к типичным SQL-запросам, таким как операторы SELECT, пространственные базы данных могут выполнять широкий спектр пространственных операций. Следующие и многие другие операции указаны в Открытый геопространственный консорциум стандарт:
- Пространственные измерения: вычисляет длину линии, площадь многоугольника, расстояние между геометриями и т. Д.
- Пространственные функции: изменяйте существующие объекты для создания новых, например, создавая вокруг них буфер, пересекающиеся объекты и т. Д.
- Пространственные предикаты: разрешает истинные / ложные запросы о пространственных отношениях между геометриями. Примеры включают «перекрываются ли два полигона» или «есть ли жилой дом в пределах мили от района, где мы планируем построить полигон?» (видеть ДЭ-9ИМ )
- Конструкторы геометрии: Создают новую геометрию, обычно путем указания вершин (точек или узлов), которые определяют форму.
- Функции наблюдателя: запросы, которые возвращают конкретную информацию об объекте, например о местоположении центра круга.
Некоторые базы данных поддерживают только упрощенные или модифицированные наборы этих операций, особенно в случаях NoSQL такие системы, как MongoDB и CouchDB.
Пространственный индекс
Пространственные индексы используются пространственными базами данных (базами данных, в которых хранится информация, относящаяся к объектам в космосе) для оптимизации пространственные запросы. Обычные типы индексов не могут эффективно обрабатывать пространственные запросы, например, насколько сильно различаются две точки или попадают ли точки в интересующую пространственную область. Общие методы пространственного индекса включают:
- Geohash
- HHCode
- Сетка (пространственный индекс)
- Z-порядок (кривая)
- Quadtree
- Octree
- УБ-дерево
- R-дерево: Обычно предпочтительный метод индексации пространственных данных.[нужна цитата ] Объекты (фигуры, линии и точки) группируются с помощью минимальный ограничивающий прямоугольник (MBR). Объекты добавляются в MBR внутри индекса, что приводит к наименьшему увеличению ее размера.
- R + дерево
- R * дерево
- R-дерево Гильберта
- X-дерево
- kd-дерево
- м-дерево - индекс m-tree может использоваться для эффективного разрешения запросов на подобие сложных объектов по сравнению с использованием произвольной метрики.
- Разделение двоичного пространства (BSP-Tree): разделение пространства гиперплоскостями.
Пространственный запрос
А пространственный запрос это особый вид запрос к базе данных поддерживается пространственными базами данных, включая базы геоданных. Запросы отличаются от непространственных SQL запросы несколькими важными способами. Двумя наиболее важными из них являются то, что они позволяют использовать типы данных геометрии, такие как точки, линии и многоугольники, и что эти запросы учитывают пространственные отношения между этими геометриями.
Имена функций для запросов в разных базах геоданных различаются. Следующий список содержит часто используемые функции, встроенные в PostGIS, бесплатная база геоданных, которая является расширением PostgreSQL (термин «геометрия» относится к точке, линии, прямоугольнику или другой двух- или трехмерной форме):
Прототип функции: functionName (параметр (ы)): тип возвращаемого значения
- Расстояние (геометрия, геометрия): число
- Равно (геометрия, геометрия): логическое
- Непересекающийся (геометрия, геометрия): логический
- Пересечения (геометрия, геометрия): логический
- Прикосновения (геометрия, геометрия): логический
- Крестики (геометрия, геометрия): логические
- Перекрытия (геометрия, геометрия): логическое
- Содержит (геометрия, геометрия): логическое
- Длина (геометрия): число
- Площадь (геометрия): число
- Центроид (геометрия): геометрия
Системы управления пространственными базами данных
Список
- АллегроГраф - а база данных графов который обеспечивает механизм для эффективного хранения и извлечения двумерных геопространственных координат для Структура описания ресурсов данные.[нужна цитата ] Он включает синтаксис расширения для SPARQL запросы.
- Каверномер расширяет Райма Диспетчер данных с пространственными типами данных, функциями и утилитами.
- CouchDB система баз данных на основе документов, которая может быть пространственно активирована плагином под названием Geocouch
- Elasticsearch - это система баз данных на основе документов, которая поддерживает два типа геоданных: поля geo_point, которые поддерживают пары широты и долготы, и поля geo_shape, которые поддерживают точки, линии, окружности, многоугольники, мульти-полигоны и т.[4]
- GeoMesa это облачная пространственно-временная база данных, построенная на основе Apache Accumulo и Apache Hadoop (также поддерживает Apache HBase, Google Большой стол, Apache Cassandra, и Апач Кафка ). GeoMesa поддерживает полную версию OGC Простые функции и плагин GeoServer.
- H2 поддерживает типы геометрии[5] и пространственные индексы[6] начиная с версии 1.3.173 (28.07.2013). Расширение под названием 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 / ГИС расширение для MonetDB добавляет OGS Simple Features в реляционную колонна-магазин база данных.[7]
- MySQL СУБД реализует тип данных геометрия, плюс некоторые пространственные функции, реализованные в соответствии со спецификациями OpenGIS.[8] Однако в MySQL версии 5.5 и ранее функции, проверяющие пространственные отношения, ограничены работой с минимальными ограничивающими прямоугольниками, а не с фактической геометрией. Версии MySQL до 5.0.16 поддерживали только пространственные данные в таблицах MyISAM. Начиная с MySQL 5.0.16, InnoDB, NDB, BDB и ARCHIVE также поддерживают пространственные функции.
- Neo4j - а база данных графов который может строить 1D и 2D индексы как B-дерево, Quadtree и Кривая Гильберта прямо в график
- 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]
- Маленький мир VMDS, родной GE Маленький мир База данных ГИС
- Сервер пространственных запросов из Боинг пространственно включает Sybase ASE.
- SpatiaLite расширяет Sqlite с пространственными типами данных, функциями и утилитами.
- Тарантоол поддерживает геопространственные запросы с индексом RTREE.[13]
- Teradata Geospatial включает двухмерные пространственные функции (совместимые с OGC) в свою систему хранилища данных.
- Vertica Place, геопространственное расширение для HP Vertica, добавляет OGC-совместимые пространственные объекты в реляционную колонна-магазин база данных.[14]
Таблица бесплатных систем специально для обработки пространственных данных
DBS | Лицензия | Распространено | Пространственные объекты | Пространственные функции | PostgreSQL интерфейс | UMN MapServer интерфейс | Документация | Изменяемый | HDFS |
---|---|---|---|---|---|---|---|---|---|
GeoMesa | Лицензия Apache 2.0 | да | да (Простые функции ) | да (СТС ) | нет (изготавливается с GeoTools ) | нет | части функций, несколько примеров | с Простой доступ к функциям в Виртуальная машина Java и Apache Spark решаемы ли все виды задач | да |
H2 (H2GIS) | LGPL 3 (начиная с v1.3), GPL 3 до | нет | да (нестандартный, без растра) | Простой доступ к функциям и пользовательские функции для H2Network | да | нет | да (домашняя страница) | SQL | нет |
Ingres | GPL или проприетарный | да (если установлено расширение) | да (нестандартный, без растра) | Geometry Engine, с открытым исходным кодом[15] | нет | с MapScript | просто кратко | с C и OME | нет |
Neo4J -пространственный[16] | Стандартная общественная лицензия GNU affero | нет | да (Простые функции ) | да (содержать, покрывать, покрывать, пересекать, не пересекать, пересекать, пересекать окно, перекрывать, касаться, внутри и в пределах расстояния) | нет | нет | просто кратко | вилка СТС | нет |
PostgreSQL с PostGIS | Стандартная общественная лицензия GNU | нет | да (Простые функции и растровый) | да (Простой доступ к функциям и растровые функции) | да | да | подробный | SQL в связи с р | нет |
Postgres-XL с PostGIS | Общественная лицензия Mozilla и общая общественная лицензия GNU | да | да (Простые функции и растровый) | да (Простой доступ к функциям и растровые функции) | да | да | PostGIS: да, Postgres-XL: кратко | SQL в связи с р или же Tcl или же Python | нет |
Расдаман | сервер GPL, клиент LGPL, проприетарный корпоративный | да | просто растр | обработка растров с помощью rasql | да | с Служба веб-покрытия или же Служба веб-обработки | подробная вики | собственная определенная функция в корпоративной версии | нет |
RethinkDB | AGPL | да | да |
| нет | нет | официальная документация[17] | разветвление | нет |
Смотрите также
- Географическая информационная система (ГИС)
- GeoSPARQL
- Гляцио-геологические базы данных
- Разведка местоположения
- Мультимедийная база данных
- Поиск ближайшего соседа
- Объектно-ориентированная пространственная база данных
- Простые функции
- Пространственный анализ
- Пространственный ETL
- Пространственно-временная база данных
Рекомендации
- ^ Макки, Лэнс (2016). «История OGC (подробно)». OGC. Получено 2016-07-12.
[...] 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. Получено 2013-05-01.
- ^ Программное обеспечение 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)
- Пространственные базы данных - с приложением к ГИС Филипп Риго, Мишель Шолль и Агнес Вуазар. Издательство Morgan Kaufmann. 2002 (ISBN 1-55860-588-6)
- Оценка систем управления данными для больших геопространственных данных Пурия Амириан, Анаид Басири и Адам Винстенли. Springer. 2014 (ISBN 9783319091563)
внешняя ссылка
- Введение в PostgreSQL PostGIS
- PostgreSQL PostGIS как компоненты в сервис-ориентированной архитектуре SOA
- Схема аварийной сигнализации на основе триггера для движущихся объектов в дорожных сетях Саджимон Абрахам, П. Соджан Лал, Издатель Springer Berlin / Heidelberg-2008.
- база геоданных ArcGIS Resource Center описание базы геоданных