【PostGIS】PostgreSQL15+对应PostGIS安装教程及空间数据可视化

本文详细介绍了如何在Windows上安装PostgreSQL15和PostGIS,包括环境配置、服务启动以及创建空间数据表。同时提供了使用QGIS进行空间数据可视化的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、PostgreSQL15与对应PostGIS安装

  1. PostgreSQL15安装:下载地址
  2. PostGIS安装:下载地址(选择倒数第二个)

1、PostgreSQL安装

  1. 下载安装包;
  2. 开始安装,这里使用默认安装,一直next直到安装完成;
  3. 在系统环境变量中,添加PG_HOME变量:
    在这里插入图片描述
  4. 在Path中新增:%PG_HOME%\bin\
  5. 在cmd中使用命令:psql --version 查看是否配置成功;
    在这里插入图片描述
  6. 配置完成后,在cmd中启动postgreSQL服务【重要】:
    pg_ctl -D D:\ProgramFile\postgresql\15\data start 其中-D后面的路径是postgresql的安装路径下的data文件夹;
    在这里插入图片描述
  7. 确保服务成功启动后,安装postGIS。

2、PostGIS安装

  1. 下载安装包;
  2. 开始安装,使用默认安装,一直点next即可(安装进行到下面这个页面时,第二个选项可选可不选,功能是创建一个数据库模版);
    在这里插入图片描述
  3. 安装完成后,打开Navicat,新建一个postgreSQL连接:
    在这里插入图片描述
  4. 连接成功后,可以看到之前安装时选择的模版:
    在这里插入图片描述
  5. 如果安装时没有选择模版,也可以手动在查询语句中添加扩展和空间函数支持:
-- Enable PostGIS (as of 3.0 contains just geometry/geography)
CREATE EXTENSION postgis;
-- enable raster support (for 3+)
CREATE EXTENSION postgis_raster;
-- Enable Topology
CREATE EXTENSION postgis_topology;
-- Enable PostGIS Advanced 3D
-- and other geoprocessing algorithms
-- sfcgal not available with all distributions
CREATE EXTENSION postgis_sfcgal;
-- fuzzy matching needed for Tiger
CREATE EXTENSION fuzzystrmatch;
-- rule based standardizer
CREATE EXTENSION address_standardizer;
-- example rule data set
CREATE EXTENSION address_standardizer_data_us;
-- Enable US Tiger Geocoder
CREATE EXTENSION postgis_tiger_geocoder;
  1. 【注意】要使用postGIS扩展必须保证postgreSQL服务启动,即postgreSQL安装中的第六步,添加了postGIS扩展后,就可以开始使用了:常见的空间函数见这篇文章

二、空间数据可视化

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

  1. 使用默认安装;
  2. 安装完成后,在左侧找到postgreSQL,右键创建一个新的数据库连接,连接已有的postGIS数据库;
    在这里插入图片描述
  3. 连接成功后,可以将数据拖动到右侧显示框查看:
    在这里插入图片描述
    提供一下这里的数据表:
-- 三维点数据
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));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值