PostgreSQL15 + PostGis + QGIS安装教程

news2024/11/27 22:29:52

目录

  • 下载
  • 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.coloradmin.cn/o/1590427.html

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

相关文章

Redis从入门到精通(十五)Redis分布式缓存(三)Redis分片集群的搭建和原理分析

文章目录 前言5.4 分片集群5.4.1 搭建分片集群5.4.2 散列插槽5.4.3 集群伸缩5.4.3.1 需求分析5.4.3.2 创建新的Redis实例5.4.3.3 添加新节点到Redis集群5.4.3.4 转移插槽 5.4.4 故障转移5.4.4.1 自动故障转移5.4.4.2 手动故障转移 5.4.5 RedisTemplate 5.5 小结 前言 Redis分布…

【单片机毕业设计8-基于stm32c8t6的RFID校园门禁系统】

【单片机毕业设计8-基于stm32c8t6的RFID校园门禁系统】 前言一、功能介绍二、硬件部分三、软件部分总结 前言 🔥这里是小殷学长,单片机毕业设计篇8基于stm32的RFID校园门禁系统 🧿创作不易,拒绝白嫖可私 一、功能介绍 -----------…

[Python图像识别] 五十二.水书图像识别 (2)基于机器学习的濒危水书古文字识别研究

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。目前我进入第二阶段Python图像识别,该部分主要以目标检测、图像…

亚远景科技-ASPICE 4.0-HWE硬件过程的范围 The Technical Scope of HW process

ASPICE 4.0中的HWE process是电气和电子硬件的技术范畴,涵盖了硬件工程中的需求分析、设计和验证活动,但不包括以下活动: 1. 系统级工程过程。既不包括机电一体MECHATRONIC,也不包括ECU特定电子控制单元的开发。 2. 硬件采购过程…

Redis 与 MySQL 数据一致性问题

1. 什么是数据库与缓存一致性 数据一致性指的是: 缓存中存有数据,缓存的数据值 数据库中的值;缓存中没有该数据,数据库中的值 最新值。 反推缓存与数据库不一致: 缓存的数据值 ≠ 数据库中的值;缓存或…

什么是One-Class SVM

1. 简介 单类支持向量机,简称One-Class SVM(One-Class Support Vector Machine),是一种用于异常检测的监督学习算法。其主要目标是找出数据集中的异常或罕见样本,而不需要大量的正常样本用于训练。这使其在处理高维数据和非常稀疏的异常检测问…

AutoCAD之DWF三维信息提取---linux编译篇

1. 权限 1.1 给文件添加执行权限 chmod x autogen.sh1.2.给当前文件下的所有文件改变为读写执行权限 chmod 777 * -R 2.环境安装 2.1安装automake 1.4.1 安装链接 安装中遇到的问题及解决 2.2安装autoconf 2.3 安装libtool 2.4 安装Cmake(CMake包含) cmake安装在cent…

GMSSL-通信

死磕GMSSL通信-C/C++系列(一) 最近再做国密通信的项目开发,以为国密也就简单的集成一个库就可以完事了,没想到能有这么多坑。遂写下文章,避免重复踩坑。以下国密通信的坑有以下场景 1、使用GMSSL guanzhi/GmSSL进行通信 2、使用加密套件SM2-WITH-SMS4-SM3 使用心得 ​…

影响小程序SSL证书收费标准的因素有哪些?

在当今互联网时代,移动应用发展日新月异,小程序逐渐成为广大企业和个人开发者的心仪之选。然而,伴随小程序的广泛应用,安全问题和用户信任显得尤为关键。为了确保小程序的信息传输安全,SSL证书成为了一项基础配置。那么…

【C++题解】1028 - 输入一个三位数,把个位和百位对调后输出

问题:1028 - 输入一个三位数,把个位和百位对调后输出 类型:基础问题 题目描述: 输入一个三位自然数,然后把这个数的百位数与个位数对调,输出对调后的数。 输入: 输入一行,只有一…

独一无二:探索单例模式在现代编程中的奥秘与实践

设计模式在软件开发中扮演着至关重要的角色,它们是解决特定问题的经典方法。在众多设计模式中,单例模式因其独特的应用场景和简洁的实现而广受欢迎。本文将从多个角度详细介绍单例模式,帮助你理解它的定义、实现、应用以及潜在的限制。 1. 什…

C++格式化输出开源库fmt入手教程

fmt项目快速上手指南 1. cmake环境配置 include(FetchContent) FetchContent_Declare(fmtGIT_REPOSITORY https://github.com/fmtlib/fmtGIT_TAG 10.0.0GIT_SHALLOW TRUE) # 1. 下载fmt库 FetchContent_MakeAvailable(fmt)add_executable(fmt_guide main.cpp) # 2. 链接fmt库…

Java 自定義 List<T> 分頁工具

Java 自定義 List 分頁工具 PS: T可修改为对应的实体 rt com.google.common.collect.Lists;import java.util.Arrays; import java.util.Collections; import java.util.List;/*** ClassName: MyPageHelper* Descripution: List<T>分頁工具**/ public class MyPageHelp…

自动化测试(selenium篇)

这次我们来介绍selenium 我们主要来讲解这几个要点 1.什么是自动化测试 2.什么是selenium 3.为什么来讲selenium 4.selenium的环境搭建 5.selenium的 API 1.什么是自动化测试 自动化测试指软件测试的自动化&#xff0c;在预设状态下运行应用程序或者系统&#xff0c;预设条…

Android Studio 使用Flutter开发第一个Web页面(进行中)

附上Flutter官方文档 1、新建Flutter项目&#xff08;需要勾选web选项&#xff09; 新建项目构成为&#xff1a; 2、配置 Flutter 使用 path 策略 官方文档 在main.dart中&#xff0c;需要导入flutter_web_plugins/url_strategy.dart包&#xff0c;并在main(){}函数中usePath…

水经微图IOS版5.2.0发布

随时随地&#xff0c;微图一下&#xff01; 水经微图&#xff08;简称“微图”&#xff09;IOS新版已上线。 在该版本中主要新增图层树节点排序功能、常规&#xff08;矩形、圆、椭圆、扇形&#xff09;绘制功能、地形夸张等主要功能。 当前版本 当前版本号为&#xff1a;5…

html-蜘蛛

<!doctype html> <html> <head> <meta charset"utf-8"> <title>彩虹蜘蛛-jq22.com</title> <script src"http://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style> </style> </he…

Day:007(2) | Python爬虫:高效数据抓取的编程技术(scrapy框架使用)

Scrapy 数据的提取 Scrapy有自己的数据提取机制。它们被称为选择器。我们可以通过使用的选择器re、xpath、css提取数据 提示 不用再安装与引入Xpath,BS4 获得选择器 Response对象获取 正常使用 response.selector.xpath(//span/text()).get() response.selector.css(span::…

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

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

处理json文件,并将数据汇总至Excel表格

从scores.jason文件中读取学生信息,输出学生的学号&#xff0c;姓名&#xff0c;各科成绩&#xff0c;平均分, 各科标准差 效果&#xff1a; # # 从scores.jason文件中读取学生信息,输出学生的学号&#xff0c;姓名&#xff0c;各科成绩&#xff0c;平均分, 各科标准差 impor…