deleted
Diary Entries in English
Recent diary entries
In downtown Minneapolis, MN, USA, there are 80 linked blocks of connected buildings, making up the largest distance of indoor navigation in the world[1]. The “Skyways” are a mix of interior hallways, unmarked tunnels, stairs, pedway bridges, and occasionally outdoor 2nd Floor paths which connect hundreds of local businesses. Each building sets its own hours and holiday schedules for it’s portion of the skyway.
There have been a few PDF maps and maybe a defunct app here and there. Sometimes the city publishes a list of businesses as PDF. But to truly improve the skyway, data needs to be accurate, editable, and updated for ever-changing city.
Skyway.run
I created Skyway.run (a web app) to make the skyway easy and fun to use. And an app that is easy to improve.
The app includes walking navigation filtered only to the skyway system, and highlights the changing hours and holiday/event schedule of each building. You can click a building and see the businesses inside, and easily jump to OSM to update the data.
Now I need help mapping the skyways.
Improving Skyway Data
OpenStreetMap is the data source for Skyway.run, and anyone can enroll as an editor to OSM. Once you create an account, there are a few ways you can help improve the data of the skyway:
- Delete businesses that are no longer operational and add new businesses moving in.
- Change the
opening_hoursfor buildings and businesses as you walk past their signage. - Update the walking footpaths and building shapes of the skyway system itself.
Starting with small changes like updating a business node is the best way to learn OSM editing. There are several editors for making changes, and each one has its own strengths. Try them out based on how you plan to map:
What are Super Mappers?
Update: This new feature is live on Tasking Manager as of 14 October 2025
HOT’s Tasking Manager is about to undergo the most significant user experience upgrade since 2020. A brand new Super Mapper level will be introduced, one step higher than ‘Advanced’ mappers and much more rigorously assessed.
Entry to this new mapper level will require you to attain a series of new badges, which are automatically allocated to mappers based on the number of objects mapped. Once you have the required badges, a human assessment will then grant access to this most prestigious of mapper levels!
Wait, badges? Yes, badges are also a completely new feature with this upgrade. Users will automatically attain badges once they have made a certain number of edits, for example: mapping more than 1,000km of roads will grant you a highways badge. Once you’ve attained a badge you’ll see it against your public user profile page on Tasking Manager.
This is how the badges and Super Mapper level will appear on your user profile page in Tasking Manager (once you have them!):
HeiGIT recently published an analysis together with the German Federal Agency for Cartography and Geodesy (BKG), comparing land cover data from OSM with the official CORINE Land Cover (CLC) dataset from BKG.
I want to use this opportunity to make an appeal to HeiGIT and similar projects analyzing OSM data: just because data is published by an authoritative (mostly government) source does not make it more correct than OSM.
I’ve often observed that OSM is compared to external datasets, and the analysis is framed around the question of whether OSM is “right.” This framing does OSM a disservice, because it suggests OSM is wrong and the other dataset is right.
In reality, all open datasets I’ve compared with OSM—whether bicycle parking, public parking spaces, buildings, cycling infrastructure, or cycling routes—have always contained errors in both datasets. The reality is: the publishing authority has no inherent influence on data quality.
Of course, this does not mean such comparisons should be avoided. They are very useful and important. But I urge that the way these analyses are communicated be reconsidered. The communication must make clear that such comparisons are evaluations of both datasets, aimed at finding similarities and differences. It must be explicit that this is not an evaluation of correctness.
Correctness of data can only be checked through ground truth and usually by sample analysis. This is a lot of work, but only this approach can truly allow for an assessment of data quality.
At this point, it would also be valuable for such analyses not only to acknowledge that all datasets contain errors, but also to highlight one of the central advantages of OSM compared to other datasets: how errors are handled once they are found.
The Street Spirit style contains the code used by the OSMF’s Vector Tile Service. This doesn’t make sense at first glance but requires some knowledge of the history and planned future direction.
A style like Street Spirit requires code for loading OSM data into a database, code for turning the database contents into vector tiles, and a MapLibre GL style to create a viewable map. Genenerating Shortbread tiles requires the first two of these, but there are existing styles out there that turn the vector tiles into a viewable map.
Some features are common across maps. Building polygons are a good example — almost every map will need the same data in the database. Street Spirit was started before the OSMF Vector Tile work, and this gave me a starting point for the code from Shortbread. I combined this with the experimental osm2pgsql themepark shortbread theme.
Long term the plan is to keep as much code in common as possible, and have the option to generate Street Spirit tiles, Shortbread tiles, or both. Generating both would happen out of one database with reduced duplication.
Right now I’m in the middle of this process. A lot of work has been done on Shortbread, but Street Spirit hasn’t been a focus. The reason the Shortbread code is in the Street Spirit repository is not because of what it is now, but because of where it came from and where it’s going.
You can find a German version of this article here: Navigation Control oder Zoom Control in MapLibre
In this post, I’m considering how to customize the Navigation Control and Zoom Control in MapLibre for different scenarios—such as depending on whether a pointer is available or the size of the screen. I’m also wondering whether CSS or JavaScript would be the better approach.
My goal is to display the Navigation Control only on devices where it makes sense and provides a good user experience. Since I’m new to this topic, I welcome any thoughts, feedback, or suggestions for improvement.
Navigation Control or Zoom Control in MapLibre
I’ll start with a simple example:
<!DOCTYPE html>
<html lang="de">
<head>
<title>Demo Navigation Control</title>
<meta charset="utf-8">
<meta name="viewport" content="https://wiki.openstreetmap.org/wiki/Tag:width=device-width, https://wiki.openstreetmap.org/wiki/Tag:initial-scale=1">
<meta name="description" content="Demo Navication Control 1">
<link
href="https://unpkg.com/maplibre-gl@latest/dist/maplibre-gl.css"
rel="stylesheet"
>
<script
src="https://unpkg.com/maplibre-gl@latest/dist/maplibre-gl.js"
></script>
<link rel="stylesheet" href="index.css">
<script type="module" src="index.js" defer></script>
</head>
<body>
<div id="map"></div>
</body>
</html>
const map = new maplibregl.Map({
container: "map",
center: [12, 50],
zoom: 6,
style: "https://tiles.versatiles.org/assets/styles/colorful/style.json",
});
map.addControl(new maplibregl.NavigationControl({}));
body {
margin: 0;
padding: 0;
}
html,
body,
#map {
height: 100%;
}
Long time OSM user and occasional contributor, I recently found out that I can import bus stops from the operator* data for the area of Grenoble, France. For the moment I just want to import stop points which don’t exists in OSM.
I described all the process in this wiki page and, as it seems that mass imports are not always a good idea, I’d be happy to read any comment or tips ! I am currently discussing with locals contributors and doing some tests import on the dev server
* the data producer is not really the operator of the bus
In the English Channel, technically outside of the UK, there are the Crown Dependencies of Jersey and Guernsey. Aside from the main island of Guernsey there are three related islands: Alderney, Herm, and Sark. I visited the latter two by ferry earlier this month.
You can find plenty of travel photos of these places, so I will try to focus on the niche topics of mapping and car-free communities.
Herm is the smaller island with ~60 permanent residents. They have even banned bicycles? I had two hours and mapped a newer business and a sculpture near the quay. There is a one-person hut with a sign saying it’s their jail/gaol - I wasn’t sure if it was a joke?
One of the boat landing sites was a bit precarious:

I’ve been a geography nerd for my entire life. Recently, I’ve gotten into OSM as part of my need to map bike lanes for an advocacy article on bike lanes.
Initially, I mapped manually using Mapbox studio. Yes, it was tedious.
A bit more research led to OSM. I checked ways to pull down bike lane tags. That led me to the world of OverpassQL, with Overpass Turbo and the Overpass API. Along the way, I also got a taste of tagging with the need to find bike related infrastructure. Apparently, all the tags here apply:
- bike=
- cycleway=
- cycleway_left=
- cycleway_right=
- cycleway_both=
Quite fun.
I managed to put my query together. Google Gemini search AI tried to be helpful with query suggestions. It was of limited accuracy.
After realizing that some infrastructure was missing, I had to consider maintenance of my underlying data. With OSM being an open source project, I decided to become a contributor.
The iD webapp was too limited for me. I’ve worked extensively with ArcMap before. JOSM was my tool of choice.
That leads me to today. I found additional bike maps (cycleOSM) that were nice but not illustrative enough. I also made my first updates to OSM. JOSM certainly has a learning curve but it’s mild.
I’ll still be making my own queries and I still plan to use Mapbox for my visualization. Will also have to test out Esri’s visual storytelling features.
More to come.

There are a number of ongoing discussions about the geocoder on osm.org (Nominatim) in the forum at the moment. These include spelling tolerance, how it might work with data that does not exist in OSM yet and what it actually returns.
Sometimes the results of the last of those can be a bit odd. Here for example is a post office not far from me. The returned data (“Stillington Post Office & Stores, Main Street, Stillington, York, North Yorkshire, York and North Yorkshire, England, YO61 1JS, United Kingdom”) has three things that could plausibly be a county in there - York itself, North Yorkshire, and York and North Yorkshire. In OSM these are respectively a nearby https://wiki.openstreetmap.org/wiki/Tag:place=city node, and encompassing https://wiki.openstreetmap.org/wiki/Tag:admin_level=6 and https://wiki.openstreetmap.org/wiki/Tag:admin_level=5 relations.
If there’s one thing people who know me will say, it’s that I’m a proud Lokeraar through and through. The history of Lokeren, and the way the city keeps changing, has always fascinated me.
It all started in 2019 when I began editing Lokeren’s Wikipedia page. I wanted it to be more than just a dry article—I wanted it to reflect the city’s character with accurate and engaging information. After two years of expanding and polishing, I felt I had done my part there, and I started looking for other ways to put Lokeren on the map.
That’s when I discovered OpenStreetMap in 2021. My first edit was just a tiny stream in Lokeren. But from that small start, it turned into a real passion. Before long, I was mapping everything: trees, bike paths, parking lots, even new buildings as they appeared.
Now, four years later, I can proudly say the mission has been a success so far. But it doesn’t stop here—Lokeren keeps growing, and so does my map. And honestly, that’s the best part: there’s always something new to add, and always another story to tell about my hometown.
This is the story of how I mapped the islands off the west coast of the Korean Peninsula. The story began on July 24th (two months ago). I thought long and hard about what mark I should leave on cartography, what was within my capabilities? And the task that seemed feasible to me was to map the islands of South Korea. TTheir number is limited, and the territory between them is much smaller than on the mainland. So, I realized it was a realistic task. All that remained was to find a way to start. I needed not the smallest, but not the largest island either, something that would be a great start. And so I selected the islands of the 영흥면: 영흥도, 선재도, 측도, 부도 and about a dozen more less significant ones.

I did all the work using an ID editor. My skills at the beginning were extremely mediocre, but I learned a lot along the way.
선재도 Island
Background
In 2023, New Brunswick (Canada) underwent a province-wide restructuring of their municipal boundaries. This consisted of 77 Incorporated Municipalities and 12 Unincorporated Rural Districts. Between 2023 and 2025, only a small handful of these boundaries were actually imported into OSM. Thus, I took it upon myself to begin what was my largest project ever, a full import of the updated boundaries across the province.
I saw it fit to write up a post summarizing the work that was done, along with some of the rationales for certain tagging methods used in this project, in order to maintain consistency both now and into the future. It should be noted that this was not an automated import, every kilometer of boundary was manually reviewed. The data used was from GeoNB, under the Open Government License – New Brunswick.
Pre-Import Phase/Admin Level Restructuring
When I started this project, New Brunswick’s existing boundary data was a complete mess, some larger cities had admin_level=6 boundaries, while other incorporated municipalities were tagged admin_level=8, and parishes were sharing admin_level=6, leading to overlaps. For instance, Saint-François Parish and Haut-Madawaska were both tagged admin_level=6, despite them occupying the same geographical area.
To fix this problem, I decided to shift all Parish boundaries to admin_level=8, and assign admin_level=6 to all municipal boundaries. The new admin level hierarchy is logical because Parishes are not incorporated government entities and have no modern-day purpose. Furthermore, it more closely resembles data in other provinces in Canada (such as Alberta, Quebec, and Nova Scotia), which prioritize admin_level=6 for municipal districts. Both the New Brunswick wiki as well as the Canada admin level wiki pages were updated to reflect these changes.
Below are some examples of the admin_level tagging schema before and after my updates:
Example 1 [Before]:
97394 addresses completed.
As I’m interested in pedestrian infrastructure, I asked myself what percentage of all sidewalks in Germany has already been mapped.
It is difficult to answer this question because I do not know the total number of sidewalks in Germany. However, it is possible to change the question slightly to make it easier to answer: How many streets in Germany contain information about the presence of sidewalks?
This is easier to answer, because we can assume that all streets of Germany have already been mapped. Therefore, to answer the question, we just have to count the streets that contain the desired information.
Sidewalk tags
Currently, four tags are in use for mapping sidewalks: sidewalk, sidewalk:left, sidewalk:right and sidewalk:both. The tag sidewalk was introduced around 2010 and is still widespread, accounting for around 80% of all sidewalk tags:

Artificial Intelligence OpenAI Maps4 and finance. Things are progressing beautifully.
I am telling it what to do in English, and it’s writing the tags for me and making the edit. I will review everything it does and not do anything with it that I wouldn’t do by hand (but more tediously).
On September 20th, 2025, the Oyomappers Team had an amazing time participating in a map and clean-up event sponsored by the Humanitarian Open Street Map Team (Hot). We used Chatmap to help us with the exercise, and it was truly impactful!
During the cleanup at Ajegunle Market in Oyo, Oyo State, Nigeria, the atmosphere was filled with joy. The community was so grateful, and we felt their warmth as they expressed their appreciation and prayed for us. It was a wonderful experience to be part of something so positive!
This afternoon, while pondering and daydreaming about seriously quitting OSM for real, I ventured into the land of Wikimapia.
Then I stumbled upon a conversation between high-ranking admins over there.
“Why did you delete a number of TNB sub-stations from the map? Don’t you think those tags were useful, to some people at least? I think the user(s) who initially created those tags put a lot of effort in detailing the model nos., etc. for some of the sub-stations. Thanks.”
“The TNB sub stations is not a place. It just an OBJECT just like small bridges, security guard post, small jetty etc. Different with a PLACE such as Pulau Pinang Bridge or any big bridges, police station or a port such as Port Kelang. As you can see there are few users that like to tag a small roadside stall and a small public toilet. That also is in the list for deletion. You must know to differentiate what can be tag and what can’t.”
“I was under the impression that anything permanent of some importance (except personal houses) could be tagged. If that’s the case, people shouldn’t be tagging ATM machines, telco towers, transmission towers, etc. To be honest, I disagree with you on this point as TNB substations are permanent and important to some people as I mentioned before.”
“You may disagree with me but TNB sub stations is not an important objects for WM users. It just like tagging a bus stops and taxi stands if you know what I mean”
Well, maybe I should stay in OpenStreetMap.
Jokes aside, I’m quite surprised that Wikimapia is still active today. I still see several Wikimapia mappers still doing dedicated micromapping in their respective neighborhoods.
One of the trickiest challenges in OSM is when a river (or any linear water feature) doubles as a regional or administrative boundary.
Rivers shift course over time; floods, erosion, and meanders, while boundaries often remain legally fixed. The result? Misalignments, overlapping lines, or confusing gaps on our maps.
For many contributors, editing such overlaps is daunting. Boundaries are sensitive, technically complex, and mistakes can cause big issues. Yet, leaving them mismatched affects disaster planning, legal clarity, and overall map quality.
My Question to Experienced Mappers 🙏
How do you decide whether to follow the legal boundary or the current river course?
Rivers don’t wait. Boundaries don’t move. But as mappers, we can bridge the gap. I’d love to hear your experiences and solutions!
Qwajo OSM