把 shp 文件和 tif 文件导入到 PostgreSQL (Postgis) 中

工具准备

数据库准备

最重要的是要加载 postgispostgis_raster 两个插件到目标数据库中

postgres 角色进入 pqsl

$ sudo -u postgres psql

创建数据库,请把 test 换成你想要的数据库,后文不再提示

CREATE DATABASE test;

进入数据库,并加载 postgispostgis_raster 两个插件

\c test;
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_raster;

工具准备

需要安装 postgis 以获取 shp2pgsqlraster2pgsql 两个工具

$ sudo apt update
$ sudo apt install postgis

导入 shp 矢量文件

准备好相应的文件,并使用以下命令

$ shp2pgsql -s <SRID> -I <输入文件路径>.shp <表名> | sudo -u postgres psql -d <数据库名> -U <用户名>

表名不要求是现存的表,会自动创建表名的表

导入 tif 栅格文件

准备好相应的文件,并使用以下命令

$ raster2pgsql -s <SRID> -I -C -M -F <输入文件路径>.tif <表名> | sudo -u postgres psql -d <数据库名> -U <用户名>

表名的补充说明同 shp 中的

如果文件过大无法导入,则需要使用 -t <大小> 参数将其切割成指定大小的瓦片,如

$ raster2pgsql -s <SRID> -I -C -t 256x256 -M -F <输入文件路径>.tif <表名> | sudo -u postgres psql -d <数据库名> -U <用户名>
posted @ 2025-07-23 16:21  tsunchi-wong  阅读(199)  评论(0)    收藏  举报