Automated edits/Lugiaa
Page content created as advised on Automated_Edits_code_of_conduct#Document_and_discuss_your_plans.
Who
Contact
- Message via OSM (Czech or English)
- the talk-cz mailing list (see Discussion)
Status
| Stage | Link | Status |
|---|---|---|
| Community discussion (talk-cz) | thread | agreed, October 2026 |
| Czech tagging documentation updated | Cs:Tag:information=guidepost, Cs:Key:noref | done by Dvorný, October 2026 |
| Data consumers checked | OsmHiCheck, OsmAPP, OsmAnd, Organic Maps | done (see below) |
| First production changeset (one small region) | 190925962 (achavi, OSMLab, FacilMap) | <pending> |
| Main run (nodes) | see Outcome | <pending> |
| The hiking route relation and the other leftovers (manual) | – | <pending> |
What
Replace ref=none with noref=yes on hiking and cycling signage in Czechia that has no reference number:
- guideposts –
information=guidepost - route markers –
information=route_marker - information boards –
information=board - maps –
information=map
The tags change like this:
ref=noneand nonoref=*→ removeref=*, addnoref=yesref=nonetogether withnoref=yes→ remove only the redundantref=none
No other tag is touched. The automated part edits nodes only and is restricted to Czechia. The one hiking route relation tagged ref=none is changed by hand in the same way.
Why
For many years the Czech documentation (Cs:Tag:information=guidepost) has said: "Pokud rozcestník referenční kód nemá, tagujte ref=none". The convention spread from guideposts to route markers, boards and maps. The result is that almost all uses of ref=none worldwide are in Czechia: 5,974 of about 7,300.
Elsewhere, the documented way to say "this feature has no reference" is noref=yes, used about 130,500 times worldwide. Key:noref lists ref=none as a possible synonym to be replaced by it. ref=none also puts a pseudo-value into ref=*: consumers that don't know the Czech convention show or search for a reference "none".
Numbers
Taginfo Czechia, data as of 2026-10-19:
- ref=none: 5,974 objects (5,973 nodes, 1 relation), of which:
information=guidepost: 3,394information=route_marker: 1,679information=board: 888information=map: about 8- others: 1 hiking route relation, a removed sign, a transformer station and two railway level crossings – will be checked and fixed by hand and later included in automation for repeated data checks
- noref=yes: 186 objects in Czechia
Query for the nodes in scope: overpass-turbo
[out:json][timeout:120]; area["ISO3166-1"="CZ"][admin_level=2]->.cz; node["ref"="none"]["information"~"^(guidepost|route_marker|board|map)$"](area.cz); out meta;
How
The edit is made with the OSM batch edit tool in an internal fork of the Fody project (created_by=Fody OSM batch edit 1.0). The rule is fixed in code; the tool has no free-form find-and-replace.
- Candidates: nodes whose last known tags match the rule are picked from a local copy of Czech guideposts, route markers, boards and maps. The first changesets are limited to one small region.
- Live check: every candidate is re-read from the OSM API and judged by its current tags. An Overpass area query then keeps only nodes inside Czechia; if Overpass can't answer, nothing is planned.
- Rule – applies only when
information=*is exactlyguidepost,route_marker,boardormap. Comparisons are exact; OSM tags are case-sensitive.
| Current tags | Action |
|---|---|
ref=none, no noref=* |
remove ref=*, add noref=yes
|
ref=none + noref=yes |
remove ref=*
|
compound or variant values (ref=SY195;none, ref=none;UH134, ref=None, ref=" none"), ref=none with a noref=* other than yes, noref=yes together with a real ref |
not changed – left for a manual edit by a human |
any other information=* value, or no ref=none |
not changed |
- Grouping: changes are grouped into changesets of nearby nodes, at most 500 nodes each (the area is split at the median until each group is small enough).
- Review: every change of a planned changeset is reviewed by a human before it is sent; nothing is uploaded unconfirmed.
- Upload: each node keeps the version it was reviewed at. If someone edited a node after the review, it is skipped and never sent changed. OSM's version check refuses anything edited in the meantime, so no change is applied twice.
Changeset tags:
comment=Rozcestníky, značení, tabule a mapy bez čísla: ref=none → noref=yes (guideposts, route markers, boards and maps without a reference number: ref=none → noref=yes)mechanical=yesreview_requested=yesdescription=https://wiki.openstreetmap.org/wiki/Automated_edits/Lugiaacreated_by=Fody OSM batch edit 1.0
Manual part
- The hiking route relation with
ref=noneis changed by hand (ref=*removed,noref=yesadded), with the same changeset comment, nomechanical=yes, and thedescriptionlink to this page. - The other leftovers (a removed sign, a transformer station, two level crossings) are checked one by one and fixed by hand where appropriate.
- Every node the rule leaves alone (compound or variant values, conflicting
noref=*) is fixed by hand, one at a time.
Impact on data consumers
- OsmHiCheck, which pairs Fody guidepost photos with OSM by ref: its preprocessing already converts
noref=yestoref=none, so its matching is unaffected (Tomáš Kašpárek, talk-cz, 2026-10-18). The Fody photo database keeps its ownrefvalues and is not changed. - OsmAPP, OsmAnd, Organic Maps: none displays
noref=yes. A feature without a number then shows the same as anywhere else in the world (checked by Vojtěch Dvořák, talk-cz, 2026-10-16).
Discussion
- talk-cz, October 2026: "Návrh: přechod z ref=none na noref=yes" (thread)
- replies: 2026-10-16 (Vojtěch Dvořák – the route relation), 2026-10-18 (Tomáš Kašpárek – OsmHiCheck, long-term checks)
- web mirrors: openstreetmap.cz/talkcz, osmap.vfosnar.cz
- outcome: agreed to change guideposts, route markers, information boards and maps, with the relation done by hand
- Earlier, undecided discussion of the same question: talk-cz, March 2019 "Rozcestníky - zbytečné opravy"
- Origin of the convention: talk-cz, January 2017
Opt out
If you don't want particular nodes (or the nodes in an area you maintain) changed, send a message via OSM or reply on talk-cz, in Czech or English, saying which nodes or area and why. Opted-out nodes are marked as such in the tool and skipped by every later run. Mappers who have edited many of the affected nodes are contacted before their area is processed.
When
- Test run on the OSM dev server: <date>
- First production changeset (a single small region): <date>, after which there is a pause of at least <one week> for feedback
- Main run: <date range>, region by region, with no more than <N> changesets a day
Repetition
The main run happens once. New occurrences of ref=none on guideposts, route markers, boards and maps will be checked periodically (<monthly>). For those, the mapper is contacted first, and the tool or preset that created the tag is looked for, so it can be fixed at the source. Remaining new cases are fixed with the same rule and changeset tags, in small changesets.
Reverting
The tool keeps every changeset id and each node's tags before the change. A changeset can be reverted with the JOSM Reverter plugin or other revert tools.
Česky
Mechanická úprava: rozcestníky, turistické značení, informační tabule a mapy (information=guidepost, information=route_marker, information=board, information=map) v ČR s ref=none dostanou místo toho noref=yes; pokud mají oba tagy, odstraní se jen nadbytečné ref=none. Složené či odlišně zapsané hodnoty (např. SY195;none, None) a rozporné kombinace se automaticky neopravují – ty se opraví ručně, stejně jako jediná relace turistické trasy s ref=none. Diskuze: talk-cz (web). Výjimky (opt-out) prosím zprávou přes OSM nebo v talk-cz.
Outcome
One row per changeset, numbered by batch. "Changed" means ref=none was replaced by noref=yes; "De-duplicated" means only the redundant ref=none was removed from a node that already had noref=yes; "Skipped" counts nodes that were planned but not sent because someone edited them after the review.
| Batch | Date | Changeset | Area | Nodes | Guideposts | Route markers | Boards | Maps | Changed | De-duplicated | Skipped | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #000 | 2026-10-23 | 190925962 (achavi, OSMLab, FacilMap) | various places in Czechia | 10 | 10 | 0 | 0 | 0 | 10 | 0 | 0 | Test batch: guideposts whose last version was by the editing account (8 × operator=cz:KČT, 2 × operator=kraj Vysočina)
|
| #001 | 2026-10-31 | 191294169 (achavi, OSMLab, FacilMap) | all of Czechia | 463 | 412 | 0 | 51 | 0 | 463 | 0 | 0 | Previous versions mostly by tkk (249), VladaC (62), Petr1868 (59) |
| #002 | 2026-10-31 | 191296820 (achavi, OSMLab, FacilMap) | all of Czechia | 499 | 491 | 0 | 8 | 0 | 499 | 0 | 0 | Previous versions mostly by Petr1868 (419), tkk (39), VladaC (9) |
| #003 | 2026-10-31 | 191297065 (achavi, OSMLab, FacilMap) | all of Czechia | 499 | 482 | 1 | 16 | 0 | 499 | 0 | 0 | Previous versions mostly by Petr1868 (292), tkk (125), VladaC (26) |
| #004 | 2026-10-31 | 191297437 (achavi, OSMLab, FacilMap) | all of Czechia | 487 | 405 | 46 | 36 | 0 | 486 | 1 | 0 | Previous versions mostly by tkk (190), Petr1868 (173), VladaC (42) |
| #005 | 2026-10-31 | 191297533 (achavi, OSMLab, FacilMap) | all of Czechia | 499 | 378 | 0 | 121 | 0 | 499 | 0 | 0 | Previous versions mostly by tkk (337), VladaC (111) |
| #006 | 2026-10-31 | 191297675 (achavi, OSMLab, FacilMap) | all of Czechia | 496 | 292 | 3 | 195 | 6 | 496 | 0 | 0 | Previous versions mostly by tkk (233), VladaC (196) |
| #007 | 2026-10-31 | 191298039 (achavi, OSMLab, FacilMap) | all of Czechia | 491 | 244 | 3 | 243 | 1 | 491 | 0 | 0 | Previous versions mostly by VladaC (293), tkk (123) |
| #008 | 2026-10-31 | 191298218 (achavi, OSMLab, FacilMap) | all of Czechia | 496 | 310 | 12 | 173 | 1 | 496 | 0 | 1 | Previous versions mostly by VladaC (263), tkk (137), Lugiaa (25); 1 of 497 planned nodes skipped (edited after the review) |
| #009 | 2026-10-31 | 191298346 (achavi, OSMLab, FacilMap) | all of Czechia | 327 | 281 | 3 | 43 | 0 | 327 | 0 | 0 | Previous versions mostly by VladaC (179), tkk (93), Lugiaa (44) |
| #010 | 2026-11-01 | 191305022 (achavi, OSMLab, FacilMap) | much of Czechia | 500 | 0 | 498 | 2 | 0 | 500 | 0 | 0 | Previous versions mostly by tkk (382), Petr1868 (107), Dvorný (4) |
| #011 | 2026-11-01 | 191305096 (achavi, OSMLab, FacilMap) | much of Czechia | 500 | 0 | 500 | 0 | 0 | 500 | 0 | 0 | Previous versions mostly by tkk (453), Petr1868 (25), Dvorný (11) |
| #012 | 2026-11-01 | 191305850 (achavi, OSMLab, FacilMap) | much of Czechia | 500 | 0 | 500 | 0 | 0 | 500 | 0 | 0 | Previous versions mostly by tkk (445), Petr1868 (49) |
| #013 | 2026-11-01 | 191306469 (achavi, OSMLab, FacilMap) | much of Czechia | 113 | 0 | 113 | 0 | 0 | 113 | 0 | 0 | Previous versions mostly by tkk (109), Dvorný (2) |
| Total | 5880 | 3305 | 1679 | 888 | 8 | 5879 | 1 | 1 | ||||