Postgresql导入矢量数据

前期准备

工具:PgAdmin,postgis-bundle

Postgres安装和postgis安装可以百度别的教程。

 创建数据库添加扩展

如图,使用PgAdmin创建名为shp的数据库,并在扩展item中添加postgis扩展。

添加扩展方法可以用查询工具输入以下sql语句:

CREATE EXTENSION postgis;

或者在扩展item右键 ->创建->扩展,然后在弹出界面选择postgis,如图:

导入数据

打开postgis-bundle工具(全称应该是PostGIS PostGIS Bundle 1 for PostgreSQL x64 15 Shapefile and DBF Loader Exporter类似的名称)

点击上面的View connection details,指定连接参数。

 连接成功后会有Connection succeeded相关提示,如下:

点击Add File,选择需要上传的shp文件,然后主要修改SRID(即EPSG,常用有4326和3857)

如果是Arcgis导出的数据,并且属性字段表没有乱码的情况下,直接点击Import应该没有什么问题,如果有乱码可能需要设置编码。

设置编码

点击Options

修改UTF-8为你的字段编码。

数据导入异常处理

如果按照前面的流程还是导入失败可以使用QGIS重新导出一份UTF-8编码的数据,再次导入即可。

用QGIS打开shp文件,先打开属性表检查是否乱码。

如果出现乱码则在图层上右键属性->源->数据源编码,如图:

选择正确的编码,一般常用的编码为GB2323,GBK,GB18030,UTF-8等都试一下,再次检查属性表,如果不乱码则编码设置正确。如下:

然后图层右键导出->要素另存为,在弹出的界面格式选择ESRI Shapefile文件,然后设置文件名称,编码就默认UTF-8即可。如下:

不放心可以再用ArcMap打开导出的shp文件,然后检查属性表看看是否有乱码(ArcMap使用UTF-8编码),然后再用postgis-bundle工具导入,Options编码设置为UTF-8,导入成功会有Shapefile import completed字样,如下:

路径和文件名不能有中文,不然可能出现不能读取*.dbf的错误,如果出现导入失败Shapefile type:Point类似字样,应该是数据库没有添加postgis扩展。

 导入成功后可以再PgAdmin中进行查看,如下:

在有魔法的情况可以点击geom列左侧的图标在osm底图下预览,如下:

 

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值