OpenStreetMap logo OpenStreetMap

Who's the Most Active Mapper in City X?

Posted by rphyrin on 20 May 2025 in English. Last updated on 23 May 2025.

So, I got invited to speak at a certain OSM community’s monthly online talk.

Nice, right?

Well, there’s just one problem: I have absolutely no idea what to talk about.

Sure, I could present one of my recent OSM-related programming projects, or share updates on what I’ve been mapping over the past few weeks. Maybe even talk about my personal hopes and dreams for the OpenStreetMap movement—or write a more reflective essay on the movement’s progress and future.

The deadline is still a ways off, so while I mull over the best topic, I figured I’d start with something simple. Something fresh. Something that literally popped into my head minutes before writing this post.

It all starts with a very basic question:

“Who is the most active mapper in city X?”


Why This Question Matters

If answered properly, this question could open the door to a whole series of follow-ups:

  • Are they local, organic contributors—not affiliated with a distant organized mapping group but actual residents who have lived in the city for a long time?
  • What does their OSM diary look like?
  • What have they been mapping lately?
  • Are they part of a local mapping group?
  • Have they initiated any projects in the past—or are they running one now?
  • Can we collaborate with them? Reach out?

Active mappers are often the “local ambassadors” of OSM. They can be our primary point of contact for a specific area—people who know the region inside out. They might even offer local tips, points of interest, or become a valuable reference for others mapping or traveling to the same area. Sometimes, these mappers even maintain detailed wiki pages for their city—outlining points of interest, transit routes, historical context, recent updates, or even personal anecdotes.


Meet Your Mappers

As a regular editor for WeeklyOSM, I come across all sorts of gems—news, tools, and stories from across the OSM universe. One of the more interesting discoveries recently was a tool called mappers.osm.lol, also known as “Meet Your Mappers!”

Here’s how it works:

  • Log in with your OSM credentials
  • Select a region
  • Click “Meet My Mappers”

And voilà—you get a list of active mappers in the selected area.

Neat, right?


How Does It Work?

Thankfully, the source code is open, so I took a peek under the hood.

Turns out, it uses the full changeset archive from planet.osm.org.

The weekly changeset dump alone is around 7.1 GB at the time of this article’s writing.

From what I can tell, the app parses and processes changeset data to build an index of contributors. It uses PostgreSQL for the database and Docker to containerize the app. Configuration is handled via a .env file.

By looking at the programming language breakdown on its GitHub repository, my rough guess is that the app is built primarily with Python (~40%) and JavaScript (~31%). Python handles the backend logic for communicating with the PostgreSQL database and also uses FastAPI—a Python web framework for building APIs.

Changeset data is loaded into a PostgreSQL database, where it can be queried and analyzed. But there’s a catch: it doesn’t process all changesets. By default, it uses a RETENTION_DAYS setting (365 days) to limit the data to just the last year. So if a prolific mapper was active two years ago but hasn’t edited anything since, they won’t show up in the results. That explained why some results didn’t align with my expectations.


What If You Want All Changesets?

If you want to go deeper—say, analyze all changesets from the very beginning—you can do that too. But it comes with a price: disk space and processing time.

The compressed changeset archive is around 7.1 GB, but once extracted, it becomes a very large XML file.

There’s a tool for that: ToeBee/ChangesetMD. It parses changesets into PostgreSQL for querying. It even includes sample queries.

One query, for example, counts all changesets within a bounding box:

SELECT count(id)
FROM osm_changeset c,
     (SELECT ST_SetSRID(ST_MakeEnvelope(-74.0474545, 40.6884971, -74.0433990, 40.6911817), 4326) AS geom) s
WHERE ST_CoveredBy(c.geom, s.geom);

Note:

  • ST_MakeEnvelope(…) creates a rectangle (bounding box) defined by two corner points— the lower-left and upper-right corners.
  • ST_SetSRID(…, 4326) assigns the spatial reference system (WGS 84).

Want to find the most active user in that area? Just modify it slightly:

SELECT c.user_name, COUNT(*) AS changeset_count
FROM osm_changeset c,
     (SELECT ST_SetSRID(ST_MakeEnvelope(-74.0474545, 40.6884971, -74.0433990, 40.6911817), 4326) AS geom) s
WHERE ST_CoveredBy(c.geom, s.geom)
GROUP BY c.user_name
ORDER BY changeset_count DESC;

This would give you a ranked list of mappers based on the number of changesets they’ve made within the specified area.

But again—processing all of this data yourself requires at least 100 GB of free disk space and a few hours of CPU time. The author of ChangesetMD stated that it takes 2–3 hours to import the dump on a decent home computer. Right now, I’ve only got 38.9 GB of space left. So, yeah… that’s not happening today.


Let’s Stick With the Web App (for Now)

For now, the 1-year retention on mappers.osm.lol is good enough for quick analysis and outreach. It may not uncover the true historic local kings of the map, but it can tell us who’s currently active in the area—and that’s a solid starting point.

By the way, out of curiosity, I looked up who owns the osm.lol domain.

whois osm.lol
dig osm.lol

Registered via porkbun.com, created on 2022-10-29, last updated on 2024-12-12, set to expire on 2025-10-29, and hosted on Cloudflare.

Seems like a small suite of OSM tools lives under that domain. A quick Google Dork (inurl:osm.lol) reveals subdomains like:

  • 2008.osm.lol
  • way.osm.lol
  • first.osm.lol
  • files.osm.lol
  • i.osm.lol

It seems to be a collection of OSM-related tools created by someone.

Email icon Bluesky Icon Facebook Icon LinkedIn Icon Mastodon Icon Telegram Icon X Icon

Discussion

Comment from dknelson9876 on 21 May 2025 at 03:47

If you actually want to know, over on the OSMUS slack user mvexel claimed ownership of Meet Your Mappers (and the rest of the tools on this domain, I think)

Comment from pedrito1414 on 21 May 2025 at 08:31

Hi, interesting post. This work from Ruben might be relevant to your quest! @nukeador/diary/402935

Comment from mvexel on 21 May 2025 at 15:04

yea that’s me :)

  • 2008.osm.lol is https://git.sr.ht/~mvexel/osm-vintage-tiles but currently broken (it runs on an X220 laptop in my office and I think I just need to reboot it)
  • way.osm.lol is something I made for my own use, it’s not very well written so I never publicized it but you’re welcome to use it. It gives you basic information about an OSM feature including its history. https://git.sr.ht/~mvexel/thisistheway
  • first.osm.lol is something I talked about here - basically let an llm generate a positive message about someone’s first changeset that you can share on social media. I think there’s still some credits on it left, so you’re welcome to try it, for example https://first.osm.lol/?changeset=23423 I don’t think I published the source code but happy to share if you are interested.
  • files.osm.lol / i.osm.lol have nothing to do with OSM, this is where I host images for my blog.

Comment from mvexel on 21 May 2025 at 15:06

And thanks for writing up mappers.osm.lol! I think it’s useful to find active mappers in your area, I use it myself to write to active mappers and invite them to osmutah.org events.

Comment from mvexel on 21 May 2025 at 15:08

I will be talking briefly about this project at the upcoming State Of The Map U.S. – if you can you should attend!

Comment from ChristopherGS on 22 May 2025 at 02:52

Looks like an interesting project, although I can’t get it to work (Chrome, Edge, no extensions).

I get stuck in a cycle of “Welcome! Please log in with your OSM account to continue.” which prompts me to login and give it permissions, which I do, and then I get the login message again.

Comment from mvexel on 22 May 2025 at 14:54

Christopher – a few users have reported this and I have been unable to figure out what causes it. There’s a ticket open here: https://todo.sr.ht/~mvexel/tracker/1

Log in to leave a comment