osm-revert
osm-revert | |
---|---|
Author: | Kamil Monicz (Zaczero) |
License: | GNU Affero General Public License v3 (free of charge) |
Platform: | Web |
Status: | Active |
Version: | 1.3.8 (2024-05-24) |
Language: | English |
Website: | https://revert.monicz.dev |
Source code: | Zaczero/osm-revert GitHub |
Programming languages: | Python, HTML, and JavaScript |
The next generation OpenStreetMap changeset revert tool |
osm-revert is designed to be a direct successor to Revert UI, offering a faster and smarter way to revert changesets on OpenStreetMap.
It utilizes the Overpass API to reduce the amount of API calls, making it faster at reverting changesets. It also has the ability to automatically resolve conflicts, something that its predecessor, RevertUI, could not do. Additionally, it has no limitations on the size of changesets, making it capable of reverting anything.
osm-revert also provides the functionality of filtering specific elements that need to be reverted. This is useful in situations where only certain parts of a changeset require correction.
Users have the option to download a revert .osm file which can be imported into certain editors for further validation or adjustments.
Options
Changesets
Changeset numbers separated by commas or spaces or both.
Filters
Reverts only elements that match the specified filter. It is based on Overpass Query Language.
The filter lets you specify a union of elements that should be reverted.
A match is valid when filter matches an element state before or after the reverted changeset (or both).
When ways are filtered, all of their members (nodes) are always included.
Examples
node; way; rel;
– will revert everything; this is the default value when you don't specify anythingnode[ford=yes];
– will revert all nodes with ford=yes tagnode[ford=yes]; way[!highway];
– will revert all nodes with ford=yes tag and all ways that without highway=* tagrel(id:7532,99517)
– will revert relations with IDs 7532 and 99517rel(!id:7532,99517)
– will revert relations without IDs 7532 and 99517node[!natural][!advertising]; way;
– will revert all nodes without natural=* and advertising=* tags and all waysnode[!natural]; node[!advertising];
– will revert all nodes except ones with both tags natural and advertising on one node
Comment
Simply your changeset comment.
Auto-discussion
It will add a comment in the discussion under changesets you're reverting. Consider this when you revert several changesets.
You can optionally specify whether the discussion should be open under all reverted changesets, newest only, or oldest only.
Resolving parent conflicts
In scenarios where an element is edited after the reverting changeset (conflicts), it is possible that the produced changeset size will be greater that the reverting changeset. This may sometimes lead to 10,000 changes size limit being exceeded. The resolve parent conflicts option lets you change this behavior so you are not stuck with >10,000 changes changeset.
- Forcefully remove conflicting elements: This is the default behavior that is generally more correct but may sometimes lead to exceeded changes limits.
- Skip conflicting elements (assume they were fixed): This is an alternate behavior that will skip resolving conflicts that lead to exceeded changes limits. Basically, the program will assume that those elements have been fixed in other changesets and require no further work. This behavior is more specialized and should only be used when really needed. Future versions of osm-revert may remove this manual toggle in favor of automatic fallback.
External links
- Official public instance for OpenStreetMap
- Official public instance for OpenHistoricalMap
- Release diary announcement
- Source code GitHub
- better-osm-org implements osm-revert directly in osm.org