Ошибка в коде Python: после применения метода style_function для изменения цвета компилятор выдает ошибку - PullRequest
0 голосов
/ 04 февраля 2019

Я использую библиотеку folium.Я хочу изменить bgcolor 2-го слоя карты на «желтый».

Я попробовал приведенный ниже код, все вроде бы нормально, но я думаю, что это проблема с .read () иличто-то вроде этого:

import folium
import pandas


data = pandas.read_csv("Volcanoes.txt")
lat = list(data['LAT'])
lon = list(data['LON'])
elev = list(data['ELEV'])


def high_color(elevation):
    if elevation < 1100:
        return "green"
    elif 1100 <= elevation < 3000:
        return 'orange'
    else:
        return 'red'
notmap = folium.Map(location=[40.954898799999995, -121.3610001], zoom_start=5)

feature_group = folium.FeatureGroup(name="My Map")

for lt, ln, el in zip(lat, lon, elev):
    feature_group.add_child(folium.CircleMarker(location=[lt, ln], popup = str(el)+" m.",
    radius=8, fill_color = high_color(el), color = 'grey', fill = True, fill_opacity = 0.7))

feature_group.add_child(folium.GeoJson(data = open('world.json', 'r', encoding='utf-8-sig'),
style_function = lambda x: {'fillColor':'yellow'}.read()))


notmap.add_child(feature_group)
notmap.save("map1.html")


Traceback (most recent call last):
  File "map.py", line 27, in <module>
    style_function = lambda x: {'fillColor':'yellow'}.read()))
  File "/home/john/.local/lib/python3.6/site-packages/folium/features.py", line 418, in __init__
    raise ValueError('Unhandled object {!r}.'.format(data))
ValueError: Unhandled object <_io.TextIOWrapper name='world.json' mode='r' encoding='utf-8-sig'>.

1 Ответ

0 голосов
/ 04 февраля 2019

[решено] Я просто изменил положение метода .read ().

следующая строка должна выглядеть следующим образом:

feature_group.add_child(folium.GeoJson(data = open('world.json', 'r', encoding='utf-8-sig').read(), style_function = lambda x: {'fillColor':'yellow'}))
...