shp2pgsql 导入.shp文件

时间:2024-05-20 10:28:50

1.工具shp2pgsql.exe

    安装PostGIS时,会在其安装目录下生成shp2pgsql.exe。

    shp2pgsql 导入.shp文件

2.数据库增加空间扩展功能

    如果数据库没有空间扩展功能,则.shp文件导入会失败。

create extension postgis;
create extension postgis_topology;
create extension fuzzystrmatch;
create extension postgis_tiger_geocoder;

3.导入命令

shp2pgsql -s 3857 -a -W GBK 文件名.shp 命名空间名.表名 | psql -h localhost -U postgres -d 数据库名-p 5432

    其中,命令中的参数含义如下:

参数 含义
-s 空间参考标识符(SRID)

-d

-a 

-c

-p

重新建立表,并插入数据

在同一个表中增加数据

 建立新表,并插入数据(缺省)

只创建表

-g 指定要创建的表的空间字段名称(在追加数据时有用)
-D  使用dump方式,比缺省生成sql的速度快
-G  使用类型geography
-k 保持标识符(列名,模式,属性)大小写。
-i  将所有整型都转为标准的32-bit整数
-I  在几何列上建立GIST索引
-S 生成简单几何,而非MULTI几何
-t 指定几何的维度
-w 指定输出格式为WKT
-W 输入的dbf文件编码方式
-N 指定几何为空时的操作
-n 只导入dbf文件
-T 指定表的表空间
-X 指定索引的表空间
-? 帮助

4.导入实例

shp2pgsql -s 26918 -d -W GBK nyc_homicides.shp  | C:\"Program Files"\PostgreSQL\10\bin\psql -h localhost -U postgres -d Testpg -p 5433

   其中,命令中的参数含义如下:

参数 含义
-s 26918  空间参考标识符(SRID)为26918
-d  重新建立表,并插入数据
-W GBK 编码方式GBK
nyc_homicides.shp 待导入的文件名

   执行命令时,需要输入数据库密码。

5.QGIS中查看数据

shp2pgsql 导入.shp文件