当前位置:   article > 正文

PostGIS的安装与初步使用_postgis教程

postgis教程

转自原文:https://blog.csdn.net/qq_35732147/article/details/81169961


一、安装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。

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

二、创建空间数据库

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

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

    2.登录到服务器

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

    3.创建空间数据库

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

三、导入空间数据

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

    数据地址:https://pan.baidu.com/s/1WX3uzeIoYY0i7lsE6F6FyA

    本实践使用的数据位于下载文件的"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。

    3.导入空间数据

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

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

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

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

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


    4.查看导入的空间数据

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

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

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

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/659791
推荐阅读
相关标签
  

闽ICP备14008679号