Learn how to create great-looking, interactive maps with d3.
A comprehensive video course to create geospatial data visualizations with javascript and d3.
Learning d3 can be hard
You not only need to learn d3 but a lot of other concepts before that.
- SVG/Canvas
- HTML
- Javascript
There are a lot of ways of doing things in d3. There is no one approach.
If you search on social networks and google, there are a ton of tweets and blog posts about why d3 is hard for them.
Learning with examples is frustrating
Most people learn d3 by looking at examples and changing parts of it to fit their needs.
You iterate on these examples, look at the documentation, maybe consult a book or look at videos on YouTube.
But people get frustrated using this method.
Undocumented example code makes it harder to learn
A lot of examples don’t have of comments or explanations. Which makes it hard to understand what is being done.
Potentially bad code is hard to fix
Everyone can create examples with d3, and it’s hard to know the experience level of the creator.
Examples may have bad or repetitive code. If you learn with these possibly bad examples, you could learn the wrong things.
Old examples lead to more frustration
Thanks to the introduction of observable more examples are created with the current version of d3. But on bl.ocks a majority of examples are still created with v3 which was replaced in 2016 with v4.
Most d3.js tutorials only scratch the surface
Inspired by the amazing @milafrerichs #D3 workshop at #foss4gna, I was able to create an interactive globe map of my twitter friends.
Chris Marx
How this course is different
Geospatial Data Visualization with d3 will help you take a more focussed approach for learning d3.
Retain more by learning with projects
Project-based learning is believed to result in more in-depth knowledge through active exploration of real-world challenges and problems.
Self-check your learning
Check what you learn after each section with exercises.
Stay on top of your learning path
Weekly accountability emails will help you stay on top of your learning experience and keep you motivated.
Get help from peers
You will learn with a group of 5 poeple and will be able help each other. You will get access to a forum and we will have byweekly group video calls.
Modeled from successful hands-on workshops
This course is modeled from hands-on workshops at geospatial conferences I gave over the last three years.
I iterated on the format, the course content, and examples over the years to land on this course format and content.
Conferences I gave this workshop at:
- NACIS 2019
- FOSS4G UK 2019
- FOSS4G North America 2019
- FOSS4G Oceania 2018
- FOSS4G 2017
If you’ve ever wanted to make maps and visualizations in d3, check out @milafrerichs new online course. I’ve taken his workshop @foss4gna and was impressed.
Joshua Campbell
What's included!
Module 1
Simplest Map Possible
SVG Basics
Understand and learn the basics of SVG. What elements we will use and what attributes they have.
Selections
Learn the very important concept of selections in d3.
Projections
How projections can be used with d3 and how they work.
Project Exercise
Apply what you have learned in the project exercise.
Module 2
Housing Burden: Essentials
We look at the amount people of Chicago need to invest in housing. There is an interesting dataset from the city of Chicago.
We first create a basic Choropleth map to visualize the housing burden per neighborhood. The info window will include a bubble map as well with additional data.
We then move forward and create a dashboard with interactivity, tables, and small multiples.
Path object
How the SVG path element works and in-depth explanation of the d attribute.
GeoPath object
How d3 helps you create path elements from latitude & longitude coordinates.
Loading Data
How to use d3 to load GeoJSON and CSV data.
Data Join
Understand one of the most difficult concepts for beginners and intermediate d3 users: data joins.
Project Exercise
Apply what you have learned in the project exercise.
Module 3
Housing Burden: Interactivity
Events
Understand and learn the basics of events in d3. Especially mouse events.
Tooltip
Understand and learn the basics of tooltips in d3.
Zoom
Understand and learn the basics of zoom in d3.
Project Exercise
Apply what you have learned in the project exercise.
Module 4
Housing Burden: Bubble Map
Circle Object
Understand the use of the circle SVG element and how we will use it for bubble maps.
Advanced Scales
More in-depth walkthrough into scales and how we will use them for bubble maps.
Project Exercise
Apply what you have learned in the project exercise.
Module 5
Housing Burden: Advanced Concepts
Annotations
How to enhance your map with annotations
Small Multiples
What are small multiplies and how to use them.
Reusable Code
How to create code that is reusable among projects and make updating your chart easier
Responsive Maps
Create responsive maps with d3, how to react on changes to the browser size.
Animations
How to use transitions to animate your map.
Project Exercise
Apply what you have learned in the project exercise.
Module 6
Housing Burden: Dashboard
Project Exercise
Apply what you have learned in the project exercise.
Module 7
Election Maps
We look at a mock election for a city. I will provide a server with real-time data of results and we use Choropleth maps and Cartograms to visualize the election results.
- Live-update your map
- Switch geographies
- Cartograms
- Multivariate Choropleth
Module 8
NO2 Maps
Using satellite raster data we look at NO2 levels in different cities around the world.
- Load and display raster data
- Animate raster data
- Contours with d3
Module 9
Single Family zoning in San Diego
We look at zoning data for the city of San Diego and look at different ways to map
How to use canvas to visualize all buildings in San Diego and their property zone.
- Use canvas for maps
- Zoom with canvas
- Events with canvas
Advanced Content
The more advanced part of the course is still t.b.d. and you can influence the direction of the course.
- Hexbin Map
- Basemaps
Bonus Content
Bonus: Data Aggregations with d3
- Grouping
- Summarizing
- Statistics
About the instructor
My name is Mila Frerichs. I am working with d3 for about five years and teach people d3 for about three. My first d3 workshop was back in 2015 when I was still in college.
Since then I gave iterations of the d3 mapping workshop at five different conferences around the world.
I run my own consultancy working with non-profits creating data visualizations and tools.
I have a dog and love the outdoors, hiking, swimming, climbing, wakeboarding and more.
I would love to have you join me on this journey through d3.
What kind of maps will you be able to create after you‘ve gone through the course?
Attributions:
Hexbin map at top: Mike Bostock
Choropleth Map: New York Time
Bubble Map: Washington Post