ogr2ogr

0. 官方文档

ogr2ogr — GDAL documentation

1. pg数据库的内容,转出为shpFIle,指定GBK编码

ogr2ogr -f "ESRI Shapefile" ./poi_ttt.shp PG:"host=10.1.641.210 user=postgres dbname=tests password=jffff" -lco ENCODING=GBK -sql "SELECT * FROM poi limit 10"

2. 导出为带有srid prj文件的shp命令:

ogr2ogr -f "ESRI Shapefile" -s_srs EPSG:4326 -t_srs EPSG:4326 G:\\DB\\mapbox_mvts\\buia_mapbox_mvts_2.shp PG:"host=10.12.164.20 user=postgres dbname=db password=wfwefw" -sql "SELECT * FROM mapbox_mvts_2"

其中,执行时可能会报错:

Failed to process SRS definition: EPSG:4326

则需要执行一个配置srid目标位置的命令,来设置环境变量,查看这一篇:

ogr2ogr 读取geojson入pg时,报错: Failed to process SRS definition: EPSG:4326_jfqqqqq的博客-CSDN博客

3. shp数据入库pg

1 导入pg,并且作为multi的geom

ogr2ogr -f "PostgreSQL" "PG:host=10.168.1.1 dbname=db user=postgres password=gg" -nlt PROMOTE_TO_MULTI  china_a.shp

2 导入pg,并指定srid( -append 追加的方式写入,如果没有表则创建)

ogr2ogr -append -f "PostgreSQL" "PG:host=10.1.12.154 dbname=jianzhuwutiqu user=postgres password=geovis@0829." -a_srs "EPSG:4326" -nlt PROMOTE_TO_MULTI ./myShpFile.shp

3. 导入pg,将geom作为single的geom入库(这里强制将multiLinestring指定为linestring,ogr则会进行拆分入库,官方说明见,搜索-nlt:ogr2ogr — GDAL documentation)

ogr2ogr -f "PostgreSQL" "PG:host=192.168.151.1 dbname=idb user=postgres password=mypass port=5433" -nlt LINESTRING -nln itbname ./roads.shp,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值