Построение точек в питоне Basemap - PullRequest
0 голосов
/ 20 февраля 2019

Я хочу построить карту данных корабля.Я использую следующий код:

with open ('Data.txt', 'r',encoding = 'utf-8') as f:
    d = json.load(f)

    # create a dataFrame
    df = pd.DataFrame(([dict(id=data['id'],
                             X = data['x'],
                             Y = data['y'],



                             )
                    for data in d['features']]))


lat = df['X'].values
lon = df['Y'].values

margin = 1 # create a margin for the maps

lat_min = min(lat) - margin
lat_max = max(lat) + margin
lon_min = min(lon) - margin
lon_max = max(lon) + margin

# create a map
m = Basemap(llcrnrlon= lon_min,
            llcrnrlat= lat_min,
            urcrnrlon = lon_max,
            urcrnrlat= lat_max,
            lat_0= (lat_max - lat_min) / 2,
            lon_0= (lon_max - lon_min) / 2,
            projection= 'merc',
            resolution= 'h',
            area_thresh= 10,
            )

m.drawcoastlines() # draw a coastlines
m.drawcounties(zorder=20) # draw a countries map in graph
m.drawstates()
m.drawmapboundary(fill_color= '#46bcec')
m.fillcontinents(color= 'white', lake_color= '#85A6D9')

lons, lats = m(lon, lat)


m.scatter(lons, lats,  marker = 'o', zorder= 5, s= 5, c= 'g', )
plt.title('Give a proper title')
plt.show()

Но пока я запускаю код, он выдает мне следующую ошибку:

UnicodeDecodeError: кодек 'utf-8' не может декодировать байт 0xf1 впозиция 2: недопустимый байт продолжения в следующей строке:

m.drawcounties(zorder=20)

Я не знаю, как это исправить.

...