this is _default loayout

Recent Post

Calculating the reachability of Metro stations in Milan

Calculating the reachability of Metro stations in Milan

Some time ago I saw a reddit post on r/milano presenting a visualization of the nearest Metro or train station in the city of Milan. In short, it indicates for each station which area is “covered” by it, having it as the closest station.

That visualization uses Voronoi cells built with the Metro stations as the centers, and the distance metric is then the geodesic distance (“as the crow flies”), but if a station is easy to reach by tram or, on the other side, is surrounded by railways or highways making crossing difficult this distance will not represent well how “reachable” the station is by someone walking or using the tram.

...

Making a fully static map, part 3: Text search

Making a fully static map, part 3: Text search

NOTE: a complete interactive demo of the final result is here.

In the previous post of this series, we saw how to generate vector tiles starting from an OpenStreetMap PBF extract using Tilemaker.

After the article I refined the process and wrote a Python tool to automate it, adding the possibility to index named objects like streets and shops.

Usually, such a search would be performed using a geocoding service that can handle the full text search with all the nuances like alternative spellings, typos and ambiguities.

...

Making a fully static map, part 2: Vector tiles

Making a fully static map, part 2: Vector tiles

UPDATE: I created a Python tool to automate this process, including a refined style and packaging. I suggest using it.

In the previous post of this series we saw that an extract of the data from OpenStreetMap can be easily transformed into a set of raster tiles, essentially fragments of the map at different levels of zoom, arranged in a structure that enables a library like Leaflet.js to fetch them as needed when the user zooms and pans on the map.

...

Making a fully static map, part 1: Generate raster tiles from QGIS

Making a fully static map, part 1: Generate raster tiles from QGIS

In this article we are going to implement an interactive map that can be included in a fully static website.

By fully static I mean that the map does not rely on any external service nor a backend, it is just a bunch of files served directly by nginx (like this blog) or even a CDN. This approach is generally cheaper and simpler to operate, maintain and migrate, without depending on external services whose terms of use may change. It is also extremely flexible in regard of what and how can be displayed and can be ported to non-web apps.

...

Render a building in 3D from OpenStreetMap data

Render a building in 3D from OpenStreetMap data

Since quite some time I have an interest in GIS and rendering, and after experimenting with the two separately I decided to finally try and render geographical data from OpenStreetMap in 3D, focusing on a small scale never bigger than a city.

In this article I will go through the process of generating a triangle mesh from a building shape, rendering and exporting it in a format suitable for Blender or game engines like Godot. I’m not an expert in the field but I’m sure there are people out there facing the same issues that may enjoy reading this.

...

Create an animated heatmap from a Google location data Takeout export

Create an animated heatmap from a Google location data Takeout export

I love to go around by bike, and Berlin offers a good choice of paths to explore. However, after some year in the city I did realize there were areas I never visited and routes I did so often to become boring.

Out of curiosity I tried to process my own location history to map the places I visited more often and, to tell the routine commute habit apart, visualize the time of the day of a visit. The code is on github and of course it’s open source.

...