带有Python Folium的TimeSliderCoropleth贴图不会单独渲染geojson多边形

2024-09-30 00:37:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用python Folium在TimesliderCoropleth地图上渲染一些GeoJSON多边形

这项工作正在一本笔记本上完成

代码应该在滑块上每个时间步绘制一个多边形。但是,它会为每个时间步渲染所有三个多边形。多边形也不是styledict中提供的颜色或不透明度

我想这一定是styledict中的某个地方出错了,但是滑动条记录了作为时代给出的正确日期。我尝试了几种不同的颜色格式,但都没有改变任何东西。我不确定我在这方面哪里出了问题。任何帮助都将不胜感激

Jupyter笔记本的最小可复制示例如下

import folium
import folium.plugins as folium_plugins
from shapely.geometry.polygon import Polygon
import geopandas as gpd


m = folium.Map(location=[33.7490, -84.3880], width=500, height=500, scrollWheelZoom=False, prefer_canvas=True, zoom_start=10)

p1 = Polygon([[-84.688, 33.649], [-84.488, 33.649], [-84.488, 33.449], [-84.688, 33.449], [-84.688, 33.649]])
p2 = Polygon([[-84.488, 33.649], [-84.288, 33.649], [-84.288, 33.449], [-84.488, 33.449], [-84.488, 33.649]])
p3 = Polygon([[-84.288, 33.649], [-84.088, 33.649], [-84.088, 33.449], [-84.288, 33.449], [-84.288, 33.649]])

df_poly = gpd.GeoDataFrame(data={'geometry' : [p1, p2, p3]})
df_poly.crs = 'EPSG:4326'

sd = {
    '0' : {'1617247390': {'color': '#FFEBEB', 'opacity': 0.5}},
    '1' : {'1618247390': {'color': '#0073CF', 'opacity': 0.5}},
    '2' : {'1619247390': {'color': '#FFEBEB', 'opacity': 0.5}}
}

folium.plugins.TimeSliderChoropleth(data=df_poly.to_json(), styledict=sd).add_to(m)

m

Tags: importdf颜色as时间plugins笔记本多边形
1条回答
网友
1楼 · 发布于 2024-09-30 00:37:34

看来{}是问题的原因。移除那个使它工作

prefer_canvas=True在一些文档中被建议作为地图中放置大量对象的加速。因为这个项目有,所以我尝试使用它。但是,它似乎不适用于TimeSliderCoropleth类

相关问题 更多 >

    热门问题