postgis. Поддержка геоданных
Версия: 3.5.3.
В исходном дистрибутиве установлено по умолчанию: нет.
Связанные компоненты: См. раздел «Установка» этой статьи.
Схема размещения:
ext;topology;tiger;tiger_data.
Примечание:
Расширение PostGIS распространяется по лицензии GNU GPL.
Для версий 4.6.1, 5.2.1 (и более новых) были собраны и включены в дистрибутив расширения и поддерживающие библиотеки.
Расширение PostGIS представляет собой реализацию стандарта OpenGIS на основе стандарта SQL/MM.
Для реализации требований вводятся новые типы данных:
geometry;geography;bod2d;box2df;box3d;raster;spheroid.
Добавляются также функции для работы с этими типами.
Расширение позволяет работать с геометрическими, географическими и растровыми объектами. Данные могут быть представлены в двумерной, трехмерной или четырехмерной системе координат.
Расширение pgrouting предоставляет дополнительную функциональность к PostGIS, позволяющую определять расстояние между географическими объектами.
Тип данных geography предусматривает указание SRID (Spatial Reference Identifier) системы SRS (Spatial Reference System).
Системные требования
В поставку продукта как библиотеки третьей стороны (3rd Party) добавляются расширения:
postgis;postgis_topology;postgis_sfcgal;postgis_raster;postgis_tiger_geocoder;address_standardizer;address_standardizer_data_us;pgrouting.
Для работы расширений требуются библиотеки:
- GDAL;
- PROJ;
- SFCGAL;
- cgal;
- geos.
Доработка
Доработка: Убраны инструменты Imp/Exp данных.
Версия: 4.4.0.
В СУБД Pangolin включены инструменты для работы с геоданными (Spatial).
Вводимая функциональность исключает инструменты командной строки и GUI для загрузки и выгрузки данных, в отличие от свободно распространяемой версии. Исключение связано с фактом необходимости указывать пароль пользователя в открытом виде. Загрузка и выгрузка данных в систему производится стандартным образом при работе с доверенным ресурсом.
Ограничения
Текущие ограничения расширения:
- в поставку не добавляются инструменты для загрузки или конвертации данных, а также пользовательские GIS-системы. Это связано с тем, что они используют пароли БД в открытом виде;
- в поставку не добавляется jdbc драйвер PostGIS по причине наличия у драйвера лицензии GPL;
- расширения входят в состав дополнительной части продукта (3rd Party) и могут быть лицензированы «вирусными» лицензиями GPL, AGPL.
Установка
Для начала использования расширения postgis выполните следующие действия:
-
Установите системные пакеты, необходимые для работы расширений:
- РЕД ОС, Platform V SberLinux OS Server, CentOS Stream
- Альт СП, Альт Сервер
- Аstra Linux Special Edition
json-c- 0.13;libtiff- 4.0;pcre- 8.42;gmp-c++- 6.1.0.
libtiff5- 4.0;libpcre16- 8.44;libmpfr6- 4.0;libgmpxx4- 6.1.0;libjson-c5- 0.17. (для Альт Сервер 9.2 -libjson-c4)
libtiff5- 4.0;libjson-c3- 0.12;libpcre3- 8.39;libmpfr6- 4.0;libgmpxx4ldbl- 6.1.0.
-
Установите rpm/deb-пакеты расширений:
- SberLinux, РЕД ОС
- Astra Linux, Альт СП, Альт Сервер
sudo dnf install /usr/{product_version}/3rdparty/postgis/pangolin-postgis-{version_extension}_{OS}.x86_64.rpm -y
sudo dnf install /usr/{product_version}/3rdparty/pgroutin pangolin-pgrouting-{version_extension}_{OS}.x86_64.rpm -ysudo apt install /usr/{product_version}/3rdparty/postgis/pangolin-postgis-{version_extension}_{OS}.x86_64.deb -y
sudo apt install /usr/{product_version}/3rdparty/pgroutin pangolin-pgrouting-{version_extension}_{OS}.x86_64.deb -y -
При использовании функциональности аудита на момент создания расширения рекомендуется отключить аудит (если он был включен). Иначе процесс включения расширения займет значительное время и потребует ресурсов оперативной памяти (не менее 24 ГБ). Пример команды:
ALTER ROLE current_user SET pgaudit.log='none'; -
Перезагрузите сервер:
sudo systemctl restart --force -
Подключитесь к базе данных и выполните команды по загрузке всех или только необходимых расширений:
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_raster;
CREATE EXTENSION postgis_sfcgal;
CREATE EXTENSION fuzzystrmatch; -- нужно для установки postgis_tiger_geocoder
CREATE EXTENSION postgis_tiger_geocoder CASCADE;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION address_standardizer;
CREATE EXTENSION address_standardizer_data_us;
CREATE EXTENSION pgrouting; -
После создания расширения включите аудит, если отключали его:
ALTER ROLE current_user RESET pgaudit.log; -
Перезагрузите сервер:
sudo systemctl reboot --force
Отключение расширения
-
Для отключения расширения выполните:
DROP EXTENSION <extension_name> -
Удалите rpm/deb-пакеты:
- SberLinux, РЕД ОС
- Astra Linux, Альт СП, Альт Сервер
sudo dnf remove pangolin-postgis-{version_extension}_{OS}.x86_64.rpm -y
sudo dnf remove pangolin-pgrouting-{version_extension}_{OS}.x86_64.rpm -ysudo apt remove pangolin-postgis-{version_extension}_{OS}.x86_64.deb -y
sudo apt remove pangolin-pgrouting-{version_extension}_{OS}.x86_64.deb -y
Использование расширения
С примерами использования расширения можно ознакомиться в подразделе «Сценарии использования» раздела «Поддержка геоданных PostGIS» документа «Администрирование функциональностей»
Ссылки на документацию разработчика
Дополнительно поставляемый модуль PostGIS: https://postgis.net/docs/manual-3.1/.