базовой картой Я пытаюсь прочитать границу с канадской карте от here«UTF-8» не может декодировать при использовании readshapefile на питона
import matplotlib.pyplot as plt
import matplotlib.cm
from mpl_toolkits.basemap import Basemap
from matplotlib.patches import Polygon
from matplotlib.collections import PatchCollection
from matplotlib.colors import Normalize
m = Basemap(resolution='c', # c, l, i, h, f or None
projection='merc',
lat_0=56.1304, lon_0=106.3468,
llcrnrlon=-141.0, llcrnrlat= 41.2, urcrnrlon=-52.3, urcrnrlat=69.8)
m.drawmapboundary(fill_color='#46bcec')
m.fillcontinents(color='#f2f2f2',lake_color='#46bcec')
m.drawcoastlines()
, пока здесь все не работает, но когда я пытаюсь добавить граница,
m.readshapefile('mypaths/gcma000b11a_e/gcma000b11a_e', 'gcma000b11a_e')
у меня есть эта ошибка: utf-8
код из этого великого tutorial
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 11: invalid continuation byte
Является ли шейп-файл текстовым файлом utf-8 с конечным кодом? Если это не текстовый файл, вам нужно открыть файл с использованием двоичного режима ('rb'), чтобы избежать попыток Python декодировать Unicode. Если это текстовый файл, но не закодированный utf-8, вам нужно открыть его с помощью правильного кодека. – cco
это не текстовый файл, шейп-файл - .shp – enden