Too many changeset are having large bounding box

Hello OSM Community,

I am a French contributor and I noticed that it is very complex, if not impossible, to determine what changes have been made on OSM, even on a rather small zone.

This is because, using tools such as OSMCha, we are in fact polluted by a lot of changesets that have a bounding box very wide that unfortunately include our area of interest, without having any change within it.

I understand that sometimes these kind of edits are needed (well even this is debatable, why couldn’t they be splitted) during large scale integration. However all those commits do not all fall under this reason.

Here is an exemple of trying to observe 3 months of change in a small village in France south east. There are 524 changes to analyze where in fact very few of them are within the boundaries of the village.

How can this situation be improved?

Should we adapt tooling as suggested in this enhancement proposal of OSMCha to be able to observe history of a zone with changes only within a bounding box ? (And sorry if this tool exists and I was not able to find it).

Or should OSM be more restrictive and reject with an error instead of a warning changes with a large bounding box ?

7 Likes

Meta’s Daylight maps introduced the concept of logical changesets (“LoChas”) that break a changeset into smaller, spatially related units. Clearance carries this idea forward. It may make sense to implement this in OSMCha (or in OSM itself).

Hard to avoid large bbox when adding name to France in yet another language or doing other edit to it

8 Likes

I am guessing that this is a rare usecase compare to other changesets that have a large bbox.

2 Likes

As they end up all over the planet or Europe, it would help if cs summaries for France had more details on the geographic scope of the cs.

Yes, though that is reason why outright banning them is not viable and there are some edits requiring them.

This does not change it that better handling would be useful.

1 Like

for the last one: it is not OSM warning, it is specific editor software doing this

maybe it should warn more aggressively to take another option? Or block such edits or some cases of those?

(note: new accounts have changeset bbox size restricted already)

2 Likes

Sample changeset: “Pizza Cosy” by bcd4e6 : changeset/189593625

better-osm-org has a “Hide big changesets” check:

In OSMcha, if I remember correctly, this filter (“Changeset size bound”) does something similar:

5 Likes

If we remove bboxes, we would need another spatial indexing method for changesets (could DGGs work? Something like: this changeset touched x, y, z grid cells, and nothing in between). Bboxes are small in size to store, and easy to compute, so any other indexing method would have its own cons.

1 Like

The way I understand this feature was kind of the opposite of what we need here. Isn’t in contrary filter out changeset that are too “small” compared to the search area?

This seems like the perfect exemple of the kind of things we don’t want. Changeset with huge bbox are harder to review, harder to revert and pollute the history view of large area.

In my opinion, the way to go forward should not necessarily be to update the tooling to be able to better view history depending on area of interest, but we should find a way to restrict and prevent such change with large bbox when not properly justified.

Then I guess saying the above is the easy part, the effort lease in defining criteria and means to prevent this kind of bad changeset, and for that my technical knowledge of OSM is not deep enough to propose interesting options.

In my opinion, this is exactly the kind of changeset that is easier to review and easier to revert. With one glance you can see that the same edit has been made to many restaurants of the same chain. If this is a bad edit, there’s one changeset to revert.
If this was done in ten individual changesets, a reviewer would have a hard time figuring out what exactly happened. No need to search for other similar changes in other changesets, no need to compile a long list of changeset ids in case of problems.

What would be bad is a changeset that changed different things on independent restaurants.

IMHO this is a usability issue of changeset browsers which should break down huge bboxes into several smaller ones which can be done with a small computing effort.

14 Likes

I mean, what might be a solution is tackling the problem from an editor side. Like the editor could cluster the objects, which a user want to edit and split the upload in multiple changesets. If those objects are too far apart. Still if I change France, Russia,… it will cover “whole” world. But if I change a restaurant in Spain and a hotel in Canada, the editor will “force” me to create 2 dedicated changesets.

Though as a downside, it will be pretty hard to find mass-edits anymore, as a change to all McDonalds will be split over thousands of changes.

1 Like

There is https://simon04.dev.openstreetmap.org/whodidit/ which does just that: Shows only tiles where there have been changes. To review the actual changes, it still forwards to achavi or osmcha, which may struggle with large regions affected.

5 Likes

OSM latest changes might be of help. While it can only look back 30 days (and only filter by user or comment, so best used without a filter), even without filters you could e.g. do a check and load all changes for that area (which is defined by the viewbox of the map as bounding box) every 4 weeks and be fine.

Example for the region around Levens: OSM Latest Changes around Levens

2 Likes

No It’s the opposite.

if, for example, you want to filter changesets by bounding box or City name (city doesn’t work always… bounding box seems more solid) try to write anything in the “Changeset size bound” field. If You write “1” or “2” in the size bound field this will filter out all the changesets bigger than 1 or 2 times the bounding box.

It works for me give it a try ! Don’t leave the field empty

2 Likes

You are correct. To be fair, the wording is very confusing. It says it will “Filter changesets that have an area lower than X times the area of your BBox” which I would interpret to mean it filters out those changesets, but it’s actually intended to mean that it will filter for those changesets. The help text for the other boxes are worded the same way, but in those cases it’s more obvious that “filter out” is not the intended meaning.

It’s also worth noting that this risks missing changes that are within the area you’re filtering on if the changeset also changes something far away.

To point out the obvious: this issue has been discussed many times and the solution is to extend the data model and the API to allow for multiple bounding boxes per changeset (for backwards compatibility reasons a single bounding box version should likely be retained). Editors can then split changesets up as they deem sensible, still maintaining a single reference for the whole session.

Simply nobody has got around to doing it yet and naturally the implementation is not really the problem, the larger hurdle is bumping the API version (which might be insurmountable).

2 Likes

The other option is for changeset analysis tools to do more work to give users the option to filter out larger changesets when they search for a given area.

In theory, such a tool could first find all changesets with an intersecting bounding box, keep all those wholly within the area of interest, and do additional checks on the others to see if any affected objects are within the area of interest. If might be too computationally intensive to be feasible though…

1 Like