Linux 安装PostGIS 3.1全过程

安装postgis前先安装PostgreSQL,可参照之前博客的具体安装过程

Linux 安装 PostgreSQL详细过程

PostgreSQL 安装情况查看
切换postgres系统账号,输入psql,进行数据库用户postgres的密码修改

执行psql,默认进入postgres用户的postgres数据库
使用\du查看用户

 使用\l 查看用户的数据库列表(以下库为PostgreSQL默认装上,不建议删除)

 使用\c 查看路径

使用\d查看数据表,没有数据表显示为(没有找到任何关系)

配置PostgreSQL
之前博客已讲过一种配置方式,现在看下另一种配置方式

配置Linux防火墙端口
执行vi /usr/lib/firewalld/services/ssh.xml, 由于PostgreSQL服务默认是5432端口,所以添加5432端口。

 执行 systemctl restart firewalld 重启防火墙服务,使配置生效。

配置远程访问(之前有讲解过,不在赘述)
补充一下其他内容:

在修改pg_hba.conf文件
执行vi /var/lib/pgsql/13/data/pg_hba.conf,设置为允许192.168.11.0上的所有主机通过用户名验证的方式访问数据库

表示允许网段192.168.11.0
在192.168.11.0/24中,数字24是子网掩码,表示允许192.168.1.0--192.168.1.255的计算机访问
若192.168.0.0/16,数字16是一个网络,表示允许192.168.0.0--192.168.255.255的计算机访问
若192.168.0.0/32,则表示仅允许192.168.0.0单一主机的计算机访问
若0.0.0.0/0,表示允许任意IP访问数据库

重启postgresql服务
执行systemctl restart postgresql-13

安装PostGIS 
yum安装PostGIS扩展

PostGIS从2.0之后,要安装很多依赖组件,为了便于依赖组件的安装,先安装epel (Extra Packages for Enterprise Linux)
执行 yum install epel-release 

执行 yum list postgis*,查看可用的postgis的包,选择和postgresql-13对应的最新版postgis32_14.x86_64  

  执行 yum install postgis32_14.x86_64 ,安装postgis组件

执行以上步骤后完成postgis安装  

安装成功后可以利用命令查看安装信息

        rpm -qi postgis32_14

测试PostGIS扩展
1、切换到postgres用户
   su postgres

2、建立数据库

        建立名为 postgis_test,所属用户为postgres的数据库

        bash-4.2$ createdb postgis_test -O postgres   

3、连接数据库

        bash-4.2$ psql -d postgis_test

         

4、开启PostGIS扩展

        postgis_test=# create extension postgis 

         

5、验证PostGIS扩展

        postgis_test=# select postgis_version();

使用pgAdmin登录后验证PostGIS扩展

postgis_test=# select ST_SetSRID(ST_Point(-108,30.741),4326),ST_GeomFromText('POINT(-106.51 29.741)',4326);

# 新建数据库,安装 PostGIS 插件,每个新建的数据库,如果想用 PostGIS 插件,必须执行以下步骤创建 PostGIS 扩展
[root@proxy ~]# su - postgres
-bash-4.2$ createdb postgis
-bash-4.2$ psql
postgres=# CREATE EXTENSION postgis;
postgres=# CREATE EXTENSION postgis_raster;
postgres=# CREATE EXTENSION postgis_topology;
postgres=# CREATE EXTENSION address_standardizer;
postgres=# CREATE EXTENSION postgis_sfcgal;
postgres=# CREATE EXTENSION fuzzystrmatch;
postgres=# CREATE EXTENSION postgis_tiger_geocoder;
postgres=# CREATE EXTENSION address_standardizer_data_us;

或者使用pgadmin进行添加扩展

部分SQL语句创建及查询
 
--给PostGIS添加扩展及扩展解释
 
CREATE EXTENSION postgis; --postgis的基本核心功能,仅支持地理图形(矢量要素),在其他Extension前启用
 
CREATE EXTENSION postgis_raster; --对栅格数据的支持
 
CREATE EXTENSION postgis_topology; --拓扑功能的支持
 
CREATE EXTENSION postgis_sfcgal; --这个Extension主要是集成了CGAL(Computational Geometry Algorithms Library,计算几何算法库),来进行三维空间数据的空间运算,例如:ST_3DDifference、ST_3DUnion 等,可见是通常空间运算在三维空间上的拓展
 
CREATE EXTENSION address_standardizer_data_us;
CREATE EXTENSION address_standardizer;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder; --TIGER指的是(拓扑集成地理编码和参考),这个是美国人口普查局的GIS数据,提供了美国全国的行政区划、交通道路、水系等空间数据。这个Extension提供了TIGER数据的地理编码支持,需要注意的是这个Extension启用前,需要先启用fuzzystrmatch(字符串模糊查询)Extension,以及可选的address_standardizer(TIGER数据地址规则化)address_standardizer_data_us(地址规则化示例数据集)Extension
 
-- --二维空间数据创建
-- -- 创建含有单点的几何表
-- CREATE TABLE point (name varchar, geom geometry);
-- INSERT INTO point VALUES ('Point', 'POINT(0 0)');
 
-- -- 创建含有单线的几何表
-- CREATE TABLE line (name varchar, geom geometry);
-- INSERT INTO line VALUES ('road', 'LINESTRING(0 0, 1 1, 2 1, 2 2)');
 
-- -- 创建含有单面的几何表
-- CREATE TABLE polygon (name varchar, geom geometry);
-- INSERT INTO polygon VALUES ('boundary', 'POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))');
 
-- --三维空间数据创建
-- -- 创建含有三棱柱的表
-- CREATE TABLE triangularPyramid (name varchar, geom geometry); 
-- INSERT INTO triangularPyramid (name, geom) VALUES ('beam', ST_Extrude(ST_GeomFromText('POLYGON((0 0,1 3,2 0, 0 0))'),0,0,10));
 
-- -- 创建含有立方体的表
-- CREATE TABLE cubeBox (name varchar, geom geometry); 
-- INSERT INTO cubeBox (name, geom) VALUES ('box', ST_Extrude(ST_GeomFromText('POLYGON((0 0,2 0,2 2,0 2,0 0))'),0,0,2));
 
-- --查询预览
-- -- 查询含有三棱柱的表
-- SELECT name, ST_AsText(geom) AS ewkt FROM triangularPyramid;
-- -- 查询含有立方体的表
-- SELECT name, ST_AsText(geom) AS ewkt FROM cubeBox;
-- -- 查看三棱柱的X3D格式文本
-- SELECT ST_AsX3D(geom) AS x3d FROM triangularPyramid;
-- -- 查看立方体的X3D格式文本
-- SELECT ST_AsX3D(geom) AS x3d FROM cubeBox;

 \dx 查询显示以下数据

  简洁安装参考
————————————————
版权声明:本文为CSDN博主「向着太阳往前冲」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013869554/article/details/122556256

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值