shp2pgsql向postgresql导入shape数据
1. 准备好Shape文件(不仅仅是.shp文悠扬,还要有其他相关数据文件,包括.shx、.prj、.dbf文件)。
2. 使用命令将Shape数据转换为*.sql文件
shp2pgsql -s 3857 -c -W "GBK" CLLX.shp>CLLX.sql
-s 代表指定数据的SRID为3857
-c 代表数据将新建一个表,这里可能的选项是 -d 删除旧的表,重新建表并插入数据; -a 向现有表中追加数据; -p 仅创建表结构,不添加数据,这四个参数是互斥的。
-W Shape文件中属性的字符集,通常Postgresql的字符集是UTF-8,有时候可能Shape数据中的字符集是其他,就可能报“Unable to convert data value to UTF-8 (iconv reports "无效或不完整的多字节字符或宽字符"). Current encoding is "UTF-8". Try "LATIN1" (Western European)”错误,这时候指定正确的字符集即可解决方问题。
3.建立空间数据库,并导入数据
3.1 登录postgres用户,建立空的数据库,指定数据的所有者是gisdb用户(或者你数据库内的任意现有用户)
CREATE DATABASE shp2pgsqldemo WITH OWNER=gisdb;
3.2 使用 \c shp2pgsqldemo; 切换到shp2pgsqldemo数据库,并安装PostGIS相关扩展(安装PostGIS请参见这里)
\c shp2pgsqldemo; CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology;
3.3 向数据库导入使用Shape数据生成的.sql文件
psql -d shp2pgsqldemo -U gisdb -f /tmp/shp/CLLX.sql -W
4. 验证数据
5.直接将Shape数据导入到数据表
shp2pgsql -s 3857 -c -W "GBK" /tmp/shp/CLLX.shp public.CLLX2 | psql -d shp2pgsqldemo -U gisdb -W
这里值的一提的是,刚才我们已经建了一个cllx表了,如果再导入可以使用 -d 参数删了重建,我这里为了演示功能,使用 <SCHEMA>.<DBTABLE> 数据重新建了一个表 CLLX2 ,如下图红框中所示。另外在导入过程中需要输入数据库用户的密码,在红色箭头所示的地方,命令执行会中断,等待输入密码,只需要输入密码后回车即可向下执行。
5.1验证导入结果,发现有新建的cllx2表
共18条数据
shp2pgsql向postgresql导入shape数据的更多相关文章
- 使用FWTools来导入shp数据到mysql
使用FWTools来导入shp数据到mysql 参考地址 http://forums.mysql.com/read.php?23,122827,206841 软件下载链接 http://fwtools ...
- Geoserver+Postgresql+PostGIS 进行数据发布
1.postgressql+postgis安装 由于我已经安装了,因此没法进行截图,给出下载地址 下载地址:https://www.postgresql.org/ 记得一定要下载edu的版本 因为这个 ...
- elasticsearch 导入基础数据并索引之 geo_point
elasticsearch 中的地理信息存储, 有geo_point形式和geo_shape两种形式 此篇只叙述geo_point, 地理位置需要声明为特殊的类型, 不显示在mapping中定义的话, ...
- Leaflet入门:添加点线面并导入GeoJSON数据|Tutorial of Leaflet: Adding Points, Lines, Polygons and Import GeoJSON File
Web GIS系列: 1.搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3 2.使用GeoServer+QGIS发布WMTS服务 3.使 ...
- [转帖]PostgreSQL pg_dump&psql 数据的备份与恢复
PostgreSQL pg_dump&psql 数据的备份与恢复 https://www.cnblogs.com/chjbbs/p/6480687.html 文章写的挺好 今天试了下 挺不 ...
- CRL快速开发框架系列教程九(导入/导出数据)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- BCP导出导入大容量数据实践
前言 SQL SERVER提供多种不同的数据导出导入的工具,也可以编写SQL脚本,使用存储过程,生成所需的数据文件,甚至可以生成包含SQL语句和数据的脚本文件.各有优缺点,以适用不同的需求.下面介绍大 ...
- SQL Server服务器上需要导入Excel数据的必要条件
SQL Server服务器上需要导入Excel数据,必须安装2007 Office system 驱动程序:数据连接组件,或者Access2010的数据库引擎可再发行程序包,这样就不必在服务器上装Ex ...
- PLSQL Developer导入Excel数据
LSQL Developer导入Excel数据 最近处理将Excel数据导入Oracle的工作比较多.之前都是采用Sqlldr命令行导入的方式处理.每次导入不同格式的Excel表数据,都需要先把Exc ...
随机推荐
- 关于如何使用ehcarts2加载svg矢量地图并自定义县级内部乡镇轮廓
项目需求:显示县级内部的乡镇一级地图的轮廓! 效果预览: 阻碍因素:echarts不提供县级以下乡镇级轮廓. 解决思路: 1.根据资料查找相关县的行政区域图(百度搜索),如本人所制作的浙江省宁波市宁海 ...
- [Vue warn]: Duplicate keys detected: '1'. This may cause an update error
今天遇到这个问题,遇到这个问题多数因为:key值的问题 第一种情况(key重复) <div class="name-list" v-for="(item,index ...
- python-web自动化-文件上传操作(非input标签的上传,需要借助第三方工具)
文件上传操作 一.文件上传分两种情况:1. 如果是input可以直接输入路径的,可以直接调send_keys输入路径 2. 非input标签的上传,需要借助第三方工具: 2.1 Autolt 需 ...
- 六、Python-字符串编码
最早的编码为ASCII码(包含0-9.A-Z.a-z.符号(空格.制表符等)),最多支持256个符号(每个符号占1字节) GBK/GB2312:我国制定的中文编码标准,一个字节表示因为字母,两个字 ...
- 0 Python学习计划
每天一小节,坚持水滴石穿. 2019-4-1 景略
- spark单机搭建
说明:单机版的Spark的机器上只需要安装Scala和JDK即可,其他诸如Hadoop.Zookeeper之类的东西可以一概不安装 只需下载如下三个包 1.安装jdk 配置环境变量 vim /etc/ ...
- dojo动态生成图片并按中心缩放
首先,本人在项目动态加载图片是根据点击图片名称来获取图片所在地址,从而使其打开一个新的窗口显示图片的.这里根据每个人的也许需求进行更改(要么就是在本页面底下打开要么就是新建一个窗口打开),不做探讨. ...
- 《用Python做HTTP接口测试》练习资料共享
原作者代码在https://github.com/akuing/python-http-interface-test
- 如何系统的学习Java
初学者记住一点,学习Java一定是连续性的且循序渐进的“系统化”学习,首先我给你提供一个优秀Java工程师的学习路线. web前端方面:html.css,Java.jQuery.xml解析.Boots ...
- QT项目添加现有文件后不能运行,MFC在类视图中自动隐藏类
解决方案:1)QT 5.6版本的QtCreator打开pro文件,在最后加一行空行或者删除一行空行,保存即可: 2)在隐藏的类对应的头文件中增加一行或删除一行(空格也可以),即可自动出现.