PostGIS в PostgreSQL — как можно использовать
Использование системы управления объектно-реляционными базами данных PostgreSQL в сочетании с расширением PostGIS дает большие возможности для работы с пространственными данными — в руки программиста попадает больше инструментов и механик. При этом повсеместное внедрение этой связки тормозит недостаточное понимание её возможностей.
Рассмотрим, как PostGIS применяют в связке с PostgreSQL в теории и на практике.
Что такое PostGIS
PostGIS — программное расширение с открытым исходным кодом, расширяющее пространственную базу данных системы управления PostgreSQL. Расширение добавляет поддержку географических объектов, благодаря чему появляется возможность выполнять запросы местоположения в SQL.PostGIS позволяет хранить ряд географических и пространственных данных — точек, ломаных линий, полигонов, растр, а также использовать их для разных операций, например, поиска.
В комбинации с PostgreSQL расширение PostGIS является одним из ведущих ГИС-решений, которое используется во многих крупных интерфейсных геолокационных приложениях, связанных с поиском координат и объектов на карте и получением информации о них.
Например, данные PostGis могут использоваться такими картографическими приложениями, как MapServer, GRASS, uDig, QGIS, GDAL/OGR, FeatureServer, GeoServer, SharpMap, gvSIG.
Как используют PostGIS в связке с PostgreSQL
PostgreSQL имеет поддержку собственных геометрических типов, но их функциональность ограничена — она подходит для научных исследований и выстраивания компьютерной графики (статичных визуальных карт), но недостаточна для ГИС-данных или проведения сложного анализа.
PostGIS в PostgreSQL используется для снятия ограничений, расширения функций и позволяет применять:
- пространственные предикаты (утверждения, высказанные о субъекте) для определения взаимодействий геометрий с применением 3×3 DE-9IM;
- пространственные индексы R-tree -over- GiST для быстрых пространственных запросов;
- пространственные операторы для проведения геопространственных вычислений и определения геопространственного набора операций (объединение, разность, симметричная разность);
- растровые данные;
- функции создания геометрий и управления ими (создание и удаление полей с географическими данными, запросы скриптов, библиотек);
- функции редактирования геометрий и их форматированного вывода;
- расширенные 2D- и 3D-функции, в том числе для определения пересечений в 3D-пространстве);
- инструменты для определения пространственных отношений и измерений (например, для сравнения расстояния по плоскости и на сфере);
- функции создания и отображения растров в удобном формате (например, в JPEG или PNG);
- инструменты обработки растров (очищение рельефа, векторизация, увеличение или уменьшение яркости);
- функции редактирования каналов растра;
- топологию и экстра-функции.
PostgreSQL может работать под управлением сервиса Relational Database Service. Сервис имеет поддержку PostGIS, read-реплик, а также MySQL, Microsoft SQL Server и функции автоматического резервного копирования баз данных.
При выборе решения для управления базами данных приходится учитывать сразу несколько факторов, особенно когда требуется организовать высокодоступную отказоустойчивую систему. Автоматическое резервное копирование и поддержка архитектуры primary/standby с возможностью разнесения инстансов по разным зонам доступности делают RDS оптимальным выбором для производственных баз данных на крупных и средних проектах, для приложений в IoT, e-commerce, логистике и геймдеве Сергей Кулаков Старший технический писатель, SberCloud.
Примеры использования PostGIS для реальных задач
Возможности связки PostGIS и PostgreSQL на практике могут использоваться для определения:
- расстояния от точки до точки;
- ближайшей точки между извилистыми улицами на местности;
- улицы или даже дома по определенным координатам;
- количества домов, попадающих в заданную область пространства;
- количества объектов, находящихся поблизости с заданной точкой;
- площади, расстояний, длин, периметров заданных объектов и множества других данных.
Например, PostgreSQL с предустановленным расширением PostGIS может использоваться для:
- вычисления площади города, региона, государства;
- поиска ближайшей кофейни или магазина;
- построения карты (в том числе растровой) с отображением заданных объектов;
- поиска объектов или местностей, отвечающих заданным критериям (самый крупный город, самая южная страна, самая высокая точка);
- создания фоновых картограмм (хороплетов) на основе информации из базы данных и выбранных критериев.
Вариантов использования PostGIS для реальных задач много, и на практике они ограничены только конкретными задачами бизнеса.
Стоит отметить, что функциональность PostgreSQL с PostGIS также зависит от параметров используемой базы данных: её актуальности, детальности и достоверности.
Что в итоге
Расширение PostGIS для системы управления базами данных PostgreSQL — отличная альтернатива для большинства коммерческих продуктов (в том числе собственных геометрических типов), которая дает широкий набор инструментов для работы с пространственными данными. Работа PostGIS на базе PostgreSQL обеспечивает надежность, открытость и соответствие стандартам.
Возможности применения расширения очень большие, благодаря чему оно активно используется, а его регулярное обновление дает большие перспективы для дальнейшего применения.
Источники:
- PostGIS tips: Where to get started
- PostGIS
- УСТАНОВКА И НАСТРОЙКА POSTGIS В UBUNTU 14.04
Запросите бесплатную консультацию по вашему проекту
Руководство по PostGIS
PostGIS — расширение объектно-реляционной СУБД PostgreSQL предназначенное для хранения в базе географических данных. PostGIS включает поддержку пространственных индексов R-Tree/GiST и функции обработки геоданных.
Это руководство актуально для версии 1.3.4 (оригинал пособия). Последняя версия руководства: 1.4SVN
О переводе
Основная работа по переводу выполнена Дмитрием Скоробогатовым. Правка, редакция и обновление: Максим Дубинин. Перевод максимально приближен к оригиналу. В оригинале замечены некоторые ошибки, связанные со ссылками на не вышедшую пока версию 1.3.4., ссылки исправлены на текущую версию 1.3.3.
Версия для загрузки в формате PDF, 1Mb (загрузить).
В процессе перевода и редакции был составлен небольшой вспомогательный словарь терминов.
- 1. Предисловие
- 1.1. Благодарности
- 1.2. Дополнительная информация
- 2.1. Требования
- 2.2. PostGIS
- 2.2.1. Создание пространственных баз данных, совместимых с PostGIS, с помощью шаблона разработки
- 2.2.2. Обновление
- 2.2.3. Обычные проблемы
- 4.1. Объекты ГИС
- 4.1.1. OpenGIS WKB и WKT
- 4.1.2. PostGIS EWKB, EWKT и Канонические формы
- 4.1.3. SQL-MM часть 3
- 4.2.1. Таблица SPATIAL_REF_SYS
- 4.2.2. Таблица GEOMETRY_COLUMNS
- 4.2.3. Создание пространственной таблицы
- 4.2.4. Обеспечение геометрий, согласованных с OpenGIS
- 4.3.1. Использование SQL
- 4.3.2. Использование загрузчика
- 4.4.1. Использование SQL
- 4.4.2. Использование дампера
- 4.5.1. Индексы GiST
- 4.5.2. Использование индексов
- 4.6.1. Преимущества индексов
- 4.6.2. Примеры пространственного SQL
- 4.7.1. Основы использования
- 4.7.2. Часто задаваемые вопросы
- 4.7.3. Продвинутое использование
- 4.7.4. Примеры
- 4.9.1. Текстовые указатели
- 4.9.2. Бинарные указатели
- 5.1. Маленькие таблицы больших геометрий
- 5.1.1. Описание проблемы
- 5.1.2. Как обойти проблему
- 6.1. Функции OpenGIS
- 6.1.1. Функции управления
- 6.1.2. Функции геометрической связи
- 6.1.3. Функции обработки геометрии
- 6.1.4. Геометрические способы доступа
- 6.1.5. Геометрические конструкторы
- 6.2.1. Функции управления
- 6.2.2. Операторы
- 6.2.3. Функции измерения
- 6.2.4. Геометрический вывод
- 6.2.5. Геометрические конструкторы
- 6.2.6. Геометрические редакторы
- 6.2.7. Линейные ссылки
- 6.2.8. Разное
- 6.2.9. Поддержка долгих транзакций
- 7.1. Сообщения об ошибках в программном обеспечении
- 7.2. Сообщения об ошибках в документации
- A.1. Примечания к релизам
- A.1.1. Релиз 1.3.3
- A.1.2. Релиз 1.3.2
- A.1.3. Релиз 1.3.1
- A.1.4. Релиз 1.3.0
- A.1.5. Релиз 1.2.1
- A.1.6. Релиз 1.2.0
- A.1.7. Релиз 1.1.6
- A.1.8. Релиз 1.1.5
- A.1.9. Релиз 1.1.4
- A.1.10. Релиз 1.1.3
- A.1.11. Релиз 1.1.2
- A.1.12. Релиз 1.1.1
- A.1.13. Релиз 1.1.0
- A.1.14. Релиз 1.0.6
- A.1.15. Релиз 1.0.5
- A.1.16. Релиз 1.0.4
- A.1.17. Релиз 1.0.3
- A.1.18. Релиз 1.0.2
- A.1.19. Релиз 1.0.1
- A.1.20. Релиз 1.0.0
- A.1.21. Релиз 1.0.0RC6
- A.1.22. Релиз 1.0.0RC5
- A.1.23. Релиз 1.0.0RC4
- A.1.24. Релиз 1.0.0RC3
- A.1.25. Релиз 1.0.0RC2
- A.1.26. Релиз 1.0.0RC1
Последнее обновление: September 02 2010
About PostGIS
PostGIS extends the capabilities of the PostgreSQL relational database by adding support storing, indexing and querying geographic data.
PostGIS features include:
- Spatial Data Storage: Store different types of spatial data such as points, lines, polygons, and multi-geometries, in both 2D and 3D data.
- Spatial Indexing: Quickly search and retrieve spatial data based on its location.
- Spatial Functions: A wide range of spatial functions that allow you to filter and analyze spatial data, measuring distances and areas, intersecting geometries, buffering, and more.
- Geometry Processing: Tools for processing and manipulating geometry data, such as simplification, conversion, and generalization.
- Raster Data Support: Storage and processing of raster data, such as elevation data and weather data.
- Geocoding and Reverse Geocoding: Functions for geocoding and reverse geocoding.
- Integration: Access and work with PostGIS using third party tools such as QGIS, GeoServer, MapServer, ArcGIS, Tableau.
Latest News
PostGIS 3.4.0
3.4.0
- source download md5
- NEWS
- PDF docs: en ja fr
- HTML Online en ja fr de ko_KR
- Cheat Sheets:
- postgis: en ja fr
- postgis_raster: en ja fr
- postgis_topology: en ja fr
- postgis_sfcgal: en ja fr
- address standardizer, postgis_tiger_geocoder: en ja fr
This release is a major release, it includes bug fixes since PostGIS 3.3.4 and new features.
При подготовке материала использовались источники:
https://cloud.ru/ru/warp/blog/postgis-about
https://gis-lab.info/docs/postgis/manual/
https://postgis.net/