Skip to content

Instantly share code, notes, and snippets.

@hydrosquall
Last active July 3, 2019 22:27
Show Gist options
  • Save hydrosquall/d477d866f3c6c4556e541d16bdcc9207 to your computer and use it in GitHub Desktop.
Save hydrosquall/d477d866f3c6c4556e541d16bdcc9207 to your computer and use it in GitHub Desktop.
Recommendations for Interactive Maps

A quick response to what Tools do you recommend for making interactive maps?

Making Maps Quickly Without Custom Code

This would be my top suggestion for getting something running quickly assuming you already have the data. The site has lots of docs + examples, tooling for generating these maps from within Jupyter and Tableau is coming soon. All the pieces are open source in case you end up needing to customize it further, but you can get something quite advanced without writing any new javascript. The downside is that you can't perform data aggregation/transformation from within the tool, so all data shaping needs to happen before you upload your data file. If your data is private, you can self host or run this application locally.

Some unique UI controls that'll work out of the box for you - sliders with histograms visualizing the variable you're filtering on, timeline filters, easily 3d data layers or point clouds

  • Tableau Public (free for usage with public data!), see docs.

You get all the power of Tableau (easy cross filtering, select a geographic region to see what data points fall into it, builtin country codes + shapefiles + geocoding for common places). If you're working with public data, this would be my first choice.

I haven't personally used this but I've heard other people like the UX + they have many "publication quality" stylistic defaults baked in!

Some code options

  • Leaflet.js - This is the dominant javascript based interactive mapping library from the pre-javascript framework era.
  • Cartoframes - note that a Carto account is needed. You can try this out without installing anything using the binder.
  • Pyleaflet - Python bindings to the Pyleaflet library
  • Comparison of Pure D3 to Leaflet:

There's an example I wrote last year which has broken since the last time I checked, but the leaflet section is based on Tom MacWright's demo. I think that unless you have very specific interactive needs, I would try to get as much mileage out of the other tools as possible before turning to pure d3, since it's easy to get distracted by things that are related to your original goal of visualizing geospatial data when you're working with d3.

  • Using Mapbox - I haven't used this heavily, but they provide base images that power many other tools (like Kepler.gl), as well as Plotly's map offering (see here ). Note you'll need an account/API key if your traffic volume is high.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment