Ich versuche Grenze von Canadian Karte von here‚utf-8‘ Codec kann nicht dekodieren, wenn readshapefile auf Python basemap mit
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()
zu lesen, bis hier alles funktioniert gut, aber wenn ich versuche hinzufügen Grenze,
m.readshapefile('mypaths/gcma000b11a_e/gcma000b11a_e', 'gcma000b11a_e')
ich habe dieses utf-8
Fehler:
der Code ist aus dieser großen tutorial
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 11: invalid continuation byte
Ist die Shapefile eine utf-8 endcodierte Textdatei? Wenn es sich nicht um eine Textdatei handelt, müssen Sie die Datei im Binärmodus ('rb') öffnen, um zu vermeiden, dass Python versucht, Unicode zu dekodieren. Wenn es sich um eine Textdatei handelt, die nicht utf-8 codiert ist, müssen Sie sie mit dem richtigen Codec öffnen. – cco
es ist überhaupt keine Textdatei, das Shapefile ist .shp – enden