0

Folium でコロプレス マップを生成しようとしていますが、geo_data 行に到達すると「Type」KeyError が発生し続けます。以下は私の次のコードです:

url = ('https://github.com/camstark/calgis')
state_geo = f'{url}/ward-boundaries-simple.json'

# Calgary latitude and longitude values
latitude = 51.0534234
longitude = -114.0625892

# let Folium determine the scale.
yyc_map = folium.Map(location=[latitude, longitude], zoom_start=12)

folium.Choropleth(
    geo_data=state_geo,
    name="choropleth",
    data=df_demo,
    columns=['NAME','Number of Residents Age 25 to 54'],
    key_on="feature.id",
    fill_color="YlGn",
    fill_opacity=0.7,
    line_opacity=0.2,
    legend_name="Target Demographic Count in Calgary",
).add_to(yyc_map)

folium.LayerControl().add_to(yyc_map)

yyc_map

data = df_demo 行は問題ないはずです。人口統計データを適切にフォーマットしました。したがって、私の主な質問は、このコーディングを賢明に修正するためにできることは何か、それとも JSON ファイル自体の問題なのかということです。

ありがとうございました。

4

1 に答える 1

0

state_geo無効な URL を指しているため、明らかにエラーが発生します。https://github.com/camstark/calgis/ward-boundaries-simple.json

有効な URL は、代わりに次のように構成できます。

url = ('https://raw.githubusercontent.com/camstark/calgis')
state_geo = f'{url}/gh-pages/ward-boundaries-simple.json'

key_onまた、GeoJSON 構造を に設定する必要がある場合、提供された例にはもう 1 つの問題がありfeature.properties.ward_numます。

ValueError: key_on `'id'` not found in GeoJSON.
于 2021-02-02T17:21:23.190 に答える