当前位置: 首页 > news >正文

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底图下预览,如下:

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • LVS详细配置
  • javacpp使用入门
  • Python爬虫(8)
  • MySQL --- 用户管理
  • C语言 | Leetcode C语言题解之第327题区间和的个数
  • vscode插件中的图标怎么设置
  • 理解Go语言中多种并发模式
  • 2024年6月 青少年机器人技术等级考试理论综合试卷(二级)
  • 文件共享服务NFS(服务名nfs,端口tcp/2049)
  • Codeforces 874 div3 A-G
  • pytorch setattr vs. add_module区别
  • 【日常记录-MySQL】MySQL设置root用户密码
  • 英语文化中的音乐分类及其发展历史(Classical、Jazz、Rock、Pop、Electronic、Country、RB、Hip-Hop)
  • 虚拟dom-Diff算法
  • 通过docker-compose 部署misskey 服务器
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • Centos6.8 使用rpm安装mysql5.7
  • golang中接口赋值与方法集
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Joomla 2.x, 3.x useful code cheatsheet
  • js操作时间(持续更新)
  • MobX
  • nginx 负载服务器优化
  • NSTimer学习笔记
  • PHP 小技巧
  • SQLServer插入数据
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 思考 CSS 架构
  • 用jQuery怎么做到前后端分离
  • 正则学习笔记
  • NLPIR智能语义技术让大数据挖掘更简单
  • 阿里云ACE认证学习知识点梳理
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • (23)Linux的软硬连接
  • (3)nginx 配置(nginx.conf)
  • (void) (_x == _y)的作用
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (二)测试工具
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)ObjectiveC 深浅拷贝学习
  • (转)Unity3DUnity3D在android下调试
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .ai域名是什么后缀?
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .Net Web窗口页属性
  • .net 微服务 服务保护 自动重试 Polly
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .net开发引用程序集提示没有强名称的解决办法
  • .NET文档生成工具ADB使用图文教程
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [Android]常见的数据传递方式
  • [Android]使用Android打包Unity工程
  • [Android]竖直滑动选择器WheelView的实现