Jump to content

Пространственная база данных

Пространственная база данных общего назначения это база данных (обычно реляционная база данных ), которая была расширена за счет включения пространственных данных , представляющих объекты, определенные в геометрическом пространстве , а также инструментов для запроса и анализа таких данных.

Большинство пространственных баз данных позволяют представлять простые геометрические объекты, такие как точки , линии и многоугольники . Некоторые пространственные базы данных обрабатывают более сложные структуры, такие как трехмерные объекты , топологические покрытия , линейные сети и триангулированные нерегулярные сети (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] Общие методы пространственного индекса включают:

Пространственный запрос

[ редактировать ]

Пространственный запрос — это особый тип запроса к базе данных , поддерживаемый пространственными базами данных, включая базы геоданных. Эти запросы отличаются от непространственных 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 да со службой веб-покрытия или службой веб-обработки подробная вики собственная определенная функция в корпоративной версии нет
Переосмыслить БД АГПЛ да да
  • расстояние
  • получитьпересечение
  • getNearest
  • включает в себя
  • пересекает
нет нет официальная документация [23] разветвление нет

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Термин «база геоданных» может также относиться конкретно к набору собственных форматов пространственных баз данных, Geodatabase (Esri) .
  1. ^ Макки, Лэнс (2016). «История OGC (подробная)» . ОГК . Проверено 12 июля 2016 г. [...] 1997 [...] OGC выпустила спецификацию простых функций OpenGIS, которая определяет интерфейс, который позволяет различным системам взаимодействовать с помощью «простых функций», основанных на 2D-геометрии. Поддерживаемые типы геометрии включают точки, линии, линии, кривые и многоугольники. Каждый геометрический объект связан с пространственной системой отсчета, которая описывает пространство координат, в котором определен геометрический объект.
  2. ^ Домашняя страница OGC
  3. ^ Крессе, Вольфганг; Данко, Дэвид М., ред. (2010). Справочник Springer по географической информации (1-е изд.). Берлин: Шпрингер. стр. 82–83 . ISBN  9783540726807 .
  4. ^ Юэ, П.; Тан, З. «DM-03 - Реляционные СУБД и их пространственные расширения» . Свод знаний ГИС&Т . УКГИС . Проверено 5 января 2023 г.
  5. ^ Чжан, X.; Ду, З. «Пространственное индексирование DM-66» . Свод знаний ГИС&Т . УКГИС . Проверено 5 января 2023 г.
  6. ^ Гютинг, Ральф Хартмут; Шнайдер, Маркус (2005). Базы данных движущихся объектов . Морган Кауфман. п. 262. ИСБН  9780120887996 .
  7. ^ «Справочник по функциям PostGIS» . Руководство по ПостГИС . ОСГео . Проверено 4 января 2023 г.
  8. ^ [1] Документация по геопространственным функциям бурения
  9. ^ «Гео-запросы | Руководство по Elasticsearch [7.15] | Elastic» .
  10. ^ Документация по типу геометрии H2
  11. ^ H2 создание документации по пространственному индексу
  12. ^ «Геопространственные данные – MonetDB» . 4 марта 2014 г.
  13. ^ «Справочное руководство MySQL 5.5 — 12.17.1. Введение в пространственную поддержку MySQL» . Архивировано из оригинала 30 апреля 2013 г. Проверено 1 мая 2013 г.
  14. ^ Программное обеспечение OpenLink. «9.34. Типы геометрических данных и поддержка пространственных индексов» . Проверено 24 октября 2018 г.
  15. ^ Программное обеспечение OpenLink (23 октября 2018 г.). «Новые выпуски Virtuoso Enterprise и выпусков с открытым исходным кодом» . Проверено 24 октября 2018 г.
  16. ^ «Сертифицированный OGC PostGIS» .
  17. ^ «Ссылка на команду — Redis» .
  18. ^ «Справочный портал SAP» (PDF) .
  19. ^ "РТРИ" . tarantool.org . Архивировано из оригинала 13 декабря 2014 г.
  20. ^ «ХП Вертика Плейс» . 2 декабря 2015 г.
  21. ^ «ГЕОС» .
  22. ^ «Neo4j Spatial — это библиотека утилит для Neo4j, которая облегчает выполнение пространственных операций с данными. В частности, вы можете добавлять пространственные индексы к уже расположенным данным и выполнять пространственные действия» . Гитхаб . 18 февраля 2019 г.
  23. ^ «Справочник по командам ReQL — RethinkDB» .

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e82129e3ddc899b807f80f10bf3f2b48__1718336820
URL1:https://arc.ask3.ru/arc/aa/e8/48/e82129e3ddc899b807f80f10bf3f2b48.html
Заголовок, (Title) документа по адресу, URL1:
Spatial database - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)