当前位置: 首页 > news >正文

centos 7 离线安装postgis插件

        前一段时间记录了下如何在centos7中离线安装postgresql,因为工作需要,我不仅要安装postgresql,还需要安装postgis插件,这篇文章记录下postgis插件的安装过程。

1. 安装前的参考

        如下的链接都是官网上的链接,对你安装postgis 应该会有很大的帮助,安装前可以先仔细看看;

  1. https://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS 最新版依赖及下载地址
    在这里插入图片描述
  2. https://trac.osgeo.org/postgis/wiki/PostGISObsoleteVersionsMatrix 版本依赖说明
    在这里插入图片描述
  3. https://trac.osgeo.org/postgis/wiki/UsersWikiInstall 安装指引
    在这里插入图片描述
  4. https://trac.osgeo.org/postgis/wiki
    在这里插入图片描述

2. 我安装的版本

        由于工作需要,我安装的版本与我们线上保持一致,pg安装的是11.11,postgis安装的是2.5,其它详细信息如下:

软件依赖版本
postgresql11.11
postgis2.5
 godal2.2.3
 proj4.8.0
 geos3.5.1
 json-c0.10
 protobuf2.6.1
 protobuf-c1.2.1
 LibXML22.7.7

3.安装依赖

        安装postgis共分成两步,第一步是安装依赖,第二步是安装postgis本身,因为postgis需要的依赖比较多,一个一个安装需要有点儿耐心。
        注意,如下目录需要修改成你自己使用的目录

3.1 安装gdal

tar -zxvf gdal-2.2.3.tar.gz
cd gdal-2.2.3
./configure --prefix=/app/address/postgre/postgis_dep/gdal
make 
make install

3.2 安装proj

tar -zxvf proj-4.8.0.tar.gz
cd proj-4.8.0
./configure --prefix=/app/address/postgre/postgis_dep/proj
make
make install

3.3 安装geos

tar -jxvf geos-3.5.1.tar.bz2
cd geos-3.5.1
./configure --prefix=/app/address/postgre/postgis_dep/geos
make 
make install

3.4 安装 json-c

tar -zxvf json-c-0.10.tar.gz
cd json-c-0.10
./configure --prefix=/app/address/postgre/postgis_dep/json-c
make
make install

3.5 安装protobuf

tar -zxvf protobuf-2.6.1.tar.gz
cd protobuf-2.6.1
./configure --prefix=/app/address/postgre/postgis_dep/protobuf
make
make install

3.6 安装 protobuf-c

tar -zxvf protobuf-c-1.2.1.tar.gz
cd protobuf-c-1.2.1
./configure --prefix=/app/address/postgre/postgis_dep/protobuf-c
make
make install

3.7 安装LibXML2

下载地址 http://xmlsoft.org/sources/
tar -zxvf libxml2-2.7.7.tar.gz
cd libxml2-2.7.7
./configure --prefix=/app/address/postgre/postgis_dep/libxml2
make
make install

3.8 编辑 ld.so.conf

增加如下配置

/app/address/postgre/postgis_dep/geos/lib
/app/address/postgre/postgis_dep/gdal/lib
/app/address/postgre/postgis_dep/proj/lib
/app/address/postgre/postgis_dep/json-c/lib
/app/address/postgre/postgis_dep/protobuf/lib
/app/address/postgre/postgis_dep/protobuf-c/lib
/app/address/postgre/postgis_dep/libxml2/lib执行sudo ldconfig 使生效

3.9 修改环境配置文件

修改 vi ~/.bashrc
增加如下配置

export PKG_CONFIG_PATH=/app/address/postgre/postgis_dep/protobuf/lib/pkgconfigexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/address/postgre/postgis_dep/geos/lib:/app/address/postgre/postgis_dep/gdal/lib:/app/address/postgre/postgis_dep/proj/lib:/app/address/postgre/postgis_dep/json-c/lib:/app/address/postgre/postgis_dep/protobuf/lib:/app/address/postgre/postgis_dep/protobuf-c/lib:/app/address/postgre/postgis_dep/libxml2/lib

source ~/.bashrc 使生效

4. 安装postgis

4.1 安装postgis

tar -zxvf postgis-2.5.0.tar.gz
cd postgis-2.5.0
./configure --with-geosconfig=/app/address/postgre/postgis_dep/geos/bin/geos-config --with-projdir=/app/address/postgre/postgis_dep/proj --with-gdalconfig=/app/address/postgre/postgis_dep/gdal/bin/gdal-config --with-jsondir=/app/address/postgre/postgis_dep/json-c --with-pgconfig=/app/address/postgre/pginstall/bin//pg_config --with-xml2config=/app/address/postgre/postgis_dep/libxml2/bin/xml2-config
make
make install

在这里插入图片描述

4.2 登录数据库,创建扩展

psql postgres
创建扩展
create extension postgis;
create extension postgis_topology;

在这里插入图片描述

4.3 测试

select postgis_full_version();
在这里插入图片描述
SELECT ST_SetSRID(ST_Point(-87.71,43.741),4326),ST_GeomFromText(‘POINT(-87.71 43.741)’,4326);
在这里插入图片描述

5. 错误解决

  1. fatal error: json_object_iterator.h: No such file or director
    在这里插入图片描述
    解决:yum install json-c-devel

  2. error: #pragma GCC diagnostic not allowed inside functions
    在这里插入图片描述
    使用高版本gcc,4.4.7不行,我用的是4.8版本

6. 参考

  1. postgis相关下载

    1. postgis下载 https://postgis.net/2019/03/PostGIS-2.5.2-2.4.7-2.3.9-Released/
    2. geos下载 https://libgeos.org/usage/download/
    3. libxml2 下载 http://xmlsoft.org/sources/
  2. postgis安装参考

    1. https://blog.csdn.net/dbdeep/article/details/123643043 postgis 安装
    2. https://blog.csdn.net/weixin_47308871/article/details/122152508
    3. https://blog.csdn.net/dbdeep/article/details/123643043

        当然在安装postgis之前需要安装postgresql,如果你还没有安装,可以参考我另一篇记录: centos7 离线安装postgresql

相关文章:

centos 7 离线安装postgis插件

前一段时间记录了下如何在centos7中离线安装postgresql,因为工作需要,我不仅要安装postgresql,还需要安装postgis插件,这篇文章记录下postgis插件的安装过程。 1. 安装前的参考 如下的链接都是官网上的链接,对你安装p…...

pyinstaller打包的时候将ffmpeg也加进包中(包括打包文件夹的方法)

在使用 PyInstaller 打包包含 pydub 的 Python 应用程序时,由于 pydub 需要依赖 ffmpeg,你需要确保 ffmpeg 被正确包含进打包后的程序。以下是操作步骤: 1. 准备 ffmpeg 首先,确保你已经下载并安装了 ffmpeg。可以通过以下方式获取…...

JVM面试知识点1

内存结构(掌握内存结构划分、熟知各区域结构功能) 经典的JVM内存结构: 按照线程是否共享来划分: Heap (堆区) 1. 堆区的介绍 堆是 OOM 故障最主要的发生区域。它是内存区域中最大的一块区域,被所有线程共…...

wordpress

2024年自己建网站的步骤,新手自学建站教程 – 奶爸建站笔记 超详细图解:从 0 搭建一个个人网站,也太简单了吧 - 王一白 - 博客园 如何使用插件或者自定义页面创建一个WordPress着陆页 - 闪电博...

Day33 动态规划part02

62.不同路径 本题大家掌握动态规划的方法就可以。 数论方法 有点非主流,很难想到。 代码随想录 视频讲解:动态规划中如何初始化很重要!| LeetCode:62.不同路径_哔哩哔哩_bilibili class Solution {public int uniquePaths(int m, int n) {int dp[][] = new int[m][n];//初…...

渗透测试之Web基础之Linux病毒编写——泷羽sec

声明: 学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章。本文只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频 (bilibili.com)https://space.bilibili.com/350329294 导读: 时刻…...

jmeter基础07_组件的层级

课程大纲 1. 优先级/执行顺序(一般情况) 同级组件:按组件先后顺序执行。如:同一层的线程组、同一层的http请求。 上下级组件:先执行外层(上级),再执行内层(下级&#xff…...

Nginx反向代理和负载均衡配置

一、疑问 在苍穹外卖里,浏览器发送的请求,比如登录,其url为http://localhost/api/employee/login, 而后端的路径是http://localhost:8080/admin/employee/login 两者不一致,数据是如何准确传输的呢? 二、…...

【379】基于springboot的防疫物资管理信息系统

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装防疫物资管理信息系统软件来发挥其高效地信息处理的作用&am…...

Linux 各个目录作用

刚毕业的时候学习Linux基础知识,发现了一份特别好的文档快乐的 Linux 命令行,翻译者是happypeter,作者当年也在慕课录制了react等前端相关的视频,通俗易懂,十分推荐 关于Linux的目录,多数博客已有详细介绍…...

【Linux】文件操作的艺术——从基础到精通

🎬 个人主页:谁在夜里看海. 📖 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长,行则将至 目录 📚前言:一切皆文件 📚一、C语言的文件接口 📖1.文件打…...

java中的运算符

大家好,今天来看看java中运算符的一些知识点,理解好运算符是我们在写代码的一大重点,那么我们就来看看吧。 运算符:对操作数进行操作时的符号.,不同运算筹操作的含义不同. 一、算术算片. 1、基本四则运算符:加减乘除模(一*/%) 注意:都是二元…...

全面解析 C++ STL 中的 set 和 map

C 标准模板库(STL)中的关联式容器以其强大的功能和高效性成为开发者解决复杂数据组织问题的重要工具。其中,set 和 map 是最常用的两类关联容器。本篇博客将从基本特性、底层实现、用法详解、高级案例以及性能优化等多个角度,详细…...

css:怎么设置div背景图的透明度为0.6不影响内部元素

目录 1.前言 2.解决思路 3.具体实例 4.另外一种实例 5.总结 1.前言 div背景图为project-bg.png,设置div透明度为0.6;div内的名称、数值受透明度影响颜色显示不正常;怎么设置背景图的透明度为0.6不影响内部元素; 2.解决思路 …...

Kubernetes ConfigMaps

文章目录 简介创建ConfigMaps通过命令行使用字面值创建 ConfigMap。从文件创建ConfigMaps从多个文件创建 ConfigMap从目录创建 ConfigMap使用 YAML 创建 ConfigMap 使用ConfigMaps使用 ConfigMaps作为环境变量使用 ConfigMap 作为卷挂载使用 ConfigMap 中的特定的key ConfigMap…...

前端热门面试题目[一](HTML、CSS、Javascript、Node、Vue、React)

如何设计一个前端页面,实现PC端访问展示Web应用,移动端访问展示H5应用? 为了实现这一功能,通常需要使用响应式设计或者服务器端检测用户设备并返回相应的页面。以下是一些实现方法: 响应式设计:通过CSS媒…...

Swift 宏(Macro)入门趣谈(五)

概述 苹果在去年 WWDC 23 中就为 Swift 语言新增了“其利断金”的重要小伙伴 Swift 宏(Swift Macro)。为此,苹果特地用 2 段视频(入门和进阶)颇为隆重的介绍了它。 那么到底 Swift 宏是什么?有什么用&…...

ES6 Set、Map、WeakSet、WeakMap 四者辨析与实战应用详解

在 ES6 中,Set 和 Map 是两种非常重要的新增数据结构,它们都具有独特的特性和用途,能够帮助开发者更高效地处理和管理数据。除此之外,WeakSet 和 WeakMap 作为这两种数据结构的变种,也具有一些特殊的功能。下面我会从 Set 数据结构、Map 数据结构、WeakSet 和 WeakMap 对比…...

【数据结构】哈希表实现

前言 在本篇博客中,作者将会带领你使用C语言来实现一个哈希表。 一.什么是哈希表 在实现哈希表之前,我们先来学习一下什么是哈希表。 在传统的数据结构中,例如数组,链表和二叉平衡树等数据结构,这些数据结构的元素关键…...

Verilog的线与类型与实例化模块

1、线与类型 在Verilog中,线与(wire-AND)类型通常用于描述多个信号进行逻辑与(AND)操作的电路行为。虽然Verilog本身没有直接定义一种名为“线与”的数据类型,但可以通过使用wire类型结合特定的逻辑操作来…...

芯片测试-RF中的S参数,return loss, VSWR,反射系数,插入损耗,隔离度等

RF中的S参数,return loss, VSWR,反射系数,插入损耗,隔离度 💢S参数💢💢S11与return loss,VSWR,反射系数💢💢S21,插入损耗和增益&#…...

强化学习的几个主要方法(策略梯度、PPO、REINFORCE实现等)(上)

本笔记有大量参考蘑菇书EasyRL https://datawhalechina.github.io/easy-rl/#/ 包括其配图和部分文本。 1. 基本概念 1.1 基本流程 强化学习是一种学习框架,其中智能体(Agent) 通过与 环境(Environment) 的交互&#…...

Git远程仓库操作

文章目录 远程仓库连接Gitee克隆代码 多人协同问题说明 🏡作者主页:点击! 🤖Git专栏:点击! ⏰️创作时间:2024年12月1日13点10分 远程仓库 Git 是分布式版本控制系统,同一个 Git …...

GAGAvatar: Generalizable and Animatable Gaussian Head Avatar 学习笔记

1 Overall GAGAvatar(Generalizable and Animatable Gaussian Avatar),一种面向单张图片驱动的可动画化头部头像重建的方法,解决了现有方法在渲染效率和泛化能力上的局限。 旋转参数 现有方法的局限性: 基于NeRF的方…...

什么是VISUAL STUDIO CODE (V S CODE)

Visual Studio Code(简称VS Code)是由微软开发的一个免费的、开源的源代码编辑器。它是一个轻量级但功能强大的工具,支持多种编程语言和框架,广泛用于开发各种应用程序,尤其是Web开发。VS Code具备以下特点&#xff1a…...

2024年09月中国电子学会青少年软件编程(Python)等级考试试卷(三级)答案 + 解析

青少年软件编程(Python)等级考试试卷(三级) 分数:100 题数:38 一、单选题(共25题,共50分) 1. 以下表达式的值为True的是?( ) A. all( ,1,2,3) B. any([]) C. bool(abc) D. divmod(6,0)...

C++初阶——动态内存管理

目录 1、C/C内存区域划分 2、C动态内存管理:malloc/calloc/realloc/free 3、C动态内存管理:new/delete 3.1 new/delete内置类型 3.2 new/delete自定义类型 4、operator new与operator delete函数 5、new和delete的实现原理 5.1 内置类型 5.2 自定…...

如何查看阿里云ddos供给量

要查看阿里云上的 DDoS 攻击量,你可以通过阿里云的 云盾 DDoS 防护 服务来进行监控和查看攻击数据。阿里云提供了详细的流量监控、攻击日志以及攻击趋势分析工具,帮助用户实时了解 DDoS 攻击的情况。以下是九河云总结的查看 DDoS 攻击量的步骤&#xff1…...

MySQL中的事务隔离全详解

第一部分:MySQL事务的特性与并行事务引发的问题 1. 什么是事务及其四大特性(ACID)? 事务(Transaction)是数据库操作的基本单位,它将一组操作组合在一起,以确保这些操作作为一个整体…...

异常--C++

文章目录 一、异常的概念及使用1、异常的概念2、异常的抛出和捕获3、栈展开4、查找匹配的处理代码5、异常重新抛出6、异常安全问题7、异常规范 二、标准库的异常 一、异常的概念及使用 1、异常的概念 异常处理机制允许程序中独立开发的部分能够在运行时就出现的问题进行通信并…...

高端网站定制建设公司哪家好/保定seo排名

--------------聚合函数的一些问题------------ --聚合函数不统计空值 select avg (age) from student select sum(age) from student --如果使用聚合函数的时候,没有手动group by ,那么聚合函数会把整个表中的数据当做一组来统计 --------------------带条件查询--…...

网站背景动图怎么做/seo关键词推广

我们都知道进行自然语言处理的第一步就是分词,下面使用jieba模块对最近比较热的电视剧《人民的名义》进行分词,并对它进行一些简单的文本分析。 一、jieba模块中常用的方法说明(github): 1.分词: jieba.cut…...

wordpress主题菜单/关联词有哪些类型

设置时间为下午14点36分。# date -s 14:36:00Fri Nov 26 14:15:00 CST 1999例4:设置时间为1999年11月28号。# date -s 991128Sun Nov 28 00:00:00 CST 1999 时区设置 参考阅读 cp /usr/share/zoneinfo/Asia/Shangh…...

个体营业执照可以做网站搞推广吗/免费推广的网站平台

学习要点 JDBC查询数据添加数据修改数据删除数据JDBC 1 JDBC的定义 JDBC是Java数据库连接技术的简称,提供连接和操作各种常用数据库的能力。 2 JDBC工作原理 3 JDBC API JDBC API主要功能:与数据库建立连接、执行SQL 语句、处理结果。 DriverManager …...

什么好的主题做网站/品牌运营管理公司

sqrt() 方法返回数字x的平方根。以下是 sqrt() 方法的语法:(推荐学习:Python视频教程)import math math.sqrt( x ) 注意:sqrt()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。 参数 x -- 数…...

用jsp做一网站的流程图/品牌策划方案

远程桌面。点击开始的程序里点击附件里的通讯。利用这一功能,我们可以实现远程遥控访问所有应用程序、文件、网络资源。例如在家里发出指令遥控单位的计算机完成邮件收发、系统维护、远程协助等工作,如果使用的是宽带,那么与操作本地计算机不…...