PostGIS的安装与入门使用指南


Posted in PostgreSQL onJanuary 18, 2022

想学习postgis推荐看我翻译的官方教程文档:https://blog.csdn.net/qq_35732147/article/details/85256640

一、安装PostGIS

在安装PostGIS前首先必须安装PostgreSQL,然后再安装好的Stack Builder中选择安装PostGIS组件。

1.下载安装程序

PostgreSQL安装文件下载地址是https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

这里使用的PostgreSQL版本是9.6。

2.安装PostgreSQL

双击下载的文件,所有设置都使用默认设置即可,只是需要设置超级用户postgres的密码。

3.安装PostGIS

安装PostgreSQL安装完成后,提示运行Stack Builder。通过该工具安装PostGIS。

Stack Builder运行后,选择安装目标软件为PostgreSQL 9.6 on port 5432。然后在安装程序选择对话框中选择PostGIS 2.3。

PostGIS的安装与入门使用指南

PostGIS的安装与入门使用指南

然后Stack Builder会下载PostGIS 2.3的安装程序。下载后就会安装,在设置安装组件时,最好选择"Create spatial database",以便在创建数据库时可以以此作为模板。对于其他步骤的设置都选择默认值即可。

二、创建空间数据库

要创建与管理PostGIS空间数据库,可使用PostgreSQL提供的命令行或名为pgAdmin的图形化管理工具,此外像QGIS等GIS客户端软件也提供了管理插件。这里介绍如何使用pgAdmin 4来完成创建空间数据库以及在数据库中导入空间数据。

1.打开pgAdmin 4

打开位于"开始>所有程序>PostgreSQL 9.6"之中的pgAdmin 4

PostGIS的安装与入门使用指南

2.登录到服务器

打开pgAdmin 4之后,发现该程序已经将本地安装的PostgreSQL数据库服务器列在了服务器列表中,将其选中然后选择右键菜单的”连接“命令,以超级用户postgres及安装过程为该用户设置的密码连接数据库服务器。连接以后,将列出该服务器中包含的内容,如下图所示,包含数据库、表空间和组角色等。

PostGIS的安装与入门使用指南

3.创建空间数据库

选中数据库服务器内容中的数据库,然后选择其右键菜单中的”新建数据库“命令,打开”新建数据库“对话框。首先在”属性“面板中设置数据库名称,因为本书将使用加拿大温哥华市的数据,因此将数据库名称设置为"Vancouver";并将所有者设置为”postgres"。然后切换到“定义”面板中,将模板设置为"postgis_21_sample"。设置如下图所示:

PostGIS的安装与入门使用指南

PostGIS的安装与入门使用指南

三、导入空间数据

经过前面的步骤,已经建好了功能完善的但还没有空间数据的空间数据库,接下来的工作是将空间数据导入到刚建立的数据库中。而最简单的方式是导入Shapefile格式的空间数据。PostGIS提供了"PostGIS Shape Import/Export Manager"图形化界面工具来帮助完成Shapefile空间数据的导入与导出。

1.获取数据

本实践使用的数据位于下载文件的"Data\Vancouver"文件夹中,名为Vancouver.shp。

2.确定空间数据的投影系统

在使用PostGIS Shapefile Import/Export Manger工具导入空间数据时,需要明确设置空间数据的SRID,即空间引用标识符。

要确定空间数据的SRID,有好几种方式。一种是利用QGIS来确定,另一种是利用pgAdmin来确定。

在"Data\Vancouver"文件夹中有一个名为Vancouver.prj的文本文件。.prj文件指定了数据的投影。用文本文件工具打开该文件,可见如下一些文本:

PROJCS["NAD_1983_UTM_Zone_10N",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-123],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["Meter",1]]

在pgAdmin 4中,打开查询工具,在SQL编辑器中输入如下SQL语句:

select srid, srtext, proj4text from spatial_ref_sys where srtext ILIKE '%NAD83 / UTM zone 10N%'

查询结果如下图所示,得知该空间数据的SRID为26910。

PostGIS的安装与入门使用指南

3.导入空间数据

打开位于“开始>所有程序>PostGIS 2.3 bundle for PostgreSQL”之中的PostGIS Shapefile Import/Export Manager。

首先单击"View connection details"按钮,打开"PostGIS connection"对话框,输入用户名"postgres"及其对应的密码,设置连接的数据库为Vancouver,如下图所示:

PostGIS的安装与入门使用指南

连接数据库之后,单击"Add file"按钮,加入Vancouver.shp文件,并将其SRID设置为"26910",如下图所示。这一步绝对不能省略,否则不能正确导入数据。

PostGIS的安装与入门使用指南

最后单击"Import"按钮导入数据。

可以在pgAdmin 4中通过查看Vancouver数据库在"架构“的public数据表中是否增加了Vancouver来判断数据是否成功导入。

4.查看导入的空间数据

PostGIS并没有提供工具以地图的方式查看空间数据,不过我们可以使用QGIS等客户端GIS来查看。

打开QGIS,在窗口左边的”浏览器“中选择PostGIS,然后选择其右键菜单中的"新建连接”命令,打开“创建一个新的PostGIS连接”对话框,按下图设置参数,最后单击“确定”按钮连接数据库。

PostGIS的安装与入门使用指南

建立连接以后,便可以在“浏览器”中列出数据库服务器中所有的空间图层,如下图所示,选中某图层,将其拖入图层控制器中便可在地图中打开该空间数据。

PostGIS的安装与入门使用指南

到此这篇关于PostGIS的安装与入门使用指南的文章就介绍到这了,更多相关PostGIS安装使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PostgreSQL 相关文章推荐
PostgreSQL将数据加载到buffer cache中操作方法
Apr 16 PostgreSQL
Centos环境下Postgresql 安装配置及环境变量配置技巧
May 18 PostgreSQL
postgresql无序uuid性能测试及对数据库的影响
Jun 11 PostgreSQL
浅谈PostgreSQL表分区的三种方式
Jun 29 PostgreSQL
postgresql使用filter进行多维度聚合的解决方法
Jul 16 PostgreSQL
PostgreSQL解析URL的方法
Aug 02 PostgreSQL
PostgreSQL13基于流复制搭建后备服务器的方法
Jan 18 PostgreSQL
PostGIS的安装与入门使用指南
Jan 18 PostgreSQL
PostgreSQL事务回卷实战案例详析
Mar 25 PostgreSQL
PostgreSQL并行计算算法及参数强制并行度设置方法
Apr 06 PostgreSQL
PostgreSQL并行计算算法及参数强制并行度设置方法
Apr 07 PostgreSQL
PostgreSQL怎么创建分区表详解
Jun 25 PostgreSQL
PostgreSQL13基于流复制搭建后备服务器的方法
基于PostgreSQL/openGauss 的分布式数据库解决方案
PostgreSQL自动更新时间戳实例代码
Nov 27 #PostgreSQL
关于PostgreSQL JSONB的匹配和交集问题
Sep 14 #PostgreSQL
postgresql 删除重复数据案例详解
Aug 02 #PostgreSQL
PostgreSQL解析URL的方法
Aug 02 #PostgreSQL
postgresql使用filter进行多维度聚合的解决方法
Jul 16 #PostgreSQL
You might like
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
php中的boolean(布尔)类型详解
2013/10/28 PHP
php最简单的删除目录与文件实现方法
2014/11/28 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
使用正则替换变量
2007/05/05 Javascript
javascript 验证日期的函数
2010/03/18 Javascript
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
禁用页面部分JavaScript方法的具体实现
2013/07/31 Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
2014/04/16 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
点击表单提交时出现jQuery没有权限的解决方法
2014/07/23 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
vue watch关于对象内的属性监听
2019/04/22 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
python中判断文件编码的chardet(实例讲解)
2017/12/21 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
python采集百度搜索结果带有特定URL的链接代码实例
2019/08/30 Python
学习Python爬虫的几点建议
2020/08/05 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
实习推荐信
2014/05/10 职场文书
数控机床专业自荐信
2014/05/19 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
感恩老师主题班会
2015/08/12 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书
评测 | 大屏显示带收音机的高端音箱,JBL TUNE2便携式插卡音箱实测
2021/04/24 无线电
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
Python自动化测试PO模型封装过程详解
2021/06/22 Python
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js