PostgreSQL15 + PostGis + QGIS安装教程

目录

  • 下载
  • 1、PostgreSQL安装
    • 1.1、环境变量配置
  • 2、PostGIS安装
    • 2.1、安装插件
  • 3、QGIS下载
    • 3.1、安装
    • 3.2、测试

下载

PostgreSQL15安装:下载地址
PostGIS安装:下载地址(倒数第二个)

1、PostgreSQL安装

下载安装包之后一直点下一步就行,默认地址可以根据自己要求更改

1.1、环境变量配置

我的电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 新建
在这里插入图片描述

  1. 新建GDAL_DATA(名字随便取),将postgis的安装路径填入变量值
    在这里插入图片描述
  2. 在Path中新增:%PG_HOME%\bin\
    在这里插入图片描述
  3. 在cmd中使用命令:psql --version 查看是否配置成功
    在这里插入图片描述
  4. 配置完成后,在cmd中启动postgreSQL服务【重要】
    pg_ctl -D D:\ProgramFile\postgresql\15\data start 其中-D后面的路径是postgresql的安装路径下的data文件夹
    在这里插入图片描述
    确保服务成功启动后,再安装postGIS

2、PostGIS安装

  1. 开始安装,使用默认安装,一直点next即可(安装进行到下面这个页面时,第二个选项可选可不选,功能是创建一个数据库模版)
    在这里插入图片描述
  2. 安装完成后,打开Navicat,新建一个postgreSQL连接。账号:postgres 密码:postgis
    在这里插入图片描述
  3. 连接成功后,可以看到之前安装时选择的模版
    在这里插入图片描述

2.1、安装插件

CREATE EXTENSION postgis;
  • 用途:为 PostgreSQL 提供地理空间对象支持,包括空间数据类型、函数和操作符。
  • 描述:PostGIS 允许用户在 PostgreSQL 数据库中存储、查询和操纵地理空间数据。
CREATE EXTENSION postgis_raster;
  • 用途:追踪执行的 SQL 语句的统计信息,帮助分析和优化查询性能。
  • 描述:该扩展提供了一个视图,其中包含了关于执行时间、调用次数等的信息。
CREATE EXTENSION postgis_topology;
  • 用途:处理拓扑关系的存储和查询。
  • 描述:建立拓扑关系模型,支持拓扑操作(如邻域查询、边界查询等),提供了对几何对象之间拓扑关系的高效管理。
CREATE EXTENSION postgis_sfcgal;
  • 用途:处理和分析复杂的曲面几何对象:postgis_sfcgal可以处理和分析曲面多边形、曲面线、曲面点等复杂的几何对象,提供了丰富的几何操作和分析功能。
    进行高级空间计算:postgis_sfcgal基于SFCGAL库,提供了高级的几何计算功能,如几何对象之间的交集、并集、差集等操作。
    支持曲面几何对象的拓扑关系分析:postgis_sfcgal可以进行曲面几何对象之间的拓扑关系判断,如判断是否相交、是否包含等。
    计算曲面几何对象的缓冲区:postgis_sfcgal可以计算曲面几何对象的缓冲区,生成具有指定缓冲区半径的几何对象。
    进行曲面几何对象的仿射变换:postgis_sfcgal支持对曲面几何对象进行仿射变换,如平移、旋转、缩放等操作。

  • 描述:postgis_sfcgal是一个基于SFCGAL库的扩展模块,SFCGAL是一个开源的库,提供了对2D和3D曲面几何对象进行高级计算和分析的功能。通过postgis_sfcgal,可以在PostgreSQL中使用SFCGAL库提供的各种功能,实现复杂曲面几何对象的处理和分析

CREATE EXTENSION fuzzystrmatch;
  • 用途:模糊字符串匹配。
  • 描述:提供模糊字符串匹配函数,用于执行模糊搜索、模式匹配和相似度计算。
CREATE EXTENSION address_standardizer;

用途:地址标准化。
描述:提供地址标准化功能,将输入的地址进行格式化和规范化,使其符合特定的地址结构。

CREATE EXTENSION address_standardizer_data_us;

用途:美国地址标准化所需的数据。
描述:为Address Standardizer提供美国地址标准化所需的数据集,包括街道、城市、州等信息。

CREATE EXTENSION postgis_tiger_geocoder;

用途:转换TIGER数据为PostGIS格式,用于美国地理数据的存储和查询。
描述:将美国地理数据(如街道、地理区域边界等)的TIGER格式转换为PostGIS格式,提供了对美国地理数据的存储和查询能力。

pgcrypto:
用途:在数据库中处理敏感数据的存储和传输。
描述:提供加密和解密函数,支持哈希、对称加密和非对称加密等操作。
hstore:
用途:存储和查询键值对数据。
描述:在单个数据库列中存储多个键值对,方便存储和检索半结构化数据。
citext:
用途:对不区分大小写的文本数据进行索引和比较。
描述:允许在索引和查询时忽略文本的大小写差异。
pg_stat_statements:
用途:收集和查询SQL语句执行统计信息。
描述:帮助分析和优化数据库查询性能,了解消耗最多资源的SQL语句。
uuid-ossp:
用途:生成和操作全局唯一标识符(UUID)。
描述:提供函数用于生成唯一的标识符值。
pg_trgm:
用途:文本数据的模糊匹配功能。
描述:用于模糊搜索、相似度计算、自动完成等应用场景。
intarray:
用途:整数数组的索引和操作功能。
描述:存储和查询整数数组,并支持数组间的交集、并集、差集等操作。
pg_stat_activity:
用途:查询当前数据库活动和会话信息。
描述:帮助了解当前数据库的连接数、查询活动和锁等情况。

3、QGIS下载

如果想可视化postGIS中的数据,可以使用QGIS查看,下载地址

3.1、安装

  1. 使用默认安装;
  2. 安装完成后,在左侧找到postgreSQL,右键创建一个新的数据库连接,连接已有的postGIS数据库;
    在这里插入图片描述
  3. 连接成功后,可以将数据拖动到右侧显示框查看
    在这里插入图片描述

3.2、测试

-- 三维点数据
CREATE TABLE points (id SERIAL PRIMARY KEY,name TEXT,location geometry(PointZ, 4326)
);INSERT INTO points (name, location) VALUES ('point1', ST_GeomFromText('POINTZ(0 0 1)', 4326));
INSERT INTO points (name, location) VALUES ('point2', ST_GeomFromText('POINTZ(1 1 2)', 4326));-- 三维线数据
CREATE TABLE lines (id SERIAL PRIMARY KEY,name TEXT,geom geometry(MultiLineStringZ, 4326)
);INSERT INTO lines (name, geom) VALUES ('line1', ST_GeomFromText('MULTILINESTRINGZ((0 0 0, 0 1 0, 1 1 0), (2 2 1, 3 3 2))', 4326));
INSERT INTO lines (name, geom) VALUES ('line2', ST_GeomFromText('MULTILINESTRINGZ((0 0 0, 0 1 1, 1 1 1))', 4326));-- 三维面数据
CREATE TABLE polygons (id SERIAL PRIMARY KEY,name TEXT,geom geometry(PolygonZ, 4326)
);INSERT INTO polygons (name, geom) VALUES ('polygon1', ST_GeomFromText('POLYGON Z((0 0 0, 0 1 0, 1 1 0, 0 0 0))', 4326));
INSERT INTO polygons (name, geom) VALUES ('polygon2', ST_GeomFromText('POLYGON Z((0 0 0, 0 1 1, 1 1 1, 0 0 0))', 4326));

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/811760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 版分布式消息队列 Kafka 实现图片数据传输

1、Kafka 介绍 在使用 Kafka 之前,通常需要先安装和配置 ZooKeeper。ZooKeeper 是 Kafka 的依赖项之一,它用于协调和管理 Kafka 集群的状态。 ZooKeeper 是一个开源的分布式协调服务,它提供了可靠的数据存储和协调机制,用于协调…

清远某国企IBM服务器Board故障上门维修

接到一台来自广东清远市清城区某水利大坝国企单位报修一台IBM System x3650 M4服务器无法开机的故障,分享给大家,同时也方便有需要的朋友能及时找到我们快速解决服务器问题。 故障服务器型号:IBM System x3650 M4 服务器使用单位:…

厂区3D全景线上漫游体验突破现实时空阻碍

智慧园区,作为现代城市发展的重要引擎,其管理效率和安全监控的需求日益凸显。而720VR全景展示技术的引入,无疑为智慧园区的建设注入了新的活力。通过360全空间无死角的视觉展示,用户可以身临其境地感受园区的每一个角落&#xff0…

记账本|基于SSM的家庭记账本小程序设计与实现(源码+数据库+文档)

家庭记账本小程序目录 基于SSM的家庭记账本小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 1、小程序端: 2、后台 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大…

【opencv】示例-imagelist_reader.cpp 读取YAML格式文件中的图片列表,并逐个显示这些图片的灰度图...

这段代码的功能是使用OpenCV库读取一个YAML或XML格式文件中的图片列表,并且逐个地在窗口中以灰度图像的形式显示这些图片。用户可以按任意键来查看下一张图片。程序提供了帮助信息输出,指导用户如何使用该程序。此外,它使用命令行参数解析器来…

(文章复现)考虑网络动态重构的分布式电源选址定容优化方法

参考文献: [1]朱俊澎,顾伟,张韩旦,等.考虑网络动态重构的分布式电源选址定容优化方法[J].电力系统自动化,2018,42(05):111-119. 1.摘要 以投资周期经济收益最高为目标,基于二阶锥规划提出了一种考虑网络动态重构的分布式电源选址定容优化方法。首先&am…

毅四捕Go设计模式笔记——责任链模式

责任链模式(Chain of Responsibility Pattern) 为了解决什么问题? 责任链模式的目的是为了将请求的发送者和接收者解耦。它允许多个处理器都有机会处理请求,将这些处理器连接成一条链,并沿着这条链传递请求&#xff…

Linux磁盘空间问题排查记录

问题 pip install时总提示OSError(28, ‘No space left on device’)或者ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device 分析 很明显,磁盘空间不足。尝试了以下方法,没有解决问题: 清理pip缓…

给现有rabbitmq集群添加rabbitmq节点

现有的:10.2.59.216 rabbit-node1 10.2.59.217 rabbit-node2 新增 10.2.59.199 rabbit-node3 1、分别到官网下载erlang、rabbitmq安装包,我得版本跟现有集群保持一致。 erlang安装包:otp_src_22.0.tar.gz rabbitmq安装包&#xff1…

详解App Inventor 2 中的文件作用域(作用范围):App、程序包、缓存、兼容、私有、共享

本文内容来自中文网文档“文件管理器”组件部分,详细介绍了每一种文件作用域的特点及用法。 下面是每种作用域类型的简述: App [推荐] :Android 2.2及更高版本上文件将从应用程序特定存储中读取和写入,在 Android 早期版本上&…

STM32—DMA直接存储器访问详解

DMA——直接存储器访问 DMA:Data Memory Access, 直接存储器访问。 DMA和我们之前学过的串口、GPIO都是类似的,都是STM32中的一个外设。串口是用来发送通信数据的,而DMA则是用来把数据从一个地方搬到另一个地方,而且不占用CPU。…

Arthas排查工具

简介 | arthas (aliyun.com) 在线安装 #下载jar包 curl -O https://arthas.aliyun.com/arthas-boot.jar#启动会先检测虚拟机进程,如果没有启动失败(idea) java -jar arthas-boot.jar linux安装与window一样

flask毕业设计选题管理系统python+django_96r19

本系统选择编程语言。Pymysql是封装了MySQL驱动的Python驱动一个能使Python连接到MySQL的库。Python语言官方规范访问数据库的统一接口规范(Python DB-API),防止在使用不同数据库时,由于底层数据库技术不同造成接口程序紊乱的问题。通过本次系统设计可以…

【Spring高级】Spring Boot启动过程

目录 SpringApplication new 分析源码分析步骤演示primarySources和Sources应用类型webApplicationTypesetInitializers设置容器初始化器setListeners设置监听器主类推断 SpringApplication run 分析主要步骤步骤演示事件发布容器相关执行 runner准备EnvironmentEnvironmentPos…

时间序列分析 #ARMA模型的识别与参数估计 #R语言

掌握ARMA模型的识别和参数估计。 原始数据在文末!!! 练习1、 根据某1915-2004年澳大利亚每年与枪支有关的凶杀案死亡率(每10万人)数据(题目1数据.txt),求: 第1小题&…

C# Solidworks二次开发:模型中实体Entity相关操作API详解

大家好,今天要讲的一些API是关于实体的相关API。 在开发的过程,很多地方会涉及到实体的相关操作,比如通过实体选中节点。下面就直接开始介绍API: (1)第一个API为Select4,这个API的含义为选中一…

微信小程序中调取小程序实现报错:提示 开发版小程序已过期,请在开发者工具中重新扫码的 解决方案

出现的问题: 解决方法: 将envVersion: develop,开发版切换为正式版 envVersion: release,wx.navigateToMiniProgram({appId:res.data.appId,path: res.data.prePayTn,extraData: {foo: bar,miniProgramOrgId:res.data.miniProgramOrgId,orderId: res.d…

css设置文字撑满盒子

效果如上&#xff1a; <div style"width: 250px;background-color:red;text-align-last:justify;word-break: keep-all;">为中国崛起而读书</div>

Python编写一个抽奖小程序,新手入门案例,简单易上手!

“ 本篇文章将以简明易懂的方式引导小白通过Python编写一个简单的抽奖小程序&#xff0c;无需太多的编程经验。通过本文&#xff0c;将学习如何使用Python内置的随机模块实现随机抽奖&#xff0c;以及如何利用列表等基本数据结构来管理和操作参与抽奖的人员名单。无论你是Pytho…

贪心算法:柠檬水找零

题目链接&#xff1a;860. 柠檬水找零 - 力扣&#xff08;LeetCode&#xff09; 收的钱只能是5、10、20美元&#xff0c;分类讨论&#xff1a;收5美元无需找零&#xff1b;收10美元找零5元&#xff1b;收20美元找零15美元。其中对于找零15美元的方案有两种&#xff0c;此处涉及…