Basemap 가 져 오기 shapefile 에 utf - 8 인 코딩 문제 가 발생 했 습 니 다.

2047 단어 Python
원문:http://blog.straywarrior.com/137.html
Basemap 는 자체 shapefile. py 를 사용 하여 ESRI 의 shapefile 을 처리 하지만 Basemap 자체 shapefile 버 전이 너무 낮 습 니 다 (1.1. x). 이 중 bug 가 있어 Python 3. x 버 전 을 사용 할 때 Windows - 1252 인 코딩 의 바 이 너 리 파일 을 정확하게 처리 할 수 없습니다.전형 적 인 오류:
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

해결 방법 1:
pip 를 사용 하여 pyshp pip install pyshp 를 설치 하거나 최신 버 전의 pyshp 를 수 동 으로 다운로드 하고 shapefile.py Basemap 디 렉 터 리 에 복사 합 니 다 \lib\site-packages\mpl_toolkits\basemap.
해결 방법 2:
pip 를 사용 하여 pyshp 를 설치 하고 Basemap 의 소스 코드 를 수정 합 니 다. init. py 에서 shapefile 모듈 의 import 문 구 를 약간 수정 하고 상대 적 인 경로 의 가 져 오기 방식 을 사용 하지 않 으 며 Basemap 디 렉 터 리 의 shapefile. py 를 삭제 합 니 다.이전
from . import shapefile as shp
from .shapefile import Reader
import shapefile as shp
from shapefile import Reader #          from

사용 방법 2 의 장점 중 하 나 는 pip 를 사용 하여 pyshp 를 업데이트 한 후 Basemap 의 shapefile. py 를 업데이트 할 필요 가 없다 는 것 이다.

좋은 웹페이지 즐겨찾기