PostGIS в PostgreSQL — как можно использовать

Виртуальная машина
бесплатно навсегда

Забрать
Avatar icon

Марина Суворова

Редактор блога

Статья

Время чтения

4 минуты

Использование системы управления объектно-реляционными базами данных PostgreSQL в сочетании с расширением PostGIS дает большие возможности для работы с пространственными данными — в руки программиста попадает больше инструментов и механик. При этом повсеместное внедрение этой связки тормозит недостаточное понимание её возможностей.

Рассмотрим, как PostGIS применяют в связке с PostgreSQL в теории и на практике.

Что такое PostGIS

PostGIS — программное расширение с открытым исходным кодом, расширяющее пространственную базу данных системы управления PostgreSQL. Расширение добавляет поддержку географических объектов, благодаря чему появляется возможность выполнять запросы местоположения в SQL.PostGIS позволяет хранить ряд географических и пространственных данных — точек, ломаных линий, полигонов, растр, а также использовать их для разных операций, например, поиска.

В комбинации с PostgreSQL расширение PostGIS является одним из ведущих ГИС-решений, которое используется во многих крупных интерфейсных геолокационных приложениях, связанных с поиском координат и объектов на карте и получением информации о них.

Например, данные PostGis могут использоваться такими картографическими приложениями, как MapServer, GRASS, uDig, QGIS, GDAL/OGR, FeatureServer, GeoServer, SharpMap, gvSIG.

PostGIS можно бесплатно скачать на официальном сайте разработчика.

Как используют PostGIS в связке с PostgreSQL

PostgreSQL имеет поддержку собственных геометрических типов, но их функциональность ограничена — она подходит для научных исследований и выстраивания компьютерной графики (статичных визуальных карт), но недостаточна для ГИС-данных или проведения сложного анализа.

PostGIS в PostgreSQL используется для снятия ограничений, расширения функций и позволяет применять:

  • пространственные предикаты (утверждения, высказанные о субъекте) для определения взаимодействий геометрий с применением 3x3 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 обеспечивает надежность, открытость и соответствие стандартам.

Возможности применения расширения очень большие, благодаря чему оно активно используется, а его регулярное обновление дает большие перспективы для дальнейшего применения.

Источники:

  1. PostGIS tips: Where to get started
  2. PostGIS
  3. УСТАНОВКА И НАСТРОЙКА POSTGIS В UBUNTU 14.04

Содержание

  • Что такое PostGIS
  • Как используют PostGIS в связке с PostgreSQL
  • Примеры использования PostGIS для реальных задач
  • Что в итоге
  • Источники:

Вам может понравиться