如何在CentOS 8上安装PostGIS

如何在CentGIS 8上安装PostGIS?本指南将引导您完成在CentOS 8 Linux上安装PostGIS的过程。 PostGIS是PostgreSQL数据库扩展,允许您在数据库中存储GIS(地理信息系统)对象。 PostGIS是根据知识共享署名-相同方式共享3.0许可获得许可的开源软件。

PostGIS支持基于GiST的R树空间索引和功能,以帮助分析和处理GIS对象。以下是PostGIS的核心功能。

PostGIS功能

PostGIS 2+系列提供:

  • 使用SQL的功能处理和分析矢量和栅格数据,以进行拼接,切块,变形,重分类以及收集/合并
  • 用于细粒度栅格处理的栅格地图代数
  • 向量和栅格数据的空间重投影SQL可调用函数
  • 通过命令行工具和GUI软件包工具支持导入/导出ESRI shapefile矢量数据,并通过其他第三方开源工具支持更多格式
  • 用于从多种标准格式导入栅格数据的打包命令行:GeoTiff,NetCDF,PNG,JPG
  • 使用SQL渲染和导入标准文本格式矢量数据支持功能,例如KML,GML,GeoJSON,GeoHash,WKT
  • 以GeoTIFF,PNG,JPG,NetCDF的各种标准格式渲染栅格数据,并使用SQL给出一些示例。
  • 无缝的栅格/矢量SQL可调用函数,用于在每个几何区域中挤出像素值,执行每个区域统计信息,按几何形状修剪栅格以及对栅格进行矢量化
  • 3D对象支持,空间索引和功能
  • 网络拓扑支持
  • 打包式老虎装载机/地理编码器/反向地理编码器/利用率 美国人口普查老虎数据

请按照以下步骤在CentOS 8上安装PostGIS。

步骤1:安装PostgreSQL数据库服务器

PostgreSQL是使用PostGIS功能的依赖项。使用以下指南在CentOS 8上安装PostgreSQL。

如何在CentOS 8上安装PostgreSQL

步骤2:在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 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

命中 ÿ 开始安装的钥匙。

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 2020 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 :
....

步骤3:启用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文件 使用指南和高级设置。

以下是其他系统的安装指南。

在Ubuntu / Debian上安装PostGIS

在CentOS 7上安装PostGIS

Sidebar