PostGIS 是对象关系型数据库 PostgreSQL 的扩展,PostGIS 提供了包括空间对象、空间索引、空间操作函数和空间操作符在内的空间信息服务功能。同时,PostGIS 遵循 OpenGIS 的规范。
在 iPortal 中,PostGIS 用于结构化数据的存储。
了解 PostGIS 的更多信息,请参考 PostGIS 官网:http://www.postgis.org。
下面将为您详细介绍如何安装和配置 PostGIS。
Windows 系统上安装 PostGIS
在安装 PostGIS 前,您需要先完成 PostgreSQL 数据库的安装与配置,然后进入 PostGIS 官网下载与您的 PostgreSQL 版本相对应的安装包,根据安装向导即可完成安装。本文以 PostgreSQL 9.6.12 版本, Windows 64 位操作系统为例,介绍 PostGIS 的安装方法:
- 进入 PostGIS 官网下载与 PostgreSQL 9.6.12 版本相对应的且适配 64 位操作系统的 .exe 格式的安装文件,postgis-bundle-pg96x64-setup-2.5.3-1.exe。
- 打开安装文件,按照提示逐一设置安装组件、设置 PostGIS 安装路径、输入 PostgreSQL 管理员用户密码、设置初始化的空间数据库名称、注册 GDAL_DATA 环境变量、启用光栅驱动器,完成安装。
安装完成后,您就可以在 PostgreSQL 中创建空间数据库了。
注意:在设置安装组件时,建议您选择“Create spatial database”,初始化一个空间数据库模板,您后续所需的空间数据库都可以基于此模板快速创建。
Linux 系统上安装 PostGIS
PostGIS 为 Linux 操作系统提供了基于包管理器以及基于源码的两种安装方式。本文以 Ubuntu 20.04.1 Server 操作系统为例,简要介绍一下基于包管理器的 PostgreSQL 和 PostGIS 的安装方法:
- 查看 apt-get 库中支持的 PostgreSQL 和 PostGIS 的软件包版本,此环境下选择安装 PostgreSQL 12 版本以及 PostGIS 3.0 版本(PostGIS 版本需与 PostgreSQL 版本相对应)。
- 查看支持的 PostgreSQL 版本:
sudo apt-cache search postgresql
- 查看支持的 PostGIS 版本:
sudo apt-cache search postgis
- 依次安装 PostgreSQL 和 PostGIS 。
- 安装 PostgreSQL 12 版本
sudo apt-get install postgresql-12
- 安装 PostGIS 3.0 版本
sudo apt-get install postgresql-12-postgis-3
- 修改密码, PostgreSQL 安装完成后会自动创建一个名为 postgres 的数据库管理员用户和一个名为 postgres 的操作系统用户,密码随机生成,因此您需要先修改这两个用户的密码,以便后续的使用。
- 修改数据库用户 postgres 的密码:
- 登录 PostgreSQL:
sudo -u postgres psql
- 修改数据库管理员用户的密码:
alter user postgres with password '您的密码';
- 退出数据库:
\q
- 修改系统用户 postgres 的密码:
- 删除系统随机生成的密码:
sudo passwd -d postgres
- 重新设置用户 postgres 的密码:
sudo -u postgres passwd
- 创建数据库并添加 PostGIS 支持。
- 切换到 postgres 用户:
sudo su postgres
- 创建一个数据库,例如: iPortaldb,您可以自定义数据库的名称:
createdb [数据库名]
- 依次执行以下脚本,为创建的数据库提供 PostGIS 支持(这些脚本默认位于 /usr/share/postgresql/12/contrib/postgis-3.0)。
psql -d [数据库名] -f /usr/share/postgresql/12/contrib/postgis-3.0/postgis.sql
psql -d [数据库名] -f /usr/share/postgresql/12/contrib/postgis-3.0/spatial_ref_sys.sql
至此,您已经完成了 PostgreSQL 和 PostGIS 的安装,可以在 iPortal 中进行结构化数据配置了。