My 30-Day Map Challenge 2023
Introduction
As many of you know, the 30-Day Map Challenge is a social media event where people passionate about maps create a topic-based design for 30 days in November. You can find more information about it on the official website. Just a few people handle creating a map that is fully presentable for every topic and they publish every day in social media. On the other hand, some people select their favorite topics and publish only those days. I am part of the second group of people.
In this story, I want to describe an overview of the map design process I went through. I selected my favorite topics and spiced them up using an algorithm. I believe it is important to create maps that can show "something else" in addition to the data itself and the best way is with an algorithm outcome. Maps should give a clear visual message at first glance and if possible more detailed information for experimented map-readers.
Let's look at the maps.
Data
- Open Street Map data. Licensed under Open Data Commons Open Database License (ODbl) or attribution license. Users are free to copy, distribute, transmit and adapt the data as long as it is attributed to the author like © OpenStreetMap contributors.
- Kontur population dataset. Kontur Population is available under Creative Commons Attribution International (CC BY) license. You can use it for any purpose, even commercially.
- OpenCell ID. The database of OpenCell ID is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
- MODIS NASA DAAC. The collections comply with NASA's Data and Information policy, which promotes the full and open sharing of all data with the research and applications communities, private industry, academia, and the general public (the term data includes observation data, images, metadata, products, and documentation).
- Tartu Open Data. Under the license Creative Commons Attribution-ShareAlike 3.0 Unported (CC-BY-SA 3.0) we are free to share, copy, redistribute, adapt, remix, or build upon even for commercial purposes.
- SEO BirdLife data. The dataset has a private license for use to GIS4 Wildlife and their representative. Mainly, the products of visualization can be shared publicly but no codes, algorithms, data, or derivation of data.
- IUCN Red List. The data are made freely available for non-commercial use, to help inform conservation planning and other non-commercial decision-making processes (see Terms and Conditions of Use).
Points
The point map of proximity represents the closeness measured by the distance between every OpenStreetMap (OSM) building and the OSM Fire Stations. Every point is the centroid of every building. Then, I attributed the Euclidean distance using the Nearest Neighbor algorithm. This algorithm saved a lot of time in terms of computation. A nice visual effect was added to the point map using the closeness (distance) as a point size (smallest and red means farther away building). Check this tutorial.
Nearest Neighbor Analysis for Large Datasets in Helsinki Region
The map was done with QGIS.

Lines
The line map shows the accumulated travel distance between OSM Residential Buildings and the Central Railway Station. As I had over ~19K residential buildings I needed to build also exactly 19070 routes. Thankfully, I had available a 16-core supercomputer at my work at Aalto University (Finland) where I parallelized the process. The routes were created using the Shortest Path (Dijkstra's Algorithm) implemented in the OSMnx Python library. The map has a nice visual effect in the line width where the shortest paths to the city center are thinner (in white) than the longer paths (in red).
The map was done with QGIS.

Polygons
The polygon map was done with Isochrones __ from the Central Railway Station in Helsinki. The generation of the 2-minute Isochrones was challenging because the Valhalla API was breaking frequently. But after some tests, it finally worked. I did it using the routingpy Python library.
The visual effect of this map was to remove the polygons that were over the sea. Fortunately, I managed to clip the Isochrones delimited by land with an accurate layer of the sea. I don't recommend being that picky because that clip took me a lot of time.
I changed this map from the original post because it is best to keep the natural limit of the Isochrones.
The map was done with QGIS.

Navigation
The navigation map shows two routes between two long-distance points in Morocco. The Origin and Destination were suggested by a student who needed some support. I wanted to understand how two paths vary if one is weighted by distance and the second by time. So, the shortest and the fastest. The paths were created with the Shortest Path (Dijkstra's Algorithm) using the OSMnx Python library.
I added the road network behind the map and gave it a 3D turn. The code is available online.
Dijkstra's algorithm weighted by travel time in OSM networks
This map was done in KeplerGl.

Hexagons
This hexagon map was done using the Kontur population data. The subset of population aggregated per country at 400m gives a clear overview of the population density. The challenge in this map was to add the Canary Islands to the side of the map. Thankfully, QGIS can add frames with different locations, so I included all the islands.
If you are willing to go aggregations in hexagons like this example you can use the H3-pandas Python library.
Map done in QGIS.

North America
This map was done at the global level using the H3-pandas Python library. The data aggregated in H3 resolution 6 was the OpenCellID that contains cellular antennas worldwide. Then, I just framed the North America. The challenge in this map was to read the global data. Thankfully, the process could be done using the Dask Python library.
You can find the code you need to handle Cellular Antenna data online.
Map done in QGIS.

South America
Every time that South America is mentioned I think of the warm water of the coastline of Ecuador. I wanted to show how attractive the Sea Surface Temperature (SST) can be colored. I used the MODIS OB DAAC data catalog at the global level for November 2022 in this map. Then, I framed the South America using QGIS. The challenge in this map was to find a proper color palette.
If you want to work independently with SST. Find code access here:
Monitoring Sea Surface Temperature at the global level with GEE

Europe
Making this map was an enjoyable process. I got a dataset from May 2022 of GPS locations of bike-sharing data from Tartu, Estonia. Then, I transformed the high-quality GPS data into traces (LineString) using the Python library Movingpandas which made it handy. I added the distance and colored the traces; it has an amazing visualization of how people use the bike for short and long distances.
Tartu is the European Capital of Culture 2024. Generally, it is considered a 15-minute city because you can bike or walk everywhere. Visitors will be fascinated by how mobility has been done easily in this city and this map reflects how bike-sharing is well distributed all around the city.
Take a look at Python code showing how to use Movingpandas.
Bike-sharing system movements to the Metallica concert in Tartu, Estonia
This map was done in QGIS

Flow
This map was part of the visualization project next to GIS4 Wildlife and SEO BirdLife. The challenge in this map was to fit all the bird migration data (GPS) into a spatial-temporal visualization. This project has been crafted using private code and algorithms but happily, I can share the final visualization. Indeed, KeplegGl is the best tool for spatial-temporal visualization.

3D
Same as before, I used the Valhalla API for the Isochrone generation. The challenge here was to add the proper values for the 3D elevation. I needed to include the distance backward so the very small Isochrone has a taller view than the large Isochrone. Tricky, but worked nicely for a 3D map.
This map was done using KeplerGl.

Antarctica
The first thing that came to my mind when listening to Antarctica is the marine mammals that live there. Penguins as well of course. Fortunately, I found a layer with the distribution of those species I had in mind and I understood that they are considered threatened species. The IUCN provides the distribution layer of marine-terrestrial mammals and it is located in Antarctica. The challenge in this visualization was the projection and the overlay. Thankfully, QGIS did the work so well using the Antarctic Polar Stereographic.
This map was done in QGIS. This map is removed from this selection for data license regulations. But, you can check the map directly on Twitter.