yandex
Калькулятор ценТарифыАкцииДокументацияО насКарьера в Cloud.ruНовостиЮридические документыКонтактыРешенияРеферальная программаКейсыПартнерство с Cloud.ruБезопасностьEvolutionAdvancedEvolution StackОблако VMwareВ чем отличия платформ?БлогОбучение и сертификацияМероприятияИсследования Cloud.ruЛичный кабинетВойтиЗарегистрироватьсяОблако для мобильных и веб‑приложенийСайт в облакеАналитика данных в облакеХранение данных в облакеАналитика данных в облакеИнфраструктура для 1С в облакеМиграция IT‑инфраструктуры в облако3D-моделирование и рендерингРазработка и тестирование в облакеEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Evolution Bare MetalEvolution SSH KeysEvolution ImageEvolution DNSEvolution VPCEvolution Load BalancerEvolution Magic RouterEvolution DiskEvolution Container AppsEvolution Artifact RegistryEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkEvolution ML InferenceEvolution Distributed TrainEvolution ML FinetuningEvolution NotebooksEvolution TagsEvolution Task HistoryCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSCloud MonitoringCloud LoggingАренда GPUDirect ConnectCDNCloud AdvisorCross-platform connectionAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLAdvanced Image Management ServiceAdvanced Auto ScalingAdvanced 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 ServerAdvanced 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: резервное копирование виртуальных машин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

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