基于QGIS初探PostgreSQL的PostGIS插件,包括YUM和编译安装PostGIS

写在前面:本文介绍 QGIS,只是为了展示怎么使用 PostGIS,因作者本人追求的是 PostgreSQL,所以本文的重点还是 PostGIS 这个 PostgreSQL 的插件,QGIS软件只做简单介绍,留给地理空间开发工程师研究吧。在学这篇文章之前,我也只是小白,都是在网上边学边实验边记录的,写这篇文章花了我整整3天的时间,在PostGIS编译安装的时候走了不少弯路,文章如有错误或侵权的,望留言指出,立即改正。

除 QGIS 外,其他支持 PostGIS 的软件详见:https://trac.osgeo.org/postgis/wiki/UsersWikiToolsSupportPostgis

简介

QGIS (原称Quantum GIS)是一个方便使用的免费开源且跨平台的桌面GIS软件,可运行在 Windows、Linux、MacOS 和 BSD 上,并支持众多矢量、栅格、和数据库格式及功能。

QGIS的最大特点在于界面很友好,熟悉ArcGIS的人都能很快的掌握QGIS的操作,支持WMS并无缝集成PostGIS(对象-关系型数据库管理系统),几乎完全照搬了GRASS的分析功能,因此其分析功能也很强大。相比于商业GIS软件,QGIS的文件体积更小,需要的内存和处理能力也更小,因此它可以在旧的硬件上或CPU运算能力被限制的环境下运行,是一款轻量化的桌面GIS软件。

QGIS的官网:https://www.qgis.org/en/site/

438c981d58d624eb1ccdcad8d1c284db.png

PostGIS 也是免费开源的,PostGIS通过向PostgreSQL添加对空间数据类型、空间索引和空间函数的支持,将PostgreSQL数据库管理系统转换为空间数据库。

因为PostGIS是建立在PostgreSQL之上的,所以PostGIS自动继承了重要的"企业级"特性以及开放源代码的标准。

可以说PostGIS仅仅只是PostgreSQL的一个插件,但是它将PostgreSQL变成了一个强大的空间数据库!

关于 PostGIS 更多介绍以及为什么使用 PostGIS,参考这个文章或自行百度:https://zhuanlan.zhihu.com/p/62034688,本文部分介绍性文字也是截取此处。

  • PostGIS的官网:http://postgis.net/

  • PostGIS的WIKI:https://trac.osgeo.org/postgis/wiki

  • Developers PostGIS Wiki: https://trac.osgeo.org/postgis/wiki/DevWikiMain

QGIS 的简单操作

QGIS的官网下载独立安装版,Windows上安装比较简单,直接下一步就行,在QGIS软件安装完成后,再在QGIS中安装以下两个插件。

1.安装QGIS的坐标转换插件 GeoHey Toolbox

15d096356070287e8ad196a289e38c61.png
42bb7a46fec91084e0e8d42ecc7e160e.png

2.安装QGIS的底图插件Quick Map Services

9b3bbafe71b891ec94bae4bab4f3fab2.png

配置底图。

5222b6199b30af92c8d1c61ea48499a8.png

此时只有一个OSM的标准底图,可以在 Settings 中 Get 更多的底图。

427ecb8732ec88d449126159198e5130.png

更多的底图也是有的能用,有的只能在国外网才能用。

fd5e4434030accd5031959d3423978ec.png

本示例选用了 ESRI 的 ESRI Gray (dark) 作为底图。

bd0ab9578013398f4bfd91c92f2d7b58.png

3.下载全国路网数据

可通过OSM Geofabrik项目下载中国水系、道路路网、建筑物、湖泊河网数据,数据坐标系为WGS84,下载地址:http://download.geofabrik.de/asia/china-latest-free.shp.zip 。

gis_osm_roads_free_1.shp :# 全国公路路网数据
gis_osm_railways_free_1.shp:# 全国铁路网数据
gis_osm_waterways_free_1.shp:# 全国河流网数据
gis_osm_water_a_free_1.shp:# 全国湖泊数据

4.QGIS上展示全国路网数据

将想要展示的shp文件拖到 QGIS 中就能展示,如下展示全国铁路网数据。

f97f6cab23febf8ed05a4ff3d088767a.png
d622301263fbaec0ab292012ddb6ac6e.png

使用PostGIS来存储 Shapefiles 文件的数据

自 GIS 软件被首次编写以来,Shapefile(和其他文件格式)一直是空间数据的存储和交互的标准方式。

598eb9fcdfebbf5387bce3b792816e80.png

但是,这些平面文件还存在以下缺点:

  • 文件需要特殊的应用程序才能读写 —— SQL是对随机数据访问和分析的抽象。如果没有这种抽象,你将需要自己编写所有的访问和分析数据的代码

  • 并发操作可能导致损坏数据 —— 虽然可以编写额外的代码以确保对同一文件的多次写入不会损坏数据,但当你解决了问题并同时解决了相关性能问题时,你已经编写了数据库系统的较多部分。那为什么不直接使用标准数据库呢?

  • 复杂的问题需要复杂的应用程序来回答 —— 复杂而有趣的空间分析问题(空间连接、聚合等)可以在数据库中使用一行SQL代码来表达,但是在对文件进行编程时,需要数百行专门的代码来解决。

  • 大多数 PostGIS 用户都在建立多个应用程序访问数据的系统,因此,使用标准的SQL访问方法可以简化部署和开发。

  • 有些用户正在处理大型数据集,如果使用文件存储,它们可能被分成多个文件;但在数据库中,它们可以存储在单个大的二维表中。

总之,对多个用户的支持,复杂的即时查询和对于大型数据集的高性能表现,是空间数据库比文件系统的优越之处。

1.Windows平台下载安装 PostGIS 插件

相对 Linux 平台,对于 Windows 平台的 EDB,安装 PostGIS 插件还是比较简单的,安装数据库软件完成后可以在 Stack Buider 中直接安装 PostGIS。

6cf33547aef54d2d66e2207d3cd7cd8a.png
abe3045165b8b6e7af6afa294a09320a.png
2e2bc9ac88deb0ce2dac6e8f1cb4ce42.png
34a4625c8c159a914bbb61b6d6b6133e.png

下载速度不是很快!!下载完成后直接安装。

1cfcd6d442752c3ad058dcb3f2674c07.png
6896cc5e6db5d525243c519f636a7854.png
f59c2ddadb0692ebe92fdb3b12f81f4e.png

出现对话框都点“是”,直到安装完成。

出现个小插曲,我的数据库用户密码输入错误了,可以先完成 PostGIS 插件的安装,安装完成后执行它的建库脚本就行了。

15508679e9fb7d291a7e4939b973697a.png<

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要在QGIS中连接PostgreSQL数据库,需要按照以下步骤操作: 1. 打开QGIS软件,点击“浏览器”按钮,展开“数据库”选项。 2. 右键点击“PostgreSQL”选项,选择“新建连接”。 3. 在“新建PostgreSQL连接”对话框中,输入数据库连接信息,包括主机名、端口号、数据库名称、用户名和密码等。 4. 点击“测试连接”按钮,确认连接信息无误后,点击“确定”按钮保存连接信息。 5. 在“浏览器”中展开“PostgreSQL”选项,可以看到已经连接的数据库,可以浏览、查询和编辑数据。 需要注意的是,在连接PostgreSQL数据库之前,需要确保已经安装PostgreSQL数据库,并且已经创建了需要连接的数据库。同时,需要确保QGIS软件和PostgreSQL数据库在同一台计算机上,或者在网络上能够相互访问。 ### 回答2: QGIS是一种免费、开源的地理信息系统软件,可以用于制作、编辑、可视化和分析地理数据。同时,QGIS也支持连接PostgreSQL数据库,可以在QGIS中直接访问和管理PostgreSQL数据库中的空间数据。 连接PostgreSQL数据库需要先安装QGISPostgreSQL,确保它们可以正常运行。接下来,可以按照以下步骤来连接PostgreSQL数据库: 1. 打开QGIS,点击“浏览器”面板中的“数据库”图标。 2. 在打开的“浏览数据库”窗口中,选择“PostgreSQL数据库类型。 3. 在“新的PostgreSQL连接”对话框中,填写连接参数,包括主机名、端口号、数据库名称、用户名和密码等信息。确保这些信息都输入正确,然后点击“测试连接”按钮测试连接是否成功。 4. 如果连接成功,会弹出一个消息框提示连接成功,可以点击“确定”按钮关闭对话框。此时,在浏览器面板中就可以看到已经连接上的PostgreSQL数据库。 5. 双击连接上的PostgreSQL数据库,可以查看其中包含的表和视图等对象。另外还可以通过右键菜单,在QGIS中添加PostgreSQL数据图层,或者执行SQL查询等操作。 需要注意的是,在连接PostgreSQL数据库之前,需要确保数据库已经设置好了PostGIS扩展,这样才能支持空间数据的存储和操作。同时,还需要掌握一定的SQL语言知识,在QGIS中可以通过执行SQL查询来操作数据库中的数据。最后,需要注意数据库QGIS之间的数据传输速度,过大的数据量可能会导致连接和操作缓慢,建议在使用中适当压缩数据或进行分批处理。 ### 回答3: 在使用QGIS进行GIS数据处理任务时,连接和管理各种类型的数据源是必要的,其中PostgreSQL数据库也是一种常见的数据源。通过连接PostgreSQL数据库,可以方便地在QGIS中加载、编辑和分析数据库中存储的GIS数据。下面是在QGIS中连接PostgreSQL数据库的简要步骤: 1. 安装PostgreSQL数据库PostGIS扩展PostGIS是一个在PostgreSQL关系数据库管理系统中存储GIS数据的扩展,通过它可以在数据库中创建空间数据表,存储面、线、点和多点等空间要素类型的数据。安装PostgreSQL数据库PostGIS扩展需要一定的数据库知识,可参考相关的安装教程。 2. 新建数据库:在PostgreSQL数据库中新建一个数据库。可以使用pgAdmin等管理工具实现。在创建数据库时,需要设置用户名、密码和端口等参数。 3. 创建PostGIS扩展:在新建的数据库中创建PostGIS扩展。可以使用以下SQL命令: CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology; 4. 启动QGIS并打开“数据库管理器”面板:在QGIS中,打开“数据库管理器”面板,可以看到当前连接的数据库列表。 5. 新建连接:在“数据库管理器”面板中,单击“新建连接”按钮,输入数据库连接信息,如连接名称、主机、端口、比分大小写规则等。确定后,连接将出现在面板列表中。 6. 连接数据库:在“数据库管理器”面板中双击数据库连接名称,输入用户名和密码,单击确定连接数据库。 7. 加载数据库中的GIS数据:在“数据库管理器”面板中展开连接,选择具体的空间数据表,右键单击菜单中的“添加为图层”选项,来加载数据库中的GIS数据。 在连接PostgreSQL数据库之后,就可以方便地对数据库中的GIS数据进行读取、编辑和分析等操作。QGIS作为一款功能强大的开源GIS软件,为用户提供了广泛的数据处理和分析功能,可以帮助用户轻松管理和使用PostgreSQL数据库中的GIS数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值