Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GeoJSON diff tool #15

Open
dabreegster opened this issue Mar 13, 2023 · 2 comments
Open

GeoJSON diff tool #15

dabreegster opened this issue Mar 13, 2023 · 2 comments

Comments

@dabreegster
Copy link

Imagine a web app where you load two different GeoJSON files. The app shows you interactively explore the difference between the two -- what's been added, removed, changed, split, merged? The changes could be at the geometry level -- maybe a route has been slightly offset, or extended / trimmed. Or at the property level -- there've been additions/removals/changes at the JSON level there.

This is a pretty general-purpose idea, but there are a few immediate use cases:

  1. I have two versions of an ATIP scheme, and I want to compare them. Maybe they represent the same scheme with one being a more recently edited copy, and I want to understand the changes since last time. Or maybe they're two competing / diverging ideas.
  2. Say we extract some existing walking/cycling infra from OSM, like cycle Advanced Stop Lines, or signalized crossings, and show that as a contextual layer in ATIP. Later we grab fresh OSM data and repeat this extract. There'll be some diff, and manually checking what's happened would be very useful.

As an idea for implementation, I would break the problem into a smaller first step: assume every geojson feature has a unique ID that's stable between the two files. We can first focus on the UI of showing the diff between these features. Then we can remove that assumption, and try to figure out when two features should count as the same (maybe modified) or different. Map matching is a very related problem.

@robinlovelace-ate
Copy link
Contributor

That would be really cool. As a component of ATIP, that allows you to step through changes and accept/reject/re-edit upstream changes to OSM it could be helpful to ATE.

@dabreegster
Copy link
Author

Maybe this has existed for a long time?! https://github.blog/2014-02-05-diffable-more-customizable-maps/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Backlog
Development

No branches or pull requests

2 participants