- 积分
- 299
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-1-1
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 aimimulana 于 2022-6-16 16:36 编辑
一、问题:从下面这个网站下载的地图shp,python加载地图shp时,出现错误“'utf-8' codec can't decode byte 0xb4 in position 2: invalid start byte”。
地图shp地址:http://gaohr.win/site/blogs/2017/2017-04-18-GIS-basic-data-of-China###
二、解决办法:
1、在安装目录下找到shapereader.py 修改如下大字:
class BasicReader(object):
"""
Provide an interface for accessing the contents of a shapefile.
The primary methods used on a Reader instance are
:meth:`~Reader.records` and :meth:`~Reader.geometries`.
"""
def __init__(self, filename,encoding="utf-8"):
# Validate the filename/shapefile
self._reader = reader = shapefile.Reader(filename,encoding=encoding)
if reader.shp is None or reader.shx is None or reader.dbf is None:
raise ValueError("Incomplete shapefile definition "
"in '%s'." % filename)
2、修改Reader方法为可传递encoding参数
from cartopy.io.shapereader import Reader
reader = Reader(china_city, encoding=“GBK”) # 其中encoding为修改后添加的参数
|
|