如何使用shp2pgsql 将shp格式的GIS数据导入到PostgreSQL

PostGIS 2.2.0dev手册文档中涉及到一些基本的数据,这些数据需要导入到数据库中。使用QGIS页面方式导入有一些问题。下面是导入过程
如果用QGIS方法,导入过程中,会有一些sql错误,这些错误会引起导入中断,实际上shp文件会转换成sql语句 并且在sql文件末尾才加上commit,如果中途中断就等于事务中断,没有提交。

为了让正常进行,我们需要使用shp2psql这个命令先生成sql语句,然后再对sql进行改造,中间加上若干commit语句,然后使用psql命令执行
step1:服务器上面必须装上postgis,这样才会有shp2psql命令,安装略
step2:把F:\Personal Study\PostGis\postgis-data\data\目录下的数据上传到服务器上面,注意不止是要shp文件,其他文件要需要上传
这些文件是从这里下载的:
http://giswiki.hsr.ch/PostGIS-Beispiele

shp2pgsql -s 4326 bc_roads.shp bc_roads>bc_roads.sql
这里面有16W行数据
但是有些数据有些问题
在其中插入一些commit
然后执行sql语句
psql -d postgres -Upg952 -f bc_roads.sql >/home/pg9.5.2/bc_roads.log
导入数据即可
数据量比较大,产生的日志最好重定向一下

时间: 2024-10-26 01:34:43

如何使用shp2pgsql 将shp格式的GIS数据导入到PostgreSQL的相关文章

利用easyloader将mapinfo格式的地图数据导入到SQLserver中

问题描述 转自:http://www.muqingshuihua.cn/post/2271.html1.首先设置dsn打开控制面板-数据源ODBC-系统DSN,添加,选择数据源驱动程序:SQLServer名称:sql服务器:(local)输入SQLserver的登录ID和密码更改默认的数据库为MapInfoDB(MapInfoDB是我在SQLServer企业管理器中新建的数据库)完成.2.在MapInfo中启动EasyLoader(EasyLoader8.0中文版下载:http://www.gi

窗体-c#合并shp格式二进制文件

问题描述 c#合并shp格式二进制文件 在VS中新建一个windows窗体结构,如何实现将两个Shp文件合并成一个Shp文件??? 解决方案 http://download.csdn.net/download/xiaobaichixigua/3136660

请各位帮帮忙-如何将cad中dwg格式文件转换为shp格式文件,即转换为形文件

问题描述 如何将cad中dwg格式文件转换为shp格式文件,即转换为形文件 我用的是cad2008,现在公司要一种新字体,没办法只有做啊

求中国shp格式的地图

问题描述 求中国shp格式的地图,具体到地级市 解决方案 解决方案二:关注,我需要一个具体到县级的

分享mapinfo tab GST格式 2011版数据 并提供mapinfo 切图工具 Arcgis shp地图QQ:1020592012

问题描述 分享mapinfotabGST格式2011版数据并提供mapinfo切图工具Arcgisshpmxd地图QQ:1020592012交流各种mapinfo和arcgis应用问题大家支持啊mapinfo切图工具可以分割任意区域的电子地图 解决方案 解决方案二:看看这个http://www.cnblogs.com/gisoracle/archive/2011/07/08/2100877.html解决方案三:看看学学毕恭毕敬解决方案四:我都有2012年的了呀.QQ交流:1175441108

cvs 数据库 主键外键-CVS格式文件数据导入新数据库后自动生成主键外键

问题描述 CVS格式文件数据导入新数据库后自动生成主键外键 以前将数据库中的数据导出来了,后来手贱把给数据库毁了. 现在希望通过以前导出来的CVS文件数据恢复以前的数据库,最好是自动的,主键外键自动关联自动生成[里边表实在太多了]. 什么数据库都行,什么MySQL.SQLServer都可以,只求能重建以前的数据库啊! 不知道各位大神有没有可行的办法啊? 解决方案 没办法,只有数据.需要添加SQL语句

通过自己编写的C语言程序获取lcm正常格式的初始化数据代码

1正常格式初始化数据的C代码 2供应商给的lcm初始化数据 3编写的语言程序获取lcm正常格式的初始化数据代码 4获取lcm正常格式的初始化数据代码 注:为了保护供应商lcm初始化数据,下面的数据都是做参考的假数据. 1正常格式初始化数据的C代码 lcm正常格式的初始化数据的C代码是下面那样的.是一个结构体数组,每一个元素都包括三个基本数据,分别是寄存器地址.参数个数和对应的参数. static struct LCM_setting_table lcm_initialization_settin

java-请问如果利用gson解析这种复合格式的json数据?

问题描述 请问如果利用gson解析这种复合格式的json数据? 初学java,在与别人一起做项目时 他发送过来的json格式是{"data":"", "info":"", "status":""} 其中,info和status的类型固定是字符和数字 但data里面的内容是类型不定的list 请问要怎么解决这个data的解析? 重点是list的类型不定!!! 不可能每种类型就又多写一个类去

oracle数据导入mysql数据库日期格式问题

问题描述 oracle数据导入mysql数据库日期格式问题 从oralce数据库导出日期格式数据为 to_date('13-04-2015 16:40:12', 'dd-mm-yyyy hh24:mi:ss'), 如何把它修改为yyyy-mm-dd的形式存储到mysql数据库中,由于数据比较多,一条条修改太过麻烦,有没有什么好的方法 解决方案 参考import CSV to MySQL and convert date LOAD DATA LOCAL INFILE '/Users/Path/To