Centos-GIS-postgis 离线安装

该文详细介绍了PostGIS的依赖库安装步骤,包括Proj、sqlite3、Geos、libxml2、JSON-C和GDAL的源码编译与安装,以及PostGIS扩展在PostgreSQL中的添加过程。每个步骤都提供了详细的配置选项和命令,确保PostGIS能正确运行并支持各种数据格式。
摘要由CSDN通过智能技术生成

最佳搭配:https://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS

我将扩展放在pg的安装目录下 home/postgres/pgsql/other_lib/包名

1、Proj前置安装【Sqlite有版本要求】

注意:请确保sqlite3 版本大于3.11,如果高于此版本跳过

sqlite-autoconf-3390200.tar

1、源码解压并且进入目录【不要删除后面扩展插件会用到,如果删除还要重新./configure】

2、./configure --prefix=/usr/local

3、make && make install

4、mv /usr/bin/sqlite3 /usr/bin/sqlite3_old【不要以前的】

5、ls -l /usr/local/lib/*sqlite*

6、ls -l /usr/local/include/*sqlite*

7、ln -s /usr/local/bin/sqlite3   /usr/bin/sqlite3

8、echo "/usr/local/bin" > /etc/ld.so.conf.d/sqlite3.conf 【加载新安装的】

9echo "/usr/local/lib" > /etc/ld.so.conf.d/sqlite3.conf 【加载新安装的】

10export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/" 【配置】

11ldconfig【重新加载】

2、Proj安装

Proj投影库用于在PostGIS中提供坐标投影支持。

sqlite3、libtiff、libcurl-devel 这些包不确定

1、解压安装 proj-8.0.0.tar.gz文件 

2、tar -zxvf proj-8.0.0.tar.gz

3、cd proj-8.0.0

4、./configure --prefix=/home/postgres/pgsql/other_lib/proj8 --without-curl

5、make && make install

3、geos前置安装【cmake有版本要求】

cmake-3.23.3-linux-x86_64.tar.gz

  1. tar -zxvf cmake-3.23.3-linux-x86_64.tar.gz
  2. Cd cmake-3.23.3-linux-x86_64
  3. ln -s  bin/cmake /usr/bin/cmake 创建软链接
  4. cmake -version 测试
  5. geos正式安装

Geos几何图形库,用于支持PostGIS中的几何信息处理,分析等功能,野可以直接认为geos是一个几何算法库

  1. tar -jxvf geos-3.10.2.tar.bz2
  2. cd geos-3.10.2
  3. ./configure --prefix=/home/postgres/pgsql/other_lib/geos3
  4. make && make install
  5. libxml前置安装

1、在线yum -y install python-devel

2、离线 python-devel-2.7.5.rpm

3、yum update python

4、yum -y update

5、yum -y install yum-utils

6、yum -y groupinstall development

7、yum update python 【可能python版本尤其问题请更新】

6、libxml安装

当前用于某些导入功能(st_geomfromGMLst_geomFromKML

  1. tar -zxvf libxml2-2.9.12.tar.gz
  2. cd libxml2-2.9.12
  3. ./configure --prefix=/home/postgres/pgsql/other_lib/libxml2
  4. make && make install
  1. Json-c安装-旧版本 【14之前】

当前用于通过功能ST_GeomFromGeoJson导入GeoJson数据

  1. tar -zxvf json-c-0.13.1-20180305.tar.gz
  2. cd json-c-json-c-0.13.1-20180305/
  3. ./configure --prefix=/home/postgres/pgsql/other_lib/json-c
  4. make && make install
  1. Json-c安装-新版本【待续】

  1. Gdal安装

用于PostGIS对栅格数据的支持

注意:这里对proj有版本要求【本机自带、后期安装】,导致不识别,所以编译请指定你上面安装的proj的安装路径

  1. tar -zxvf gdal-3.5.0rc1.tar.gz
  2. cd gdal-3.5.0
  3. ./configure --prefix=/home/postgres/pgsql/other_lib/gdal --with-proj=/home/postgres/pgsql/other_lib/proj8 此处指定proj安装路
  4. make && make install
  1. postgis 安装
  1. 配置etc/ld.so.conf 指向前面安装目录下的lib

include /home/postgres/pgsql/lib

include /home/postgres/pgsql/other_lib/gdal/lib

include /home/postgres/pgsql/other_lib/geos3/lib64

include /home/postgres/pgsql/other_lib/json-c/lib

include /home/postgres/pgsql/other_lib/libxml2/lib

include /home/postgres/pgsql/other_lib/proj8/lib

echo "/home/postgres/pgsql/lib" > /etc/ld.so.conf.d/postgresql.conf

echo "/home/postgres/pgsql/other_lib/gdal/lib">/etc/ld.so.conf.d/gdal.conf

echo "/home/postgres/pgsql/other_lib/proj8/lib" > /etc/ld.so.conf.d/proj.conf

echo "/home/postgres/pgsql/other_lib/geos3/lib64" > /etc/ld.so.conf.d/geos.conf

echo "/home/postgres/pgsql/other_lib/libxml2/lib" > /etc/ld.so.conf.d/libxml2.conf

echo "/home/postgres/pgsql/other_lib/json-c/lib" >/etc/ld.so.conf.d/json-c.conf

  1. ldconfig
  2. tar -zxvf postgis-3.2.1.tar.gz
  3. ./configure --with-pgconfig=/home/postgres/pgsql/bin/pg_config --with-geosconfig=/home/postgres/pgsql/other_lib/geos3/bin/geos-config --with-gdalconfig=/home/postgres/pgsql/other_lib/gdal/bin/gdal-config --with-projdir=/home/postgres/pgsql/other_lib/proj8 --with-jsondir=/home/postgres/pgsql/other_lib/json-c --with-xml2config=/home/postgres/pgsql/other_lib/libxml2/bin/xml2-config --without-protobuf  忽略这个配置如果不忽略会报错
  4. Cd /home/postgres/pgsql/bin
  5. 执行 ./psql
  6. 开始执行扩展语句

    ACREATE EXTENSION postgis;

B、CREATE EXTENSION fuzzystrmatch;

注意:这里可能会出现错误 类似fuzzystrmatch 找不到

请进入postgresql 源码下

/home/postgres/postgres+gis相关14/postgresql-14.2/contrib/fuzzystrmatch

执行 make && make install

若果源码被删除请重新解压并./configure

C、CREATE EXTENSION postgis_tiger_geocoder;

D、CREATE EXTENSION address_standardizer;

E、CREATE EXTENSION postgis_topology;

注意:projjson-c 指向的都是生成的安装目录,其余的都是bin下的配置文件

  注意:新建数据库 要执行上面五条语句才能导入shap

11、protobuf安装 未完成验证

1、wget https://github.com/protocolbuffers/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz

2、tar zxvf protobuf-2.6.1.tar.gz

3、cd protobuf-2.6.1

4、./configure --prefix=/usr/local/protobuf

5、make && make install

export PATH=/usr/local/protobuf/bin:$PATH

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山人在山上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值