Multiple image selection and edition in JOSM

- François

In december and in january, I worked on a set of patches on JOSM to allow moving multiple images at once on a Geotagged Images layer. The goal was to simplify the workflow to edit the location of images easily before uploading them and thus ease the contributions to Mapillary or OpenStreetCam.

With the first prototype, it was possible to interpolate a sequence of images between 2 points. The prototype allowed me to learn a bit about the JOSM codebase and meet the challenges to implement it. I also used it to update the location of more than 2000 photos saving me hours of work.

JOSM interpolation between 2 images

The biggest challenge was that the Geotagged Images layer in JOSM was designed with only one image selected at a time. There was also a lot of coupling between the layer, the component that display the current image and the plugin photo_adjust.

I divided my work in 2 parts:

  1. [Patch] Refactor the GeoImageLayer and related to use a Data class with a selection listener
  2. [Patch] Option to move multiple images at once

How to use it

These improvements are now available in the JOSM unstable version. Ensure to also update the photoadjust plugin.

  • shift + click to add an image to the selection
  • shift + ctrl + click to select a row of photo
  • ctrl + click to update the direction of the photo
  • alt + click to move photos to a specific point

Here is a quick demo:

Move multiple images in JOSM

What’s next

I have a few patches almost ready, for instance removing selected images and re-introducing the interpolation from my prototype.