如何使用 GeoDataFrame 生成 Folium 地图?
How to generate Folium map using GeoDataFrame?
我已经创建了一个 geoDataFrame 使用,并想创建一个 Folium 地图,绘制每个国家的人口吃。我必须创建 Json 文件,还是可以直接使用 geoDataFrame 文件?
import folium
import fiona
import geopandas as gpd
world = fiona.open(gpd.datasets.get_path('naturalearth_lowres'))
world = gpd.GeoDataFrame.from_features([feature for feature in world])
world = world[(world.pop_est > 0) & (world.name != "Antarctica")]
我使用了 folium.map 和 geojson 函数,但未能创建正确的 JSON 文件。
感谢您的帮助!
在最新版本的folium中,您不需要将GeoDataFrame转换为geojson,而是可以直接传递。连接人口列为多边形着色仍然有些棘手:
m = folium.Map()
m.choropleth(world, data=world, key_on='feature.properties.name',
columns=['name', 'pop_est'], fill_color='YlOrBr')
m
@joris 答案中的 m.cholopleth()
代码现已弃用。以下代码使用新的 folium.Chloropleth()
函数产生相同的结果:
m = folium.Map()
folium.Choropleth(world, data=world,
key_on='feature.properties.name',
columns=['name', 'pop_est'],
fill_color='YlOrBr').add_to(m)
folium.LayerControl().add_to(m)
m
我已经创建了一个 geoDataFrame 使用,并想创建一个 Folium 地图,绘制每个国家的人口吃。我必须创建 Json 文件,还是可以直接使用 geoDataFrame 文件?
import folium
import fiona
import geopandas as gpd
world = fiona.open(gpd.datasets.get_path('naturalearth_lowres'))
world = gpd.GeoDataFrame.from_features([feature for feature in world])
world = world[(world.pop_est > 0) & (world.name != "Antarctica")]
我使用了 folium.map 和 geojson 函数,但未能创建正确的 JSON 文件。 感谢您的帮助!
在最新版本的folium中,您不需要将GeoDataFrame转换为geojson,而是可以直接传递。连接人口列为多边形着色仍然有些棘手:
m = folium.Map()
m.choropleth(world, data=world, key_on='feature.properties.name',
columns=['name', 'pop_est'], fill_color='YlOrBr')
m
@joris 答案中的 m.cholopleth()
代码现已弃用。以下代码使用新的 folium.Chloropleth()
函数产生相同的结果:
m = folium.Map()
folium.Choropleth(world, data=world,
key_on='feature.properties.name',
columns=['name', 'pop_est'],
fill_color='YlOrBr').add_to(m)
folium.LayerControl().add_to(m)
m