yandex
Калькулятор ценТарифыАкцииДокументацияО насКарьера в Cloud.ruНовостиЮридические документыКонтактыРешенияРеферальная программаКейсыПартнерство с Cloud.ruБезопасностьEvolutionAdvancedEvolution StackОблако VMwareML SpaceВ чем отличия платформ?БлогОбучение и сертификацияМероприятияИсследования Cloud.ruЛичный кабинетВойтиЗарегистрироватьсяEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Облако для мобильных и веб‑приложенийАналитика данных в облакеEvolution Bare MetalEvolution SSH KeysEvolution ImageСайт в облакеEvolution DNSEvolution VPCEvolution Load BalancerEvolution Magic RouterEvolution DiskХранение данных в облакеEvolution Container AppsEvolution Artifact RegistryEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkАналитика данных в облакеEvolution ML InferenceEvolution Distributed TrainEvolution ML FinetuningEvolution NotebooksCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingАренда GPUAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLРазработка и тестирование в облакеAdvanced Image Management ServiceAdvanced Auto ScalingDirect ConnectCDNCross-platform connectionAdvanced Enterprise RouterAdvanced Cloud Backup and RecoveryAdvanced Data Warehouse ServiceAdvanced Elastic Volume ServiceAdvanced Cloud Container EngineAdvanced FunctionGraphAdvanced Container Guard ServiceAdvanced Software Repository for ContainerAdvanced Document Database Service with MongoDBAdvanced Relational Database Service for MySQLAdvanced Relational Database Service for SQL ServerCloud AdvisorAdvanced Server Migration ServiceAdvanced Data Replication ServiceAdvanced API GatewayAdvanced CodeArtsAdvanced Distributed Message Service for KafkaAdvanced Distributed Message Service for RabbitMQAdvanced DataArts InsightAdvanced CloudTableAdvanced MapReduce ServiceAdvanced Cloud Trace ServiceAdvanced Application Performance ManagementAdvanced Identity and Access ManagementAdvanced Enterprise Project Management ServiceVMware: виртуальный ЦОД с GPUVMware: виртуальный ЦОДУдаленные рабочие столы (VDI)VMware: сервер Bare MetalИнфраструктура для 1С в облакеУдаленные рабочие столыМиграция IT‑инфраструктуры в облако3D-моделирование и рендерингVMware: резервное копирование виртуальных машинVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Поиск
Связаться с нами

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

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

Сервисы
Иллюстрация для статьи на тему «PostGIS в PostgreSQL — как можно использовать»
Продукты из этой статьи:
Иконка-Advanced Relational Database Service for PostgreSQL
Advanced Relational Database Service for PostgreSQL
Иконка-Advanced Relational Database Service for MySQL
Advanced Relational Database Service for MySQL
Иконка-Evolution Managed ArenadataDB
Evolution Managed ArenadataDB

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

Управляйте кластерами СУБД с Evolution Managed PostgreSQL®
Управляйте кластерами СУБД с Evolution Managed PostgreSQL®
Работайте с PostgreSQL® в удобном интерфейсе, настраивайте резервное копирование и восстановление, отслеживайте основные метрики кластера. А еще вы сможете за пару кликов увеличить vCPU, RAM и дисковое пространство.
Узнать больше
Дарим до 20 000 бонусов
Дарим до 20 000 бонусов
4 000 бонусов — физическим лицам, 20 000 бонусов — юридическим

Что такое 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, логистике и геймдеве

Сергей КулаковСтарший технический писатель, Cloud.ru.

Примеры использования PostGIS для реальных задач

Возможности связки PostGIS и PostgreSQL на практике могут использоваться для определения:

  • расстояния от точки до точки;

  • ближайшей точки между извилистыми улицами на местности;

  • улицы или даже дома по определенным координатам;

  • количества домов, попадающих в заданную область пространства;

  • количества объектов, находящихся поблизости с заданной точкой;

  • площади, расстояний, длин, периметров заданных объектов и множества других данных.

Например, PostgreSQL с предустановленным расширением PostGIS может использоваться для:

  • вычисления площади города, региона, государства;

  • поиска ближайшей кофейни или магазина;

  • построения карты (в том числе растровой) с отображением заданных объектов;

  • поиска объектов или местностей, отвечающих заданным критериям (самый крупный город, самая южная страна, самая высокая точка);

  • создания фоновых картограмм (хороплетов) на основе информации из базы данных и выбранных критериев.

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

Стоит отметить, что функциональность PostgreSQL с PostGIS также зависит от параметров используемой базы данных: её актуальности, детальности и достоверности.

Хранение данных в облаке
Хранение данных в облаке
Создавайте облачное хранилище для обмена файлами, хранения больших данных, архивных копий и мультимедиа
Узнать подробнее

Что в итоге

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

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

Продукты из этой статьи:
Иконка-Advanced Relational Database Service for PostgreSQL
Advanced Relational Database Service for PostgreSQL
Иконка-Advanced Relational Database Service for MySQL
Advanced Relational Database Service for MySQL
Иконка-Evolution Managed ArenadataDB
Evolution Managed ArenadataDB
24 сентября 2021

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