如何在CentOS 8上安装PostGIS
如何在CentOS 8上安装PostGIS?本教程将引导我们完成在CentOS 8 Linux上安装PostGIS的步骤。 PostGIS是PostgreSQL数据库扩展,它允许将GIS(地理信息系统)对象存储在数据库中。 PostGIS是根据Creative Commons Attribution-Share Alike 3.0许可获得许可的开源软件。
PostGIS支持基于GiST的R-Tree空间索引和功能,这些功能有助于分析和处理GIS对象。以下是PostGIS的核心功能。
PostGIS的功能
PostGIS 2+系列提供:
矢量和栅格数据的处理和分析功能,以进行拼接,切块,变形,重分类以及收集/联合,借助SQLraster地图代数的强大功能实现细粒度的栅格处理矢量和栅格数据的空间重投影SQL可调用函数支持导入/导出ESRI shapefile矢量数据通过命令行和GUI打包工具提供支持,并通过其他第三方开放源代码工具支持更多格式打包的命令行用于从许多标准格式中导入栅格数据:GeoTiff,NetCDF,PNG,JPG等仅举几例使用SQLRendering各种标准格式的栅格数据的标准文本格式(例如KML,GML,GeoJSON,GeoHash和WKT)的数据支持功能GeoTIFF,PNG,JPG,NetCDF,等等。使用SQLSeamless栅格/矢量SQL可调用函数来挤压像素3D对象支持,按几何区域划分值,按区域运行统计数据,按几何形状修剪栅格并矢量化栅格,空间索引和功能网络拓扑支持打包的Tiger加载器/地理编码器/反向地理编码器/利用美国人口普查Tiger数据
请按照以下步骤在CentOS 8上安装PostGIS。
安装PostgreSQL数据库服务器
PostgreSQL是使用PostGIS功能的依赖项。使用下面的教程在CentOS 8上安装PostgreSQL。
如何在CentOS 8上安装PostgreSQL
在CentOS 8上安装PostGIS
安装PostgreSQL并添加EPEL存储库后,继续从添加的PostgreSQL安装PostGIS。使用以下命令添加了存储库:
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
启用EPEL和PowerTools存储库:
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf install dnf-plugins-core sudo dnf config-manager --set-enabled PowerTools
禁用默认的PostgreSQL AppStream存储库。
sudo dnf -qy module disable postgresql
为PostgreSQL 12安装PostGIS:
sudo yum install postgis25_12
如果我们使用PostgreSQL 11,请运行:
sudo yum install postgis25_11
按y键开始安装。
CentOS-8 - AppStream 12 kB/s | 4.3 kB 00:00 CentOS-8 - Base 30 kB/s | 3.8 kB 00:00 CentOS-8 - Extras 11 kB/s | 1.5 kB 00:00 CentOS-8 - PowerTools 7.8 MB/s | 2.0 MB 00:00 Extra Packages for Enterprise Linux 8 - x86_64 43 kB/s | 31 kB 00:00 PostgreSQL 12 for RHEL/CentOS 8 - x86_64 19 kB/s | 3.8 kB 00:00 PostgreSQL 11 for RHEL/CentOS 8 - x86_64 30 kB/s | 3.8 kB 00:00 PostgreSQL 10 for RHEL/CentOS 8 - x86_64 8.1 kB/s | 3.8 kB 00:00 PostgreSQL 9.6 for RHEL/CentOS 8 - x86_64 19 kB/s | 3.8 kB 00:00 PostgreSQL 9.5 for RHEL/CentOS 8 - x86_64 7.3 kB/s | 3.8 kB 00:00 PostgreSQL 9.4 for RHEL/CentOS 8 - x86_64 6.2 kB/s | 3.8 kB 00:00 Dependencies resolved. ======================================================================================================================================================== Package Architecture Version Repository Size ======================================================================================================================================================== Installing: postgis25_12 x86_64 2.5.3-6.rhel8 pgdg12 4.4 M Installing dependencies: blas x86_64 3.8.0-8.el8 AppStream 429 k boost-serialization x86_64 1.66.0-6.el8 AppStream 128 k lapack x86_64 3.8.0-8.el8 AppStream 8.6 M mariadb-connector-c x86_64 3.0.7-1.el8 AppStream 148 k mariadb-connector-c-config noarch 3.0.7-1.el8 AppStream 13 k openblas x86_64 0.3.3-2.el8 AppStream 4.3 M openblas-threads x86_64 0.3.3-2.el8 AppStream 4.4 M qt5-qtbase x86_64 5.11.1-7.el8 AppStream 3.3 M qt5-qtbase-common noarch 5.11.1-7.el8 AppStream 39 k qt5-qtbase-gui x86_64 5.11.1-7.el8 AppStream 6.0 M qt5-qtsvg x86_64 5.11.1-2.el8 AppStream 182 k unixODBC x86_64 2.3.7-1.el8 AppStream 458 k xcb-util-image x86_64 0.4.0-9.el8 AppStream 21 k xcb-util-keysyms x86_64 0.4.0-7.el8 AppStream 16 k xcb-util-renderutil x86_64 0.3.9-10.el8 AppStream 19 k xcb-util-wm x86_64 0.4.1-12.el8 AppStream 32 k atlas x86_64 3.10.3-7.el8 BaseOS 6.5 M libgfortran x86_64 8.3.1-4.5.el8 BaseOS 638 k libquadmath x86_64 8.3.1-4.5.el8 BaseOS 169 k pcre2-utf16 x86_64 10.32-1.el8 BaseOS 228 k SuperLU x86_64 5.2.0-7.el8 PowerTools 191 k libaec x86_64 1.0.2-3.el8 PowerTools 39 k libdap x86_64 3.19.1-2.el8 PowerTools 686 k openblas-openmp x86_64 0.3.3-2.el8 PowerTools 4.4 M openblas-threads64_ x86_64 0.3.3-2.el8 PowerTools 4.3 M armadillo x86_64 9.700.2-1.el8 epel 38 k arpack x86_64 3.7.0-1.el8 epel 194 k cfitsio x86_64 3.47-1.el8 epel 577 k freexl x86_64 1.0.5-4.el8 epel 34 k hdf x86_64 4.2.14-5.el8 epel 651 k hdf5 x86_64 1.10.5-4.el8 epel 2.1 M libgeotiff x86_64 1.5.1-1.el8 epel 99 k libgta x86_64 1.2.1-1.el8 epel 34 k netcdf x86_64 4.7.0-2.el8 epel 647 k ogdi x86_64 4.1.0-1.el8 epel 241 k xerces-c x86_64 3.2.2-3.el8 epel 991 k CGAL x86_64 4.14-1.rhel8 pgdg12 524 k SFCGAL x86_64 1.3.7-2.rhel8 pgdg12 19 k SFCGAL-libs x86_64 1.3.7-2.rhel8 pgdg12 1.9 M gdal30-libs x86_64 3.0.2-1.rhel8 pgdg12 7.3 M geos38 x86_64 3.8.0-1.rhel8 pgdg12 643 k postgresql12-contrib x86_64 12.1-2PGDG.rhel8 pgdg12 2.4 M proj62 x86_64 6.2.1-1.rhel8 pgdg12 1.8 M Transaction Summary ======================================================================================================================================================== Install 44 Packages Total download size: 70 M Installed size: 338 M Is this ok [y/N]: y
这将为PostgreSQL 12安装PostGIS v2.5.
$rpm -qi postgis25_12 Name : postgis25_12 Version : 2.5.3 Release : 6.rhel8 Architecture: x86_64 Install Date: Mon 20 Jan 2017 10:40:35 PM EAT Group : Unspecified Size : 29786216 License : GPLv2+ Signature : DSA/SHA1, Mon 04 Nov 2019 10:05:01 PM EAT, Key ID 1f16d2e1442df0f8 Source RPM : postgis25_12-2.5.3-6.rhel8.src.rpm Build Date : Mon 04 Nov 2019 10:04:57 PM EAT Build Host : koji-rhel8-x86-64-pgbuild Relocations : (not relocatable) Vendor : PostgreSQL Global Development Group URL : http://www.postgis.net/ Summary : Geographic Information Systems Extensions to PostgreSQL Description : ....
启用PostGIS Spatial功能
我们需要先激活数据库上的PostGIS功能,然后才能
存储空间数据。以下示例将向我们展示如何创建一个
数据库并激活空间功能。
1.
切换到postgres用户。
sudo -i -u postgres
2.创建测试用户/数据库。
-bash-4.2$createuser test_user -bash-4.2$createdb test_db -O test_user
3.连接到测试数据库:
$psql -d test_db psql (12.1) Type "help" for help.
4.在数据库上启用PostGIS扩展:
test_db=# CREATE EXTENSION postgis; CREATE EXTENSION
5.
验证
test_db=# SELECT PostGIS_version(); postgis_version 2.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1 (1 row) test_db=# \q
有关用法教程和高级配置,请参阅PostGIS官方文档。