python-visualization / folium

Python Data. Leaflet.js Maps.
https://python-visualization.github.io/folium/
MIT License
6.93k stars 2.23k forks source link

Create a `PolyLine` object directly from the polyline string via the Leaflet.encoded plugin #1886

Closed achieveordie closed 6 months ago

achieveordie commented 9 months ago

Is your feature request related to a problem? Please describe. Creating a PolyLine vector from an encoded string is currently a bit tedious as one needs to decode it prior to passing it to the constructor.

Describe the solution you'd like Leaflet.encoded plugin provides an alternative way to directly use Leaflet with encoded strings and perhaps folium will benefit from having this plugin to squeeze out performance for users who are working with encoded strings rather than latitude-longitude pairs.

Describe alternatives you've considered Maintain the status-quo.

Additional context Leaflet.encoded doesn't seem to be under active maintenance (last commit was 4 years ago). If there's a policy against such plugins (is there a policy regarding qualifications of plugins?) then this might be problematic.

Implementation Absolutely, I have limited experience with Javascript but if the maintainers reckon this to be doable without an extensive knowledge in js or leaflet, I'll be happy to contribute.

hansthen commented 7 months ago

I had a quick look at the Leaflet.encoded plugin. It does not seem complicated, so lack of active maintenance can also simply mean that the plugin does its work without problems.

Writing a new plugin for Folium is not too hard. It will require some Jinja2 templating knowledge, but this is easy to pick up. You can make a copy of one of the existing plugins and then modify as needed.

If you are willing to contribute, I am available for questions. Also have a look at the contributing guide: https://github.com/python-visualization/folium/blob/main/.github/CONTRIBUTING.md

achieveordie commented 7 months ago

Sure, I'm willing to take a shot at it this week. I will let you know if I face any roadblocks and I appreciate your reply.