目录
下载
PostgreSQL15安装:下载地址
PostGIS安装:下载地址(倒数第二个)
1、PostgreSQL安装
下载安装包之后一直点下一步就行,默认地址可以根据自己要求更改
1.1、环境变量配置
我的电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 新建
- 新建GDAL_DATA(名字随便取),将postgis的安装路径填入变量值
- 在Path中新增:%PG_HOME%\bin!在这里插入图片描述
- 在cmd中使用命令:psql --version 查看是否配置成功
- 配置完成后,在cmd中启动postgreSQL服务【重要】 pg_ctl -D D:\ProgramFile\postgresql\15\data start 其中-D后面的路径是postgresql的安装路径下的data文件夹 确保服务成功启动后,再安装postGIS
2、PostGIS安装
- 开始安装,使用默认安装,一直点next即可(安装进行到下面这个页面时,第二个选项可选可不选,功能是创建一个数据库模版)
- 安装完成后,打开Navicat,新建一个postgreSQL连接。账号:postgres 密码:postgis
- 连接成功后,可以看到之前安装时选择的模版
2.1、安装插件
CREATEEXTENSION postgis;
- 用途:为 PostgreSQL 提供地理空间对象支持,包括空间数据类型、函数和操作符。
- 描述:PostGIS 允许用户在 PostgreSQL 数据库中存储、查询和操纵地理空间数据。
CREATEEXTENSION postgis_raster;
- 用途:追踪执行的 SQL 语句的统计信息,帮助分析和优化查询性能。
- 描述:该扩展提供了一个视图,其中包含了关于执行时间、调用次数等的信息。
CREATEEXTENSION postgis_topology;
- 用途:处理拓扑关系的存储和查询。
- 描述:建立拓扑关系模型,支持拓扑操作(如邻域查询、边界查询等),提供了对几何对象之间拓扑关系的高效管理。
CREATEEXTENSION postgis_sfcgal;
- 用途:处理和分析复杂的曲面几何对象:postgis_sfcgal可以处理和分析曲面多边形、曲面线、曲面点等复杂的几何对象,提供了丰富的几何操作和分析功能。 进行高级空间计算:postgis_sfcgal基于SFCGAL库,提供了高级的几何计算功能,如几何对象之间的交集、并集、差集等操作。 支持曲面几何对象的拓扑关系分析:postgis_sfcgal可以进行曲面几何对象之间的拓扑关系判断,如判断是否相交、是否包含等。 计算曲面几何对象的缓冲区:postgis_sfcgal可以计算曲面几何对象的缓冲区,生成具有指定缓冲区半径的几何对象。 进行曲面几何对象的仿射变换:postgis_sfcgal支持对曲面几何对象进行仿射变换,如平移、旋转、缩放等操作。
- 描述:postgis_sfcgal是一个基于SFCGAL库的扩展模块,SFCGAL是一个开源的库,提供了对2D和3D曲面几何对象进行高级计算和分析的功能。通过postgis_sfcgal,可以在PostgreSQL中使用SFCGAL库提供的各种功能,实现复杂曲面几何对象的处理和分析
CREATEEXTENSION fuzzystrmatch;
- 用途:模糊字符串匹配。
- 描述:提供模糊字符串匹配函数,用于执行模糊搜索、模式匹配和相似度计算。
CREATEEXTENSION address_standardizer;
用途:地址标准化。
描述:提供地址标准化功能,将输入的地址进行格式化和规范化,使其符合特定的地址结构。
CREATEEXTENSION address_standardizer_data_us;
用途:美国地址标准化所需的数据。
描述:为Address Standardizer提供美国地址标准化所需的数据集,包括街道、城市、州等信息。
CREATEEXTENSION 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、安装
- 使用默认安装;
- 安装完成后,在左侧找到postgreSQL,右键创建一个新的数据库连接,连接已有的postGIS数据库;
- 连接成功后,可以将数据拖动到右侧显示框查看
3.2、测试
-- 三维点数据
CREATETABLE points (
id SERIALPRIMARYKEY,
name TEXT,
location geometry(PointZ,4326));INSERTINTO points (name, location)VALUES('point1',ST_GeomFromText('POINTZ(001)',4326));INSERTINTO points (name, location)VALUES('point2',ST_GeomFromText('POINTZ(112)',4326));-- 三维线数据
CREATETABLE lines (
id SERIALPRIMARYKEY,
name TEXT,
geom geometry(MultiLineStringZ,4326));INSERTINTO lines (name, geom)VALUES('line1',ST_GeomFromText('MULTILINESTRINGZ((000,010,110),(221,332))',4326));INSERTINTO lines (name, geom)VALUES('line2',ST_GeomFromText('MULTILINESTRINGZ((000,011,111))',4326));-- 三维面数据
CREATETABLE polygons (
id SERIALPRIMARYKEY,
name TEXT,
geom geometry(PolygonZ,4326));INSERTINTO polygons (name, geom)VALUES('polygon1',ST_GeomFromText('POLYGONZ((000,010,110,000))',4326));INSERTINTO polygons (name, geom)VALUES('polygon2',ST_GeomFromText('POLYGONZ((000,011,111,000))',4326));
版权归原作者 liaozk_c 所有, 如有侵权,请联系我们删除。