一. 需要生成SQL文件
第一步 🐾 找到shp2pgsql.exe
首先,你需要一台安装好了PostgreSQL数据库的电脑(没安的话安装过程自行百度哈…)
然后找到shp2pgsql.exe,一般在PostgreSQL下面的bin目录,也就是这个位置:
或者建议直接全局搜索,windows自带的搜索工具太慢,顺便推荐下Everything(超级快,看我用Everything自己搜自己==):
附下载地址:
voidtoolshttps://www.voidtools.com/zh-cn/
第二步 🐾 Shp转sql
找到文件后,在该目录下的地址栏输入cmd
在命令行中输入转化语句,示例:
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.htmlhttps://www.cnblogs.com/E7868A/p/11460865.html
- -c
- 表示将新建一个表
- 也可以用别的:
- -a 如已有该表,则向该表中追加数据
- -p 仅创建表结构,不添加数据
- -W “UTF-8”
- 矢量文件中属性的字符集,通常使用“UTF-8″
- 如果报错按照错误提示修改字符集即可
- 矢量文件中属性的字符集,通常使用“UTF-8″
- D:\Files\test\shp\work.shp
- 矢量文件全路径名
- D:\Files\test\shp\worl.sql
- 生成的sql文件全路径
执行完毕后,瞅一眼生成的sql文件:
第三步 🐾 sql语句入库
方法一 使用pgadmin
1.打开 pgadmin
2. 找到要建表的数据库,按下图操作:
3.把生成的sql文件中的内容全部复制到 QueryEditor 框框里,然后点上面的执行▶
4.刷新Table
5.查看结果
方法二 使用命令行
1.登录数据库
psql -h 服务器ip地址 -p 端口号(一般为5432) -d 数据库名称 -U 用户名
2.导入sql
\i sql文件全路径(注意如果该数据库安装在Linux系统请使用/)
查看结果方式如上方法一
二. 不需要SQL文件,直接入库
shp2pgsql -s 3857 -c -W "UTF-8" shp文件全路径 public.表名称 | psql -h 服务器ip -p pg数据库端口号 -U 用户名 -d 数据库名称 -W
搞定~撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/135460.html