basemap readshapefile UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb4 in position 0

在python中读取shape文件时,出现以下错误:

错误出在下面第三行的位置,说明前面两个文件读的时候都没问题,唯独第三个文件有问题,因此认为是第三个文件本身的问题。

既然错误提到是utf-8编码的问题,所以想着把shape文件转换成utf-8的格式保存,首先尝试了在notepad中打开文件,转换为utf-8:

结果是文件被破坏了,在arcmap中都读不出来了。

最后是通过在arcmap中改变保存文件默认编码格式为utf-8,解决了问题。

先打开注册表:win+R  -->  输入regedit  -->  在‘计算机\HKEY_CURRENT_USER\Software\ESRI’中新建Common项  -->  在‘计算机\HKEY_CURRENT_USER\Software\ESRI\Common\’中新建CodePage项  -->在 ‘计算机\HKEY_CURRENT_USER\Software\ESRI\Common\CodePage’中新建字符串值(S)  设置其名称为dbfDefault,数据为oem(或者UTF-8):

之后再ArcMap中将shape文件导出,另存为一个新的文件即可。导出步骤,按下图找到导出数据,然后直接保存即可:

参考:

https://blog.csdn.net/fidelhl/article/details/17318797?utm_source=blogxgwz2

https://jingyan.baidu.com/article/ff42efa920e2f3c19f220258.html

猜你喜欢

转载自blog.csdn.net/liuchengzimozigreat/article/details/84767286