OpenStreetMap

osm-revert: A faster and smarter way to revert changesets on OpenStreetMap

Posted by NorthCrab on 9 January 2023 in English. Last updated on 11 August 2023.

Tool demo

I released a new tool called osm-revert for OpenStreetMap community. It’s aimed to be a direct successor to RevertUI. It’s a faster and smarter way to revert changesets on the platform. It uses the Overpass API to reduce the amount of API calls, making it faster at reverting changesets. It can also automatically resolve conflicts, something that the previous tool, RevertUI, couldn’t do. Plus, it has no limits on the size of the changeset. This solves problems like changeset too big and node and way conflicts.

One of the best things about osm-revert is its ability to automatically resolve conflicts. Before, RevertUI would cancel the whole revert in case of a conflict. With osm-revert, the process of resolving conflicts is fully automated. For example, if a changeset includes a change to a way that is connected to other ways, osm-revert will automatically update those ways to reflect the changes. It will also update any relations that include the changed way. This not only saves time, but also ensures that the data on OpenStreetMap stays accurate and consistent.

Another great feature of osm-revert is its lack of limits on changeset size. RevertUI had limits on the number of changes that could be reverted at once, but osm-revert has none. This is especially helpful for large-scale edits like mass imports or automated edits, which may require the revert of thousands of changes.

You can access osm-revert at https://revert.monicz.dev and start using it right away. Whether you’re a seasoned mapper or new to OpenStreetMap, I think you’ll find osm-revert to be a valuable tool. Try it out and let me know what you think!

Give it a star on GitHub ⭐️.

Discussion

Comment from TomH on 9 January 2023 at 17:59

Is point and click reversion really a good idea though? It sounds like it will just encourage edit warring…

Comment from NorthCrab on 9 January 2023 at 18:12

@TomH I believe that even with or without this tool, edit wars would still continue to occur (as they currently do). Therefore, I do not see this as a barrier to improving our current revert tools. However, after reading your comment, I think adding a simple requirement of having at least 10 edits could be a good idea. I will implement this change shortly.

Comment from frozenrabi on 10 January 2023 at 03:15

Hi there. I find this pretty interesting and I like this. Thanks for sharing!

Comment from Dzertanoj on 12 January 2023 at 19:58

@TomH , edit wars mainly happen because people have strong opinions about the mapped object in question, or when it’s about the quality of the edits (that might or might not be subjective). So, I don’t see a logical reason to think that a more straightforward way to do reverts will have any additional effect on people’s desire to fight over edits that already exists.

Comment from Fizzie41 on 14 January 2023 at 03:00

Just tried it, including with multiple Changesets - amazing! :-)

Is there a limit on how many it can do at once?

Comment from NorthCrab on 14 January 2023 at 09:12

@Fizzie41 There is none in the application itself which is Open Source on GitHub. I have implemented a hard limit of 10 changesets on the website to prevent potential large-scale vandalism and to conserve resources. I don’t believe that in a reasonable scenario, you would want to revert more than 10 changesets at a time.

Comment from NorthCrab on 14 January 2023 at 09:12

However, I have implemented…*

Comment from Friendly_Ghost on 15 January 2023 at 13:19

Thank you very much for the new tool!

Comment from Woazboat on 17 January 2023 at 14:25

Overpass has a bit of update delay. It takes a while until new changes are propagated. That’s something worth keeping in mind when reverting very recent changes.

Comment from NorthCrab on 17 January 2023 at 15:22

@Woazboat, I run my own Overpass instance that updates every 30 seconds from the minute replication server (https://planet.openstreetmap.org/replication/minute/). There should not be more than a one-minute delay on my end. Additionally, there is a fallback to the official Overpass instance (overpass-api.de) in case the returned data is not complete or if my server fails to respond. Related code at https://github.com/Zaczero/osm-revert/blob/72f9c659d1d16591ec5566daa90c08d4d96c6340/app/overpass.py#L93-L96

Comment from Woazboat on 17 January 2023 at 15:26

Ah, good to know

Comment from rmikke on 24 January 2023 at 17:25

Great job :)

Comment from Emilius123 on 18 June 2023 at 16:32

Amazing tool, thanks a bunch! You forgot to mention, setup is easier than that of the old RevertUI.

Comment from GSF1200S on 6 September 2023 at 08:22

Someone has been using this tool for constantly reverting non-existent features. LOL.

Log in to leave a comment