环境:

centos7

postgresql12

postgis3.0.1

posgis3.0.1 依赖

https://postgis.net/2020/02/20/postgis-3.0.1/

The PostGIS Team is pleased to release PostGIS 3.0.1.

Best served with PostgreSQL 12.2, GEOS 3.8.0, SFCGAL 1.3.7, GDAL 3.0.4, PROJ 6.3.1, protobuf-c 1.3.3, json-c 0.13.1.

1.cmake安装

wget https://github.com/Kitware/CMake/releases/download/v3.16.8/cmake-3.16.8.tar.gz
tar -zxvf cmake-3.16.8.tar.gz
cd cmake-3.16.8
./bootstrap --prefix=/usr/local/cmake
gmake
gmake install

2.安装GEOS

wget https://download.osgeo.org/geos/geos-3.8.1.tar.bz2
tar -jxf geos-3.8.1.tar.bz2
cd geos-3.8.1
./configure --prefix=--prefix=/data/apps/pgsql/12/plus/geos-3.8.1
make && make install

3.安装proj

wget http://download.osgeo.org/proj/proj-6.3.2.tar.gz
tar -zxvf proj-6.3.2.tar.gz
cd proj-6.3.2
./configure  --prefix=/usr/local/proj-6.3.2
# 编译时遇到下面的问题,说是sqlite版本太低!编译成功再进行下一步!
make && make install

3.1安装sqlite3

wget http://www.sqlite.org/2020/sqlite-autoconf-3320200.tar.gz
[root@localhost ~]#yum remove sqlite-devel
[root@localhost ~]# tar zxvf sqlite-autoconf-3320200.tar.gz -C /usr/src
[root@localhost ~]#cd sqlite-autoconf-3320200/ ./configure --prefix=/usr/local/sqlite

替换版本

mv /usr/bin/sqlite3 /usr/bin/sqlite3_old
cd /usr/local/sqlite/bin/
ln -s /usr/local/sqlite/bin/sqlite3 /usr/bin/sqlite3

共享库修改,注意sqlite的安装路径

vim /etc/profile
export LD_LIBRARY_PATH="/usr/local/sqlite/lib"

查看sqlite版本信息

[root@beta postgis-3.0.1]# sqlite3 --version
3.32.2 2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c
find / -name sqlite3.pc
/usr/local/sqlite/lib/pkgconfig/sqlite3.pc
复制
cp /usr/local/lib/pkgconfig/sqlite3.pc /usr/lib64/pkgconfig/

3.2安装proj

wget http://download.osgeo.org/proj/proj-6.3.2.tar.gz
tar -zxvf proj-6.3.2.tar.gz
cd proj-6.3.2
./configure  --prefix=/data/apps/pgsql/12/plus/proj-6.3.2
make && make install

4.安装GDAL

wget https://download.osgeo.org/gdal/3.0.4/gdal-3.0.4.tar.gz
tar -zxvf gdal-3.0.4.tar.gz
cd gdal-3.0.4 [root@beta gdal-3.0.4]# ./configure  --prefix=/data/apps/pgsql/12/plus/gdal-3.0.4 --with-proj=/data/apps/pgsql/12/plus/proj-6.3.2  --with-pg=/data/apps/pgsql/12
[root@beta gdal-3.0.4]# make && make install

5.安装protubuf

./configure: No such file or directory
yum install automake
autoreconf -i
下载地址
https://github.com/protocolbuffers/protobuf/issues/6599wget https://github.com/protocolbuffers/protobuf/releases/download/v3.15.3/protobuf-all-3.15.3.tar.gz[root@beta protobuf-3.15.2]#./configure  --prefix=/data/apps/pgsql/12/plus/protobuf-3.15.2
make && make installexport PKG_CONFIG_PATH=/data/apps/pgsql/12/plus/protobuf-3.15.2/lib/pkgconfig

6.安装protobuf-c

wget https://github.com/protobuf-c/protobuf-c/releases/download/v1.3.3/protobuf-c-1.3.3.tar.gz
tar -xzvf  protobuf-c-1.3.3.tar.gz
cd protobuf-c-1.3.3
export PKG_CONFIG_PATH=/usr/local/protobuf-3.11.4/lib/pkgconfig
./configure  --prefix=/data/apps/pgsql/12/plus/protobuf-c-1.3.3
make && make install

7.安装SFCGAL 1.3.7

由于SFCGAL需要依赖Boost、CGAL、GMP、MPFR这四个软件,所以具体总共需要安装以下四个软件

boost-devel.x86_64

gmp-devel.x86_64

mpfr-devel.x86_64

CGAL-4.14

为了安装pgrouting3.0.2需要安装boost1.53以上,使用yum install boost boost-devel只能安装版本1.53, 我使用源码安装的是1.68

安装boot

wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz
tar -xzvf boost_1_68_0.tar.gz
cd boost_1_68_0
./bootstrap.sh
./b2 install --with=allyum install gmp-devel.x86_64
yum install mpfr-devel.x86_64

安装CGAL

wget https://git
hub.com/CGAL/cgal/releases/download/releases%2FCGAL-4.14.3/CGAL-4.14.3.tar.xz[root@beta plus]# cd CGAL-4.14.3/
[root@beta CGAL-4.14.3]#mkdir build && cd build
[root@beta build]#cmake -DCGAL_HEADER_ONLY=OFF -DCMAKE_BUILD_TYPE=Release ..[root@beta build]#make && make install

安装pcre

wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
tar -xzvf  pcre-8.44.tar.gz
cd pcre-8.44
./configure --enable-utf8 --prefix=/data/apps/pgsql/12/plus/pcre-8.44make && make intallecho "/data/apps/pgsql/12/plus/pcre-8.44/lib" > /etc/ld.so.conf.d/pcre-8.44.confldconfig

遇到以下这个问题:

c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report

解决方式:

sudo dd if=/dev/zero of=/swapfile bs=64M count=16
#count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=1024MB
sudo mkswap /swapfile
#把刚才空间格式化成swap格式
chmod 0600 /swapfile
#该目录权限,不改的话,在下一步启动时会报“swapon: /swapfile: insecure permissions 0644, 0600 suggested.”错误
sudo swapon /swapfile
#使用刚才创建的swap空间

SFCGAL-1.3.7

wget  https://github.com/Oslandia/SFCGAL/archive/v1.3.7.tar.gz
tar -zxvf SFCGAL-1.3.7.tar.gz
cd SFCGAL-1.3.7
mkdir build && cd build
/usr/local/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/data/apps/pgsql/12/plus/sfcgal-1.3.7 ..
make  && make installswapoff -a
#详细的用法可以:swapoff --help[root@beta json-c-json-c-0.13.1-20180305]# ./configure --prefix=/data/apps/pgsql/12/plus/json0.13.1

8.安装PostGIS

./configure --prefix=/data/apps/pgsql/12/plus/postgis-3.1.1 --with-gdalconfig=/data/apps/pgsql/12/plus/gdal-3.0.4/bin/gdal-config --with-pgconfig=/data/apps/pgsql/12/bin/pg_config --with-geosconfig=/data/apps/pgsql/12/plus/geos-3.8.1/bin/geos-config --with-projdir=/data/apps/pgsql/12/plus/proj-6.3.2 --with-xml2config=/data/apps/pgsql/12/plus/libxml2/bin/xml2-config --with-jsondir=/data/apps/pgsql/12/plus/json0.13.1 --with-protobufdir=/data/apps/pgsql/12/plus/protobuf-3.15.2 --with-sfcgal=/data/apps/pgsql/12/plus/sfcgal-1.3.7/bin/sfcgal-config --with-pcredir=/data/apps/pgsql/12/plus/pcre-8.44

9.安装PgRouting

wget  https://github.com/pgRouting/pgrouting/releases/download/v3.0.2/pgrouting-3.0.2.tar.gz
tar -zxvf pgrouting-3.0.2.tar.gz
cd pgrouting-3.0.2
mkdir build && cd build
cmake ..
make
make install
[root@beta json-c-json-c-0.13.1-20180305]# cat /etc/ld.so.conf
#添加如下东西
/data/apps/pgsql/12/plus/geos-3.8.1/lib
/data/apps/pgsql/12/lib
/data/apps/pgsql/12/plus/proj-6.3.2/lib
/data/apps/pgsql/12/plus/json0.13.1/lib
/data/apps/pgsql/12/plus/protobuf-c-1.3.3/lib
/data/apps/pgsql/12/plus/sfcgal-1.3.7/lib
/data/apps/pgsql/12/plus/sfcgal-1.3.7/lib64[root@beta json-c-json-c-0.13.1-20180305]#ldconfig

10.创建postgis扩展

create database gistest;
\c gistest
create extension postgis;
#如果安装了sfcgal,创建扩展测试下
create extension postgis_sfcgal;create extension pgrouting;gistest=# select ST_distance(point(111.11,22.2)::geometry,point(111.11,22.4)::geometry);st_distance
--------------------0.1999999999999993
(1 row)
显示上面结果,插件安装成功

postgis3.0.1相关推荐

  1. Postgresql 12.2 + PostGIS 3.0.1 安装部署手册

    Postgresql 12.2 + PostGIS 3.0.1 安装部署手册 文章目录 Postgresql 12.2 + PostGIS 3.0.1 安装部署手册 环境说明 注意事项 Postgre ...

  2. 估算带卷积核二分类0,3的网络的收敛时间和迭代次数

    制作一个网络分类minst的0和3求出这网络的迭代次数曲线表达式n(δ),和准确率表达式p-max(δ),用预期准确率去估算n,并推算需要的时间. 将minst的28*28的图片缩小到9*9,网络用一 ...

  3. geonode geoserver win10 安装教程(亲测)

    geonode geoserver  win10 安装教程(亲测) 目录 0. geonode简介 1.相关链接 2.安装步骤 3. 遇到的坑 0. geonode简介 GeoNode 是一个地理空间 ...

  4. Centos7安装HighGo DB V6企业版

    Centos7安装HighGo DB V6企业版 环境信息:Centos7(4core/8g) + HighGo DB V6 > 软件和资料下载 官网提供了HighGo DB 数据库软件 &am ...

  5. PostgreSQL集群方案-Postgres-XL

    Postgres-XL 主机 系统 hostname 192.168.1.42 centos7 node1 GTM 192.168.1.43 centos7 node2 gtm_proxy.Coord ...

  6. postgresql + postgis 离线安装

    操作系统 centos7 安装版本 postgresql版本 11.9 postgis版本 3.0.6 1. 开始安装 将以下安装包上传至/tools路径下 geos-3.8.1.tar.bz2 js ...

  7. PostgreSQL集群方案-citus

    citus Citus基本上是Postgres,可以进行横向扩展.它是Postgres的扩展,可以在多台计算机的群集中分发数据和查询.作为扩展(而不是分支),Citus支持新的PostgreSQL版本 ...

  8. 国产系统安装postgresql+postgis

    最近因为工作需要,在多个国产操作系统服务器上安装了postgresql11.5+postgis3.0.5(鲲鹏.统信uos,中标麒麟,银河麒麟),在整个过程中遇到了不少问题. 一路走来,虽说踩了各种奇 ...

  9. postgis 栅格数据_PostGIS入门篇 一 PostGIS安装

    1.1 安装PostgreSQL 1.1.1 升级gcc 下载较新的gcc压缩文件并解压: [root@ ~]# wget -c http://mirror.koddos.net/gcc/releas ...

最新文章

  1. oracle--表,用户,授权
  2. [BZOJ4994] [Usaco2017 Feb]Why Did the Cow Cross the Road III(树状数组)
  3. 神经网络训练集最少可以是多少个?
  4. 信用经济中的经济因素
  5. ​ICML 2021 Long Oral | 顺序不可知的交叉熵函数
  6. java 对象转json,java首字母小写,判断方法是否为javabean方法
  7. 消息中间件:RocketMQ 介绍(特性、术语、原理、优缺点、消息顺序、消息重复)
  8. siwft初学(一)
  9. 什么可以搜python答案_超星Python程序设计答案章节测试答案免费,能搜索网课答案的公众号...
  10. 最大子序列和的四种求解算法及其时间比较
  11. [jQuery原理] jQuery入口函数
  12. python的os,commands,subprocess启动进程调用的几种方法
  13. Linux上vi(vim)编辑器使用教程
  14. python 如何加密_Python如何玩转加密?
  15. turtle绘制八卦镜
  16. php实现微信公众号群发消息接口(thinkphp3.2.3)
  17. BSD协议和FreeBSD
  18. ckplayer 如何在PC上完美支持 m3u8播放
  19. 【渝粤题库】陕西师范大学180102 广告策划 作业(高起专)
  20. 人际网络营销与网站运营、策划、推广一体化结合

热门文章

  1. Flume系列:Flume Sink使用
  2. 怎么用计算机计算减法,计算机只会加法,那么它如何用加法来计算减法呢?
  3. 鸿蒙一碰闪屏壁纸,不闪屏骗人吗? 戳穿护眼液晶的五大谎言
  4. 解决uni-app开发的view页面中的文本乱码问题
  5. 推荐一个去除图片人物背景的在线网站 Removebg
  6. 习题8-2 在数组中查找指定元素
  7. 架构方案(7) 微信、淘宝类扫码登录实现原理解析
  8. JAVA性能优化思路探究,让程序超顺畅
  9. 钉钉H5应用修改导航栏标题名称
  10. jquery miniui java_jQuery MiniUI 快速入门:表单开发(四)