0

次のコードは、値が world.json から取得される人口によって国が色付けされた Web マップを生成します。

import folium

map=folium.Map(location=[30,30],tiles='Stamen Terrain')

map.add_child(folium.GeoJson(data=open('world.json', encoding='utf-8-sig'),
name="Unemployment",
style_function=lambda x: {'fillColor':'green' if x['properties']['POP2005'] <= 10000000 else 'orange' if 10000000 < x['properties']['POP2005'] < 20000000 else 'red'}))

map.save('file.html')

world.jsonのリンク。

def引数の値として、ラムダ関数の代わりにで作成された通常の関数を使用できるかどうか疑問に思っていましたstyle_function。そのための関数を作成してみました:

def feature(x):
    file = open("world.json", encoding='utf-8-sig')
    data = json.load(file)
    population = data['features'][x]['properties']['POP2005']
    d ={'fillColor':'green' if x['properties']['POP2005'] <= 10000000 else 'orange' if 10000000 < x['properties']['POP2005'] < 20000000 else 'red'}
    return d

しかし、での使い方が思いつきませんstyle_function。これは可能ですか、それともラムダ関数はここでかけがえのないものですか?

4

2 に答える 2