OpenStreetMap logo OpenStreetMap

Introduction

I started google summer of code with the aim of creating a library that can be easily added to Vespucci and provide it with element comparison features, and provide some other feature requests in Vespucci. I was able to create and deploy the Element History Dialog, which can be found here, where you can find the implementation details for the library.

Work Done

The major work done during the coding period includes the following -

  1. Creating the parser for OSM elements
  2. Creating the parser for Changesets
  3. Creating the UI to list all versions for a selected OSM element
  4. Creating the UI for comparison between different OSM elements
  5. Logic for comparison between tags of different versions of a element
  6. Logic for comparison between data for 2 versions of a node
  7. Logic for comparison between data for 2 versions of a way
  8. Logic for comparison between data for 2 versions of a relation
  9. Handling edge cases like deleted elements and versions
  10. publishing the library and creating the sample application

A more detailed usage guide can be found on the github readme

Future Scope

Some additions to the project that I plan are -

  1. Creating more test cases - currently there are a few unit tests that test the basic functionality of the app, I will add more unit tests to cover most logical operations and few UI tests to test the basic flow of the library
  2. Adding the library to vespucci
  3. Creating Pull Requests on Vespucci for other features mentioned in my gsoc application.

Finally, I would like to say that my experience with the OSM community has been great, and I would love to contribute more to the great projects that are hosted by OSM

Email icon Bluesky Icon Facebook Icon LinkedIn Icon Mastodon Icon Telegram Icon X Icon

Discussion

Log in to leave a comment