DF = pd.DataFrame({'REGION_ID':list(range(0,88)), 'share': list(map(lambda x: x* 5.3, list(range(0,88))))})
m = folium.Map(location=[63.391522, 96.328125], zoom_start=3)
rel_ = folium.Choropleth(
geo_data = './admin_level_4.geojson',
name = Имя',
data = DF,
columns=['REGION_ID', 'share'],
key_on='id',
bins = 10,
fill_color='BuGn',
nan_fill_color='darkblue',
nan_fill_opacity=0.5,
fill_opacity=0.7,
line_opacity=0.2,
legend_name= 'Легенда',
highlight = True,
show = False
)
rel_.add_to(m)
在教程中,他们提到 REGION_ID 应该与 geojson 中的相同 REGION_ID 相对应,但我找不到任何...
gpd.read_file('./admin_level_4.geojson').columns.values
array(['flag', 'ref', 'name', 'note', 'is_in', 'koatuu', 'place',
'ref:en', 'ref:ru', 'ref:uk', 'source', 'int_ref', 'name:ab',
'name:af', 'name:ar', 'name:av', 'name:az', 'name:ba', 'name:be',
'name:bg', 'name:bs', 'name:ca', 'name:ce', 'name:cs', 'name:cu',
'name:cv', 'name:cy', 'name:da', 'name:de', 'name:el', 'name:en',
'name:eo', 'name:es', 'name:et', 'name:eu', 'name:fa', 'name:fi',
'name:fr', 'name:fy', 'name:ga', 'name:he', 'name:hi', 'name:hr',
'name:hu', 'name:hy', 'name:id', 'name:is', 'name:it', 'name:ja',
'name:ka', 'name:kk', 'name:ko', 'name:ku', 'name:kv', 'name:ky',
'name:la', 'name:lb', 'name:lt', 'name:lv', 'name:mk', 'name:mn',
'name:mr', 'name:ms', 'name:nb', 'name:nl', 'name:nn', 'name:no',
'name:oc', 'name:os', 'name:pl', 'name:pt', 'name:ro', 'name:ru',
'name:se', 'name:sh', 'name:sk', 'name:sl', 'name:sq', 'name:sr',
'name:su', 'name:sv', 'name:sw', 'name:ta', 'name:tg', 'name:tl',
'name:tr', 'name:tt', 'name:ug', 'name:uk', 'name:ur', 'name:uz',
'name:vi', 'name:yi', 'name:zh', 'alt_name', 'website', 'boundary',
'int_name', 'name:aba', 'name:ace', 'name:ast', 'name:atv',
'name:bxr', 'name:crh', 'name:dsb', 'name:hak', 'name:hsb',
'name:inh', 'name:kaa', 'name:kbd', 'name:koi', 'name:krc',
'name:krl', 'name:lbe', 'name:lez', 'name:lrc', 'name:mhr',
'name:mrj', 'name:myv', 'name:nog', 'name:pam', 'name:pnb',
'name:sah', 'name:sco', 'name:szl', 'name:tyv', 'name:tzl',
'name:udm', 'name:vep', 'name:war', 'name:xal', 'name_int',
'old_name', 'timezone', 'wikidata', 'ISO3166-2', 'ssrf:code',
'wikipedia', 'cladr:code', 'oktmo:user', 'omkte:code',
'addr:region', 'population', 'short_name', 'source:url',
'admin_level', 'alt_name:ca', 'alt_name:de', 'alt_name:en',
'alt_name:fr', 'alt_name:nl', 'alt_name:ru', 'alt_name:sl',
'alt_name:vi', 'border_type', 'name:az-cyr', 'old_name:en',
'old_name:eo', 'old_name:fr', 'old_name:os', 'old_name:vi',
'addr:country', 'addr:postcode', 'cadaster:code', 'name:be-x-old',
'gis-lab:status', 'wikipedia:ru', 'wikipedia:uk', 'is_in:country',
'official_name', 'gost_7.67-2003', 'name:be-tarask',
'is_in:continent', 'name:zh-min-nan', 'official_name:av',
'official_name:az', 'official_status', 'old_alt_name:vi',
'population:date', 'official_name:ca', 'official_name:ce',
'official_name:de', 'official_name:en', 'official_name:es',
'official_name:fr', 'official_name:it', 'official_name:ru',
'official_name:lez', 'official_name:tt', 'official_name:bxr',
'official_name:udm', 'population:source', 'is_in:country_code',
'geometry'], dtype=object)
在地图的可视化上,我没有看到区域之间有任何颜色变化。
这有什么问题?
我已经通过 geopandas 手动尝试了 id 列并将其保存到 geojson 但出现错误:ValueError:key_on
'id'
not found in GeoJSON.
好的,我发现了问题。 key_on='id' 必须和geojson中的id一样。 但问题是 geopandas 不显示所有数据。即使使用 gdf.geo_interface['features'] 也显示错误的 id 枚举 0 而不是正确的 id。永远,永远不要使用 geopandas 来分析你的 geojson 文件。
浪费了我三个小时的时间。