stringtranslate.com

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

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

Большинство пространственных баз данных позволяют представлять простые геометрические объекты, такие как точки , линии и многоугольники . Некоторые пространственные базы данных обрабатывают более сложные структуры, такие как 3D-объекты , топологические покрытия , линейные сети и триангулированные нерегулярные сети (TIN). Хотя типичные базы данных были разработаны для управления различными числовыми и символьными типами данных , таким базам данных требуется дополнительная функциональность для эффективной обработки пространственных типов данных, и разработчики часто добавляли геометрические или характерные типы данных.

Географическая база данных (или база геоданных ) — это геопривязанная пространственная база данных, используемая для хранения и обработки географических данных (или геоданных, т. е. данных, связанных с местоположением на Земле), [a] особенно в географических информационных системах (ГИС). Почти все современные реляционные и объектно-реляционные системы управления базами данных теперь имеют пространственные расширения, а некоторые поставщики программного обеспечения ГИС разработали собственные пространственные расширения для систем управления базами данных.

Открытый геопространственный консорциум (OGC) разработал спецификацию Simple Features (впервые выпущенную в 1997 году) [1] и устанавливает стандарты для добавления пространственной функциональности в системы баз данных. [2] Стандарт SQL/MM Spatial ISO/IEC является частью языка структурированных запросов и стандарта мультимедиа, расширяющего Simple Features. [3]

Характеристики

Основная функциональность, добавляемая пространственным расширением к базе данных, — это один или несколько пространственных типов данных , которые позволяют хранить пространственные данные в виде значений атрибутов в таблице. [4] Чаще всего одно пространственное значение будет геометрическим примитивом (точкой, линией, полигоном и т. д.), основанным на векторной модели данных . Типы данных в большинстве пространственных баз данных основаны на спецификации OGC Simple Features для представления геометрических примитивов. Некоторые пространственные базы данных также поддерживают хранение растровых данных . Поскольку все географические местоположения должны быть указаны в соответствии с пространственной системой отсчета , пространственные базы данных также должны позволять отслеживать и преобразовывать системы координат. Во многих системах, когда пространственный столбец определяется в таблице, он также включает выбор системы координат, выбранной из списка доступных систем, который хранится в таблице поиска.

Второе важное расширение функциональности в пространственной базе данных — это добавление пространственных возможностей к языку запросов (например, SQL ); они дают пространственной базе данных те же операции запросов, анализа и манипуляций , которые доступны в традиционном программном обеспечении ГИС. В большинстве систем управления реляционными базами данных эта функциональность реализована как набор новых функций, которые можно использовать в операторах SQL SELECT. Несколько типов операций определены стандартом Open Geospatial Consortium :

Некоторые базы данных поддерживают только упрощенные или измененные наборы этих операций, особенно в случае систем NoSQL, таких как MongoDB и CouchDB .

Пространственный индекс

Пространственный индекс используется пространственной базой данных для оптимизации пространственных запросов . Системы баз данных используют индексы для быстрого поиска значений путем сортировки значений данных в линейном (например, алфавитном) порядке; однако этот способ индексации данных не является оптимальным для пространственных запросов в двух- или трехмерном пространстве. Вместо этого пространственные базы данных используют пространственный индекс, разработанный специально для многомерного упорядочения. [5] Распространенные методы пространственного индекса включают:

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

Пространственный запрос — это особый тип запроса к базе данных , поддерживаемый пространственными базами данных, включая базы геоданных. Запросы отличаются от непространственных SQL- запросов несколькими важными способами. Два самых важных из них заключаются в том, что они позволяют использовать типы геометрических данных, такие как точки, линии и полигоны, и что эти запросы учитывают пространственные отношения между этими геометриями.

Названия функций для запросов различаются в разных базах геоданных. Ниже приведены некоторые функции, встроенные в PostGIS , бесплатную базу геоданных, которая является расширением PostgreSQL (термин «геометрия» относится к точке, линии, ящику или другой двух- или трехмерной форме): [7]

Прототип функции: functionName (параметр(ы)) : возвращаемый тип

Таким образом, пространственное соединение между точечным слоем городов и полигональным слоем стран может быть выполнено в пространственно-расширенном операторе 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)

Системы управления пространственными базами данных

Список

Таблица бесплатных систем специально для обработки пространственных данных

Смотрите также

Примечания

  1. ^ Термин «база геоданных» может также относиться конкретно к набору фирменных форматов пространственных баз данных, Geodatabase (Esri) .

Ссылки

  1. ^ McKee, Lance (2016). "OGC History (detailed)". OGC . Получено 2016-07-12 . [...] 1997 [...] OGC выпустила спецификацию простых объектов OpenGIS, которая определяет интерфейс, позволяющий различным системам взаимодействовать в терминах «простых объектов», основанных на 2D-геометрии. Поддерживаемые типы геометрии включают точки, линии, линейные линии, кривые и полигоны. Каждый геометрический объект связан с пространственной системой отсчета, которая описывает координатное пространство, в котором определен геометрический объект.
  2. ^ Домашняя страница OGC
  3. ^ Крессе, Вольфганг; Данко, Дэвид М., ред. (2010). Справочник Springer по географической информации (1-е изд.). Берлин: Шпрингер. стр. 82–83. ISBN 9783540726807.
  4. ^ Юэ, П.; Тан, З. "DM-03 - Реляционные СУБД и их пространственные расширения". Свод знаний GIS&T . UCGIS . Получено 5 января 2023 г.
  5. ^ Чжан, С.; Ду, З. "DM-66 Spatial Indexing". GIS&T Body of Knowledge . UCGIS . Получено 5 января 2023 г.
  6. ^ Гютинг, Ральф Хартмут; Шнайдер, Маркус (2005). Базы данных движущихся объектов . Морган Кауфманн. п. 262. ИСБН 9780120887996.
  7. ^ "Справочник функций PostGIS". Руководство PostGIS . OSGeo . Получено 4 января 2023 г.
  8. ^ [1] Документация по геопространственной функции Drill
  9. ^ «Гео-запросы | Руководство по Elasticsearch [7.15] | Elastic».
  10. ^ Документация по типу геометрии H2
  11. ^ H2 создать документацию пространственного индекса
  12. ^ "GeoSpatial – MonetDB". 4 марта 2014 г.
  13. ^ "MySQL 5.5 Reference Manual - 12.17.1. Introduction to MySQL Spatial Support". Архивировано из оригинала 2013-04-30 . Получено 2013-05-01 .
  14. ^ OpenLink Software. "9.34. Типы геометрических данных и поддержка пространственного индекса" . Получено 24 октября 2018 г.
  15. ^ OpenLink Software (2018-10-23). ​​"Новые выпуски Virtuoso Enterprise и Open Source Editions" . Получено 24 октября 2018 г.
  16. ^ "OGC сертифицированный PostGIS".
  17. ^ «Справочник команд – Redis».
  18. ^ «Портал справки SAP» (PDF) .
  19. ^ "RTREE". tarantool.org . Архивировано из оригинала 2014-12-13.
  20. ^ "HP Vertica Place". 2 декабря 2015 г.
  21. ^ "ГЕОС".
  22. ^ "Neo4j Spatial — это библиотека утилит для Neo4j, которая облегчает выполнение пространственных операций с данными. В частности, вы можете добавлять пространственные индексы к уже расположенным данным и выполнять пространственные операции". GitHub . 2019-02-18.
  23. ^ «Справочник команд ReQL — RethinkDB».

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

Внешние ссылки