用shp2pgsql把shp文件导入到数据库
来源:互联网 发布:淘宝回收移动充值卡 编辑:程序博客网 时间:2024/06/07 13:56
把shp文件导入空间数据库中,用postgresql图形化界面pgAdmin中的插件可以很方便的导入,但有时候会提示dbf文件无法打开或导入错误(有的是生成SQL语句过程中科学计数法问题造成),这时候我们用PostGis自带的shp2pgsql先生成sql语句文件修改下就可能成功导入数据库。下面是shp2pgsql的命令语法参数及实例:
PostGis版本: 1.5
用法: shp2pgsql [<options>] <shapefile> [<schema>.]<table> >文件.sql
OPTIONS:
●-s <srid>
设置srid,缺省为-1
●(-d|a|c|p)互斥选项:
-d 重新建立表,并插入数据。
-a 在同一个表中增加数据
-c 建立新表,并插入数据。(缺省)
-p 只创建表
●-g <geocolumn> 指定要创建的表的空间字段名称(在追加数据时有用)
●-D 使用dump方式,缺省是生成sql
●-G Use geography type (requires lon/lat data).
●-k 保持PostgreSQL标识符方式
●-i 使用int4类型dbf文件里的integer类型
●-I 在空间字段上建立索引
●-S Generate simple geometries instead of MULTI geometries.
●-W <encoding> shape文件属性列的字符格式。缺省是ascII
●-N <policy> 指定geometries为空时的操作(insert,skip,abort)
●-n 只导入dbf文件
●-? 显示帮助
实例:把D盘下city.shp文件导入mygis数据库city表中
1、C:\Program Files\PostgreSQL\9.0\bin> shp2pgsql -g the_geom -W GBK d:\city.shp city>d:\city.sql
Shapefile type: Point
Postgis type: POINT[2]
2、C:\Program Files\PostgreSQL\9.0\bin>psql -U postgres -h localhost -d mygis -p 5432 -f D:\city.sql
或
postgis=# \i d:/city.sql (注:不要写成d:\city.sql否则提示:d:: Permission denied)
3、C:\Program Files\PostgreSQL\9.0\bin>shp2pgsql -g the_geom -W GBK d:\city\res2_4m.shp city|psql -U postgres -h localhost -p 5432 -d mygis
注:国家基础地理中心下载的县级行政区将数据转换为sql的时候,导入数据库时会出错SQL语句插入错误,原因是数据中出现了很多科学计数法表示的数据,而postgis的insert语句是不能解析这种格式的数据的:'9.5043288e-005000'。
我们需要把这种格式转换为:'9.5043288e-5'::numeric这种格式就可以了,这个工作可以由UltraEdit的正则表达式来完成。
- 用shp2pgsql把shp文件导入到数据库
- shp2pgsql shpfile 导入到 postgis
- 将shp文件导入到mysql数据库中
- shp文件导入sde数据库
- shp文件数据导入数据库
- shp2pgsql 转换shp数据
- shp2sdo工具导入shp文件到oracle
- 批量把文件(图片)导入到数据库
- SHP文件批量导入数据库
- shp文件导入postgis
- shp文件导入postgresql
- PostgreSQL导入shp文件
- shp2pgsql shapefile导入postgis
- 把excel文件数据导入到sql数据库表中
- 把带有逗号的excel文件导入到sqlite数据库
- 通过datatable把文件导入到数据库表
- 怎样把dmp文件导入到oracle数据库中
- linux下把.sql文件导入到MySQL数据库里
- easbos 套打基本配置
- komodo color theme
- socket定义小解
- vc++中char*和CString转换
- 面试题之2个有序数组求合并后的中位数
- 用shp2pgsql把shp文件导入到数据库
- new Random().Next
- C/C++中float和double的存储结构
- MFC使用的风格
- WideCharToMultiByte和MultiByteToWideChar函数的用法
- 开发过程中的日志分流保存
- 手动创建Oracle 11g数据库(转载)
- HTML5是什么?新特性和新功能介绍
- sbt Build Definition