如何在CentOS 8上安装PostGIS

时间:2020-02-23 14:32:10  来源:igfitidea点击:

如何在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官方文档。