Opened 9 years ago

Closed 9 years ago

Last modified 5 years ago

#9274 closed enhancement (fixed)

[PATCH] GeoImageLayer functionality enhancements

Reported by: holgermappt Owned by: team
Priority: normal Milestone: 13.12
Component: Core Version: latest
Keywords: geoimage, GeoImageLayer Cc:


This patch adds functionality to the GeoImageLayer. Added functionality includes:

  • flag for changed GPS data
  • switch thumbnail display on and off
  • create the layer with more options
  • query current photo
  • usability enhancements

Most of the new functionality is needed for a plug-in that I wrote. That plug-in implements ticket #7712.

Detailed changes:

  • Flag ImageEntry.isNewGpsData: The current mode allows to set the coordinates of a photo if it is correlated with a GPX track. That always sets gpsTime, thus gpsTime is used to decide which photo has new coordinates. But there are ways to set the coordinates that do not provide a time. The idea is to use isNewGpsData instead to flag that one of the GPS related data changed. ImageEntry.exifGpsTime is a temporary source of the GPS time and extracted from EXIF.
  • Thumbnail toggle feature: GeoImageLayer.useThumbs now acts a thumbnail/symbol toggle variable.
  • More GeoImageLayer constructors for different combinations of layer name and thumbnail display status. I use the "name" to create a layer with untagged photos.
  • GeoImageLayer.getPhotoUnderMouse() is used to query the photo that is dragged.
  • GeoImageLayer.removePhotoByIdx() can be used to remove e.g. untagged photos from current layer.
  • GeoImageLayer.clearCurrentPhoto() / clearOtherCurrentPhotos(): The current implementation highlights one photo per GeoImageLayer, which is confusing if there is more than one such layer. The functions clear the select marker from the other layers.
  • GeoImageLayer.supportedMapModes / registerSupportedMapMode() / isSupportedMapMode(): Allows to register more modes where the functionality of the GeoImageLayer should be available. This is mainly the possibility to click on a photo that is selected and displayed.
  • ImageViewerDialog.displayImage().imageChanged: I re-display a photo if GPS data was changed to update the photo OSD. The flags keeps the current zoom and the area of the photo that is displayed.
  • ImageViewerDialog.getCurrentImage() / getCurrentLayer(): Used to query which photo is displayed. That photo can then be positioned on the map.
  • GeoImageSessionExporter / GeoImageSessionImporter: Added show-thumbnails (useThumbs), is-new-gps-data (isNewGpsData), exif-gps-time (exifGpsTime). Fixed exif-orientation tag name in importer.

Attachments (2)

GeoImageLayer.patch (22.8 KB) - added by holgermappt 9 years ago.
GeoImageLayer patch
GeoImageLayer.2.patch (22.8 KB) - added by holgermappt 9 years ago.
corrected method name flagNewGpsData()

Download all attachments as: .zip

Change History (6)

Changed 9 years ago by holgermappt

Attachment: GeoImageLayer.patch added

GeoImageLayer patch

Changed 9 years ago by holgermappt

Attachment: GeoImageLayer.2.patch added

corrected method name flagNewGpsData()

comment:1 Changed 9 years ago by Don-vip

Resolution: fixed
Status: newclosed

In 6392/josm:

fix #9274 - GeoImageLayer functionality enhancements (patch by holgerosm)

comment:2 Changed 9 years ago by Don-vip

Thanks for the patch !

comment:3 Changed 8 years ago by Don-vip

Milestone: 13.12 (6502)

comment:4 Changed 5 years ago by stoecker

Milestone: 13.12 (6502)13.12

Milestone renamed

Modify Ticket

Change Properties
Set your email in Preferences
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment

E-mail address and name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.