arcgis打开shp文件为什么不显示_借助ogr2ogr工具实现SHP文件编码转换

在早期我们在数据处理时,我们生成的shp文件的编码默认都为cp936或者gb2312等编码,采用该编码时,支持中文不乱码,属性字段名称可以采用10个字符或者5个汉字。大家常用的ARCGIS软件中,自10.2版本后,默认采用UTF-8编码,如果需要采用CP936编码,需要修改注册表等,具体可参考《ARCGIS高版本SHP文件属性字段名称只能使用三个汉字的解决方案》。

在实际工作中,不同的软件对shp文件的编码支持不完全一致,有时候需要实现不同shp文件编码方式之间的显示转换,目前在QGIS软件中可以很方便的实现该功能,只需正确打开shp文件后,在保存的时候设置所需要的编码方式就可以实现编码的转换,具体可参考《QGIS中解决SHP文件属性乱码的方法》。

尽管在ARCGIS或者QGIS软件中都可以实现shp文件编码方式的转换,但如果只是转换一下shp文件的编码就需要安装体系庞大的GIS软件还是有点麻烦,本文介绍一下基于ogr2ogr工具,可以借助该工具实现该功能。

一、ogr2ogr工具安装。该工具的安装比较简单,只要安装GDAL后,自动会包含该工具,GDAL的安装可以参考《GDAL的安装与使用》。正常安装后可以发现已经编译好ogr2ogr工具。

d8153b552b2a20db5b926f6e56129907.png

二、启动ogr2ogr。双击“SDKShell.bat”文件,自动进去控制台命令行操作界面。自动设置好运行相关工具所需要的环境变量等。

ad5013edebf73a6a4ba5c0ae9b236527.png

三、编码转换。在操作命令行输入 “ogr2ogr -f "ESRI Shapefile" -lco encoding=936  +转换后shp文件 +需要转换的shp文件”。转换后的编码如果设置为“encoding=utf-8”表明输出的shp文件采用utf-8编码,参数设置为"encoding=936"表明输出的shp文件的编码方式采用cp936。下面的例子表明将110106.shp文件的编码转换为cp936,转换后结果输出为110106_936.shp文件。

e945b263a72aa36b0d4188916929282e.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值