OpenStreetMap logo OpenStreetMap

Diary Entries in English

Recent diary entries

Posted by prispe on 21 September 2025 in English.

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!

Posted by rphyrin on 21 September 2025 in English. Last updated on 22 September 2025.

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.

See full entry

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 River & Bourdary over each other - merged

Location: Kwapro, Cape Coast, Cape Coast Metropolitan District, Central Region, Ghana
Posted by rphyrin on 20 September 2025 in English.

While working on an OSM-related statistics project that I need to present in the next few months, I stumbled across some ‘conversations of the past,’ scattered in changeset comments and block reports.

Some of those conversations triggered a strong emotional response in me—so much that I had to pause for a quick breather. I think I’ve just been exposed to a serious infohazard.

Then I remembered “that page” on Wikimedia Meta-Wiki.

Wikistress is stress caused by activity on a wiki like Wikipedia such as conflict, vandals, trolls, edit wars, and incivility.

I’ve suffered this kind of stress several times on Wikipedia, and now—since OSM is by nature quite similar to Wikipedia—I’ve relapsed again.

By the way, on that page, there are several tips for dealing with personal wikistress. I think we can adapt those tips to the OpenStreetMap context.

“Edit a less controversial page.”

Instead of big, difficult tasks such as place and highway classifications, adding things like toilets, cafés, restaurants, and pet shops might be less controversial (and more wholesome to do).

“Stop looking at your watchlist. It does contain pages that you are emotionally involved with. Of course, not having any pages in your watchlist is a good start :)”

Stay away from the OpenStreetMap Carto basemap (or any OSM-derived map tiles) for awhile?

“Take a long vacation. Treat yourself to relaxation, favorite TV shows (unless they cause you wikistress), spend time with friends, family, and pets, and maybe try something new.”

“If you are just reverting and deleting and not enjoying yourself then STOP. Someone else will have to deal with it. Do something else. “

“Remind yourself why it’s best to avoid fights and ignore trolls “

“Unsubscribe from the mailing lists and escape the pointless repetitive arguments, the endless recriminations and the general desire to create more heat than light.”

See full entry

Dear diary,

Yesterday, I was in a meeting of the HOT QCQA WG, when Patrik_B asked a question at the very end of the meeting. How can you download select data within a given complex geometry via overpass; the geometry in the JOSM layer isn’t visible when downloading?

The Objective

 Download all desired data via overpass within this boundary.  Bulape Health Boundary in JOSM Fig.1. Area of Interest.

Download Along to Highlight the Boundary of the AOI on the Slippy Map

Ralph was first to answer the question. His solution was to download data from OSM using the download along plug-in. The area of downloaded data would then be visible on the slippy map and this could be referenced when drawing a bounding box to download the data. Very clever.

See full entry

According to the official statistics page, today OpenStreetMap has hit the milestone of 10 million registered users! This is not the first time though; in fact it already happened earlier this year and in 2023 (during which year the amount even exceeded 11 million!); lately, the number of registered users graph shows a saw-tooth pattern, probably, in my opinion, due to the SPAM accounts being continuously banned by the admins.

By the way, if you happen to have an account on OSM wiki, please check the translation of Template:Contributors/count in your language as it may need to be updated. That template is pretty simple but it’s used by a couple of “main” wiki pages.

However, the number seems pretty high, but it may be worth noting that only about 23% (~2.25 million) of the total number of registered users has made at least one modification in the OSM database. Considering that the database has received 17 billion¹ edits, that means that every contributor has made an average of 7,400 changes from their entire lifespan as a user (you can see how many contributions you made on your HDYC page).

One last question that’s been bothering me: how many users would be registered on OSM if no one had been deleted or banned? Well, according to the API, at the time of writing, the last valid user id is 23,302,305 so the answer is more than double the number of currently registered users.

Imagine what could be achieved with twice as many contributors!

¹ number calculated using the file changesets.osm dated 2025-04-07 (license ODbL 1.0); the values shown here are unverified and may be incorrect.

Happy mapping to all 10 million users!

Location: Bankside, Southwark, London Borough of Southwark, Greater London, England, SE1 9TG, United Kingdom
Posted by Scarbaci on 17 September 2025 in English.

I joined OSM from the https://deflock.me/ community, and have since added 21 ALPRs. I’ve also contributed a few new developments to the map, and looking to add more.

GIS has been a huge interest of mine, and I’ve been maintaining my own private ATAK repository for a while. I’m excited to find a place to share this knowledge now. When I was younger, I would systematically walk areas of Baltimore, MD looking to uncover interesting POI. I wish I had OSM back then to store my findings.

Location: Margaretta Township, Erie County, Ohio, United States

I’ve been editing OSM for about nine months and have been a heavy JOSM armchair editor for about eight months. Recently, I started using a stylus for entering geometry and it’s increased my stamina tremendously. I’ve been able to create hundreds even thousands of nodes per day without feeling any signs of repetitive strain injuries cropping up in my hand.

Someone ask me for “What experience do you have building websites with Open Street Maps using controls limit then monitor and report on tile usage?”

I’m currently exploring OpenStreetMap (OSM) and trying to understand what kind of real-world projects or applications can be built using it.

I’ve checked the documentation, but I’m still not sure how OSM data is typically used in actual applications or what kind of problems it can solve.

Could anyone please share:

Some common or professional use cases of OpenStreetMap

Any example project ideas or scenarios (personal, commercial, or open-source) where OSM is used effectively

Also, if possible, please suggest any recommended tools or libraries (like Leaflet, MapLibre, Nominatim, Overpass API, etc.) that are commonly used to work with OSM data.

Goal: I just want to get a clear idea of where OSM can be applied so I can plan my first project with it.

Thank you!

Location: Sanbhul, Anarpa, Dhari, Nainital, Uttarakhand, India
Posted by fghj753 on 15 September 2025 in English. Last updated on 16 September 2025.

I have been preparing a RFC for several days, but now weekend is over and i won’t have time to finish things up. Here’s drafted tldr of a draft of a RFC in case this ends up as another forgotten project. Scope of this proposal is limited to Estonia. For international uses, I suggest to read EU report on waste sorting standardisation.

Problem: When surveying packaging recycling containers (PRC) it’s repetitive to list all kinds of waste collected there. There’s also risk of errors introduced by human input. My initial estimate is that trio of standard PRCs should get about 20-30 recycling:* tags.

Observation: PRC colours are standardised across Estonia – Paper blue, glass green and metal/plastic/beverage yellow (source). While Estonia has adapted Danish color schema as nationwide standard for garbage collection, PRCs have bit different colours. Standard-PRCs are often accompanied by reusable clothes container (no standard colouring).

Objective: Simplify & standardise mapping of different waste collected.

  • Mapper has to simply pick colour(s) of the container(s) they see and..
  • …preset ensures consistency of different waste types listed.
  • Therefore PRC can be mapped at higher quality from further distance (assuming mapper doesn’t know PRC colour codes by hearth.

Solution: Introduce localised custom (iD & JOSM) editor tagging preset (e.g “Pakendikonteiner EE”)

Downsides:

  • Difficult to scale legal rules up to international level, in some countries even to county level. Some cities may use own colours.
  • Unclear if this idea is technically fully achievable (editor limitations, namely adding multiple colours to single node)
  • Technical scale-up difficulties – possible performance loss is each major city or county in developed world gets own preset.

Initial idea originally published on 2025-09-12. Full 40 pages of notes are not processed yet.

See full entry

RapiD editor has rather unique feature that it can flag pedestrian crossings where node and way are tagged differently. But how to know where are such crossings if you can’t load entire city or country into iD editor? Luckily there’s overpass syntax for that. Quite a few people found this query useful, therefore I’m sharing it with wider audience.

Most of query was produced by LLM after feeding it with Overpass QL language reference. Only parent.u syntax needed manual fixing. I decided to use dynamic comparison of tag values because I wasn’t sure what would happen if there were some unique tagging typo, such as crossing=marked2 or similar.

[out:json][timeout:180];
{{geocodeArea:Estonia}}->.a;

/* Ways that explicitly have crossing=* */
way(area.a)["crossing"]->.ways;

/* Loop each way as .parent */
foreach.ways->.parent
{
  /* crossing=* nodes of parent, but
     with different crossing value */
  node(w.parent)["crossing"]
    (if: t["crossing"] != parent.u(t["crossing"]))
    ->.badnodes;

  /* Output if there is at least one mismatching node */
  (.badnodes;)->._;
  if (count(nodes) > 0)
  {
    .badnodes out tags geom meta; /* the mismatching node(s) */
    .parent   out tags geom meta; /* the parent way */
  }
}

Originally published at OSM World Discord on 2025-08-23

First post in hopefully a series of entries where I’m planning to share various OSM-related experiments I have conducted over the years.

Mapper asked if area should be mapped as grassland, scrub or heath. Since this kind of information is better to be extracted from infrared imagery, without knowing where the mapper is from, I pointed them to use global satellite dataset provided by European Space Agency (OSM wiki link) at Copernicus browser.

Two most commonly user IR imageries are using CIR-NRG and CIR-NGR styles. These acronyms essentially mean that when compared to regular RGB (red, green, blue) pictures, infrared images drop blue signal channel and instead use IR as red, and then original red and green as green and blue. For NRG, red becomes green and green turns blue; NGR is vice versa with green staying green and reds are blue.

Turned out that while Copernicus does have multiple infrared imagery layers (such as one simply called False Color is NGR), but because infrared channel is relatively overexposed compared to visible light, then default configuration showed nothing but red (IR) patches on black earth. Solution was building a custom rendering with linear adjustments.
In hindsight, Copernicus browser has button called “Effects and advanced options applied” where one could apply most of those transformations directly without custom layers.

Anyways, custom layer is basically javascript code that should execute on client’s browser for every single pixel on image and calculate RGB values for each. Here’s the tutorial.
I haven’t figured out most feasible way to add pictures to diary posts yet.

  • Go to https://browser.dataspace.copernicus.eu/
  • Click on green diagonal arrow (↗️) on sidepanel to see latest images
  • Select Layers -> Custom (at bottom of list) -> Custom script (rightmost tab)
  • Paste script and click apply below textbox.
  • Colour balance and lightness can be tweaked using sliders under button “Effects and advanced options applied”

See full entry

Posted by aselnigu on 14 September 2025 in English. Last updated on 20 September 2025.

You can find a German version of this article here: Kreise in MapLibre

I want to integrate a Geolocate control into a MapLibre map and customize it both visually and functionally to fit my app.

At first, I considered using the GeolocateControl that comes standard with MapLibre. However, I quickly discarded this approach because adapting it to my needs seemed too cumbersome without a lot of fiddling.

My goal is that when the button is clicked, the display of the current location is toggled—so it can be turned on and off.

MapLibre itself offers several ways to draw circles on the map, depending on whether they should be pixel-accurate or meter-accurate.

Circles on a MapLibre Map

My starting point is a simple map.

A simple map

See full entry

Posted by lpf452 on 14 September 2025 in English. Last updated on 1 October 2025.

As an OpenStreetMap contributor, I’ve always been dedicated to enhancing the detail and usability of local data. Recently, however, I ran into a frustrating problem: in areas I’ve mapped, the Chinese names for many places fail to display correctly in certain applications and services (like OsmAPP, JawgMaps, and MapTiler). Instead, they either fall back to Pinyin or default to the English name (name:en), which looks odd—especially when a primary name tag clearly exists but is simply ignored.

The root of the problem lies in the peculiar rendering rules of these applications, which often prioritize name:[lang] tags that match the user’s language. Even though we add a name tag, the absence of an explicit name:zh or name:zh-Hans tag can leave the renderer confused, causing it to fall back to name:en or just display the Pinyin transliteration.

Manually adding these tags to thousands of elements is obviously out of the question. You can’t just copy and paste your way through it; the sheer monotony would be mind-numbing. So, I decided to automate the process by writing a script.

Tech Stack and Script Logic

When high performance is a priority, C++ is the natural choice. I also leveraged two powerful open-source libraries:

  1. pugixml: A lightweight, high-performance C++ XML parser, perfect for rapidly reading and writing large .osm files.
  2. OpenCC: The community’s go-to library for Simplified and Traditional Chinese conversion, which I used to generate name:zh-Hant tags.

The core logic of my script is as follows:

See full entry