目录

  • 1、前言
  • 2、创建空间数据库
  • 3、导入Shapefile矢量数据
  • 3.1、从文件夹中导入
  • 3.2、从SQL表中导入


1、前言

注意:不建议将栅格数据导入到空间数据库中。因为相对于矢量数据,栅格数据没有直接导入的工具,而是需要通过命令行进行控制。

PostgreSQL版本:12.5
PostGIS版本:3.1.0
数据管理器:pgAdmin4


2、创建空间数据库

2.1、打开pgAdmin4数据管理器;

psql导入指定schema psql导入数据_sql


psql导入指定schema psql导入数据_psql导入指定schema_02


2.2、新建一个数据库,在Databases上右键Create --> Database,填写数据库名称;

psql导入指定schema psql导入数据_psql导入指定schema_03


2.3、在新建的数据库db_test上打开Query Tool;

psql导入指定schema psql导入数据_空间数据库_04


2.4、添加postgis插件。在SQL编辑面板上输入CREATE EXTENSION postgis;,点击上方的三角运行SQL语句。当在右侧的Extensions出现postgis与plpgsql时说明添加插件成功,也说明基础的空间数据库创建成功了,下面开始插入数据表;

psql导入指定schema psql导入数据_SQL_05


psql导入指定schema psql导入数据_数据库_06


相关插件:

//postgis相关插件介绍官网
//http://postgis.net/docs/postgis_installation.html#make_install_postgis_extensions
//添加空间数据库的相关插件
CREATE EXTENSION postgis;//用于创建空间数据库的插件,仅支持矢量数据扩展
CREATE EXTENSION address_standardizer;//使空间数据库支持地址标准化
CREATE EXTENSION ogr_fdw;//使空间数据库支持不同数据库之间的跨库操作
CREATE EXTENSION pgrouting;//使空间数据库支持网络分析
CREATE EXTENSION pointcloud;//使空间数据库支持点云数据存储
CREATE EXTENSION pointcloud_postgis;//使空间数据库支持点云数据操作
CREATE EXTENSION postgis_raster;//使空间数据库支持栅格数据扩展
CREATE EXTENSION postgis_sfcgal;//使空间数据库支持2D和3D的数据操作
CREATE EXTENSION fuzzystrmatch;//使空间数据库支持地理编码的模糊匹配
CREATE EXTENSION postgis_tiger_geocoder;//使空间数据库支持地理编码
CREATE EXTENSION postgis_topology;//使空间数据库支持拓扑检查
//移除相关插件
DROP EXTENSION 插件名称;
例:DROP EXTENSION postgis;
//更新插件
ALTER EXTENSION 插件名称 update to "版本号";
例:ALTER EXTENSION postgis update to "3.0.1";

3、导入Shapefile矢量数据

3.1、从文件夹中导入

3.1.1、打开PostGIS专门的Shapefile导入工具,连接指定的数据库;

psql导入指定schema psql导入数据_空间数据库_07


psql导入指定schema psql导入数据_psql导入指定schema_08


3.1.2、选择目标Shapefile文件,并导入到数据库中;

psql导入指定schema psql导入数据_数据库_09


3.1.3、检查数据是否添加到数据库中。PostgreSQL中的数据表存放在db_test–>Schemas–>public–>Table中。

psql导入指定schema psql导入数据_数据库_10

3.2、从SQL表中导入

3.2.1、打开SQL数据表;

psql导入指定schema psql导入数据_空间数据库_11


3.2.2、运行SQL语句;

psql导入指定schema psql导入数据_空间数据库_12


3.2.3、检查是否插入成功。

psql导入指定schema psql导入数据_psql导入指定schema_13