目录
本文将介绍在centos中使用源码安装PostGIS,由于PostGIS有较多的模块组件,本文将介绍PostGIS主要部分的安装,另外将持续更新,以介绍PostGIS其他模块组件的安装。
另外,由于PostGIS是PostgreSQL数据库的一个插件,即PostGIS构建于PostgreSQL之上。所以安装PostGIS之前必须安装PostgreSQL,建议参考我的这篇文章:Linux(centos)中安装PostgreSQL 。
一、安装条件
PostGIS需要依赖以下软件或函数库:
1.1、必须安装的软件或函数库
- PostgreSQL —— PostGIS构建于PostgreSQL之上,所以PostgreSQL必须要安装。
- GNU C 编译器(gcc) —— gcc是一个Linux中最标准的C语言编译器,需要安装gcc来编译PostGIS和其他软件或函数库的源码。
- GNU Make(gmake或make)—— 这个也是用于编译源码。
- Proj4 —— Proj4 重投影库用于在PostGIS中提供坐标重投影功能。
- GEOS —— GEOS几何图形库,用于支持PostGIS中的几何信息处理、分析等功能,也可以直接认为GEOS是一个几何算法库。
- LibXML2 —— LibXML2目前用于PostGIS中的一些导入函数,比如ST_GeomFromGML()和ST_GeomFromKML()。
- JSON-C —— 目前使用JSON-C通过ST_GeomFromGeoJSON()函数导入GeoJSON格式的数据
- GDAL —— 用于PostGIS对栅格数据的支持。
- 其他。。。待更新
1.2、可选的软件或函数库
- SFCGAL —— 用于提供额外的二维和三维的高级分析功能。允许对一些函数使用基于SFCGAL的实现,而不是使用基于GEOS的实现(例如ST_Intersection()和ST_Area()函数),如果安装了SFCGAL,PostgreSQL的配置变量postgis.backend允许终端用户控制他想使用哪个实现(默认情况下是GEOS的实现)。另外,SFCGAL依赖于CGAL和Boost这两个软件,即如果想安装SFCGAL,就先要安装这两个软件。最后pgrouting插件也依赖于CGAL和Boost
- 其他。。。待更新
二、本次安装的软件
由于带基础开发工具版本的centos都已经自动安装了gcc和make,即使未安装,网上搜索也很容易找到安装方式,所以本文不介绍这两者的安装。
由于PostgreSQL的安装在前面介绍的那篇文章中已经介绍了,所以本文不介绍PostgreSQL的安装。那篇文章中介绍安装的是PostgreSQL9.5.19,所以本次安装PostGIS也就是基于PostgreSQL 9.5.19版本的。
本次安装会安装如下软件(包含版本号):
- proj-5.1.0
- geos-3.7.2
- libxml2-2.9.8
- json-c-0.13.1
- gdal-2.3.0
- boost-devel.x86_64
- CGAL-4.13.1
- SFCGAL-1.3.6
- postgis-2.5.1
这些源码包可以直接去官网下载,可以直接在centos中下载,也可以直接从以下链接获取:
链接:https://pan.baidu.com/s/1C0wwwvQqPowopMeDFpAAyw
提取码:sqmj
源码包版本最好和上面的保持一致,否则可能会安装失败!
下载好源码包后,把相关源码包拷贝到centos中的/usr/local/src这个目录里。
另外,推荐使用root用户进行安装,否则可能会权限不够。
三、安装PostGIS依赖的软件和函数库
3.1、安装proj
解压proj-5.1.0.tar.gz:
进入proj-5.1.0:
运行configure程序,并且设置proj安装的位置为/usr/local/proj-5.1.0:
运行make命令进行源码包的编译:
使用make check测试刚刚编译的软件:
使用make install安装软件:
查看/usr/local的文件列表:
可以发现proj-5.1.0已经安装成功!
3.2、安装geos
解压geos-3.7.2.tar.bz2:
进入geos-3.7.2:</