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/.