I'm trying to create a time slider which varies by day, however, 1) all MultiPolygons are initially displayed at once for the first time stamp and 2) if I use the slider from the start to the end of the slider, all previous time steps are overlaid by the final time step.
Note: All MultiPolygons are not consistent in terms of shape/size. I think this is related to the issue.
Here's a screen capture of the issue:
There shouldn't be any overlapping lines on the map for the initial time stamp.
The final slide looks good:
However, once I scroll through all slides once, all data is overlaid by the final time stamp:
Here's the important part of the script:
---create a style dictionary
styledata = {}
for i in range(allgpd.shape[0]):
subset = allgpd.iloc[i]
idxname = pd.Index([subset.times], dtype="U10")
df = pd.DataFrame({"color": allgpd['color'][i],"opacity": 1,},index=idxname,)
styledata[i] = df
---reformat
styledict = {str(idx): data.to_dict(orient="index") for idx, data in styledata.items()}
---create the folium slider
m = folium.Map(location=[qlat, qlon], zoom_start=6)
g = TimeSliderChoropleth(
allgpd.to_json(),
styledict=styledict,
control=True,
overlay=True, show=False).add_to(m)
m
I also attached my script in its entirety to this thread, as well (script.txt).
I just merged a PR that overhauls the TimeSliderChoropleth class. It could just be that it solves your issue as well. Can you try install folium from our main branch, see if your problem still exists?
I'm trying to create a time slider which varies by day, however, 1) all MultiPolygons are initially displayed at once for the first time stamp and 2) if I use the slider from the start to the end of the slider, all previous time steps are overlaid by the final time step.
Note: All MultiPolygons are not consistent in terms of shape/size. I think this is related to the issue.
Here's a screen capture of the issue: There shouldn't be any overlapping lines on the map for the initial time stamp.
The final slide looks good:
However, once I scroll through all slides once, all data is overlaid by the final time stamp:
Here's the important part of the script:
---create a style dictionary
styledata = {} for i in range(allgpd.shape[0]): subset = allgpd.iloc[i] idxname = pd.Index([subset.times], dtype="U10") df = pd.DataFrame({"color": allgpd['color'][i],"opacity": 1,},index=idxname,) styledata[i] = df
---reformat
styledict = {str(idx): data.to_dict(orient="index") for idx, data in styledata.items()}
---create the folium slider
m = folium.Map(location=[qlat, qlon], zoom_start=6) g = TimeSliderChoropleth( allgpd.to_json(), styledict=styledict, control=True, overlay=True, show=False).add_to(m) m
I also attached my script in its entirety to this thread, as well (script.txt).
Environment details (Jupyter Notebook): System: sys.version_info(major=3, minor=9, micro=12, releaselevel='final', serial=0) Folium: 0.14.0 Branca: 0.6.0
I attached the data to this thread (data.zip).
data.zip script.txt