博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 3使用Basemap导入ESRI信息的问题
阅读量:6689 次
发布时间:2019-06-25

本文共 841 字,大约阅读时间需要 2 分钟。

  hot3.png

File "D:\Python34\lib\site-packages\mpl_toolkits\basemap\shapefile.py", line 58, in u    return v.decode('utf-8')UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 2: invalid continuation byte

Basemap使用自带的shapefile.py处理ESRI的shapefile,但是Basemap自带的shapefile版本过低(1.1.x),其中存在一个bug导致使用Python 3.x版本时无法正确处理Windows-1252编码的二进制文件。典型错误:

使用pip安装pyshp ( pip install pyshp ),或者手动下载最新版本的pyshp,并且将shapefile.py拷贝到Basemap的目录中( <python-install-prefix>\lib\site-packages\mpl_toolkits\basemap )。解决方法一:

解决方法二:

按照一的方式使用pip安装pyshp,并且修改Basemap的源代码,将__init__.py中shapefile模块的import语句略作修改,不再使用相对路径的导入方式并删除Basemap目录中的shapefile.py。修改之前为

from . import shapefile as shpfrom .shapefile import Reader

修改之后为

import shapefile as shpfrom shapefile import Reader

 

使用方法二的一个好处是,使用pip更新pyshp后不需要再更新Basemap中的shapefile.py

转载于:https://my.oschina.net/voole/blog/1831140

你可能感兴趣的文章
复习sed的相关内容
查看>>
NetScaler OTP双因子身份认证登录演示
查看>>
centos系统目录结构
查看>>
python Class:面向对象高级编程 __getattr__
查看>>
思科dhcp配置思路
查看>>
“中国制造2025”+云计算,制造业转型的新可能
查看>>
JavaScript基础(一)
查看>>
python爬取QQ说说并生成词云图,回忆满满
查看>>
psutil
查看>>
如何过滤出已知当前目录下oldboy中的所有一级目录
查看>>
判断语句介绍
查看>>
2019智能家居展览会-资讯智能家居博览会
查看>>
阿里的Spring框架面试题到底有多难?这五大问题你又掌握了多少!
查看>>
搭建简单的云waf
查看>>
LVM逻辑卷小结
查看>>
浅淡个人学习嵌入式Linux过程
查看>>
linux学习第十二周总结
查看>>
Java序列化漏洞的调研,***和安全监控
查看>>
想要百度信息流效果更好你应该这样投放
查看>>
威格玛洗衣机“黑科技 ” 引领洗衣新体验
查看>>