Vizualization

Stop using Folium for your mapping needs

KeplerGL is a million times better

Dany Majard
5 min readJun 27, 2022

--

Photo by Ian on Unsplash

Once upon a time, Microsoft excel allowed us to make pie charts, and for decades presentations used and abused them. But the truth is pie charts are pretty bad. Well, we have the same problem for mapping data. The tool we learned to use are bad, but we’re stuck in the habit. Yes people, I am asking you to drop both pie charts and Folium. To this day, one can find new articles promoting its use.

Folium was an incredible tool when it was introduced. But it remained rudimentary while others developed much more advanced and user friendly tools.

The truth is, while Folium is still being developed, it is still at version 0.12.1. In the mean time deck.gl is up to version 8.12! So why is it not more widely used?

Intro

Deck.gl was developed by Uber for their own needs. They released the v3 in March 2016 as open source software. The library uses OpenGL to render a vast amount of data points, both 2 and 3D using your computer’s graphic card. It can handle millions of points seamlessly while folium usually stops working at 20k points due to memory limitations of notebooks. On top of this it manages information in layers so one can plot multiple sources of information on a given map, like the picture below shows. (make sure you click on the legend’s link, it is mesmerizing!)

Dynamic rendering of winds (particles) and the corresponding pressure vector field in the USA. source: https://philogb.github.io/page/wind/

The issue with deck.gl is that it consumes JSON, which requires the data scientist to perform a usually unappealing amount of gymnastics to get their data on the map. I assume that is the reason it has not been adopted more widely.

What makes deck.gl the killer library for mapping

The difficulties that came with deck.gl came from the fact it was somewhat of a specialist’s tool and it required more investment than other libraries such as Folium. It is very much akin to jumping from matplotlib to plotly. The benefits…

--

--