一. 需要生成SQL文件
第一步 🐾 找到shp2pgsql.exe
首先,你需要一台安装好了PostgreSQL数据库的电脑(没安的话安装过程自行百度哈...)
然后找到shp2pgsql.exe,一般在PostgreSQL下面的bin目录,也就是这个位置:
image.png
第二步 🐾 Shp转sql
找到文件后,在该目录下的地址栏输入cmd
image.png在命令行中输入转化语句,示例:
shp2pgsql -s 3857 -c -W "UTF-8" D:\Files\test\shp\work.shp>D:\Files\test\shp\worl.sql
参数说明:
-s 3857
- 指定的SRID为3857
- 如需3857详情可参考:https://www.cnblogs.com/E7868A/p/11460865.html
-c
- 表示将新建一个表
也可以用别的: - -a 如已有该表,则向该表中追加数据
- -p 仅创建表结构,不添加数据
-W "UTF-8"
- 矢量文件中属性的字符集,通常使用“UTF-8"
- 如果报错按照错误提示修改字符集即可
D:\Files\test\shp\work.shp
- 矢量文件全路径名
D:\Files\test\shp\worl.sql
- 生成的sql文件全路径
执行完毕后,瞅一眼生成的sql文件:
image.png
第三步 🐾 sql语句入库
方法一 使用pgadmin
1.打开 pgadmin
image.png2. 找到要建表的数据库,按下图操作:
image.png3.把生成的sql文件中的内容全部复制到 QueryEditor 框框里,然后点上面的执行▶
image.png4.刷新Table
image.png5.查看结果
image.png方法二 使用命令行
1.登录数据库
image.pngpsql -h 服务器ip地址 -p 端口号(一般为5432) -d 数据库名称 -U 用户名
2.导入sql
image.png\i sql文件全路径(注意如果该数据库安装在Linux系统请使用/)
查看结果方式如上方法一
二. 不需要SQL文件,直接入库
image.pngshp2pgsql -s 3857 -c -W "UTF-8" shp文件全路径 public.表名称 | psql -h 服务器ip -p pg数据库端口号 -U 用户名 -d 数据库名称 -W
搞定~撒花★,°:.☆( ̄▽ ̄)/$:.°★ 。
网友评论