folium icon indicating copy to clipboard operation
folium copied to clipboard

Time Slider with Varying MultiPolygon Size by Time Stamp

Open msw17002 opened this issue 2 years ago • 1 comments

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: image There shouldn't be any overlapping lines on the map for the initial time stamp.

The final slide looks good: image

However, once I scroll through all slides once, all data is overlaid by the final time stamp: image

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

msw17002 avatar Apr 17 '23 15:04 msw17002

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?

Conengmo avatar May 17 '23 14:05 Conengmo