Class GpxImageEntry

    • Field Detail

      • isNewGpsData

        private boolean isNewGpsData
        Flag isNewGpsData indicates that the GPS data of the image is new or has changed. GPS data includes the position, speed, elevation, time (e.g. as extracted from the GPS track). The flag can used to decide for which image file the EXIF GPS data is (re-)written.
      • exifGpsTime

        private Instant exifGpsTime
        Temporary source of GPS time if not correlated with GPX track.
      • pos

        private CachedLatLon pos
        The following values are computed from the correlation with the gpx track or extracted from the image EXIF data.
      • speed

        private Double speed
        Speed in kilometer per hour
      • gpsTime

        private Instant gpsTime
        The time after correlation with a gpx track
      • width

        private int width
      • tmp

        private GpxImageEntry tmp
        When the correlation dialog is open, we like to show the image position for the current time offset on the map in real time. On the other hand, when the user aborts this operation, the old values should be restored. We have a temporary copy, that overrides the normal values if it is not null. (This may be not the most elegant solution for this, but it works.)
    • Constructor Detail

      • GpxImageEntry

        public GpxImageEntry()
        Constructs a new GpxImageEntry.
      • GpxImageEntry

        public GpxImageEntry​(GpxImageEntry other)
        Constructs a new GpxImageEntry from an existing instance.
        Parameters:
        other - existing instance
        Since:
        14624
      • GpxImageEntry

        public GpxImageEntry​(File file)
        Constructs a new GpxImageEntry.
        Parameters:
        file - Path to image file on disk
    • Method Detail

      • getWidth

        public int getWidth()
        Returns width of the image this GpxImageEntry represents.
        Returns:
        width of the image this GpxImageEntry represents
        Since:
        13220
      • getHeight

        public int getHeight()
        Returns height of the image this GpxImageEntry represents.
        Returns:
        height of the image this GpxImageEntry represents
        Since:
        13220
      • getPos

        public CachedLatLon getPos()
        Returns the position value. The position value from the temporary copy is returned if that copy exists.
        Returns:
        the position value
      • getSpeed

        public Double getSpeed()
        Returns the speed value. The speed value from the temporary copy is returned if that copy exists.
        Returns:
        the speed value
      • getElevation

        public Double getElevation()
        Returns the elevation value. The elevation value from the temporary copy is returned if that copy exists.
        Returns:
        the elevation value
      • getGpsTime

        @Deprecated
        public Date getGpsTime()
        Deprecated.
        Returns the GPS time value. The GPS time value from the temporary copy is returned if that copy exists.
        Returns:
        the GPS time value
      • getGpsInstant

        public Instant getGpsInstant()
        Returns the GPS time value. The GPS time value from the temporary copy is returned if that copy exists.
        Returns:
        the GPS time value
      • hasGpsTime

        public boolean hasGpsTime()
        Convenient way to determine if this entry has a GPS time, without the cost of building a defensive copy.
        Returns:
        true if this entry has a GPS time
        Since:
        6450
      • getFile

        public File getFile()
        Returns associated file.
        Returns:
        associated file
      • getDisplayName

        public String getDisplayName()
        Returns a display name for this entry
        Returns:
        a display name for this entry
      • hasExifTime

        public boolean hasExifTime()
        Convenient way to determine if this entry has a EXIF time, without the cost of building a defensive copy.
        Returns:
        true if this entry has a EXIF time
        Since:
        6450
      • getExifGpsInstant

        public Instant getExifGpsInstant()
        Returns the EXIF GPS time.
        Returns:
        the EXIF GPS time
        Since:
        17715
      • hasExifGpsTime

        public boolean hasExifGpsTime()
        Convenient way to determine if this entry has a EXIF GPS time, without the cost of building a defensive copy.
        Returns:
        true if this entry has a EXIF GPS time
        Since:
        6450
      • setWidth

        public void setWidth​(int width)
        Sets the width of this GpxImageEntry.
        Parameters:
        width - set the width of this GpxImageEntry
        Since:
        13220
      • setHeight

        public void setHeight​(int height)
        Sets the height of this GpxImageEntry.
        Parameters:
        height - set the height of this GpxImageEntry
        Since:
        13220
      • setPos

        public void setPos​(CachedLatLon pos)
        Sets the position.
        Parameters:
        pos - cached position
      • setPos

        public void setPos​(LatLon pos)
        Sets the position.
        Parameters:
        pos - position (will be cached)
      • setSpeed

        public void setSpeed​(Double speed)
        Sets the speed.
        Parameters:
        speed - speed
      • setElevation

        public void setElevation​(Double elevation)
        Sets the elevation.
        Parameters:
        elevation - elevation
      • setFile

        public void setFile​(File file)
        Sets associated file.
        Parameters:
        file - associated file
      • setExifOrientation

        public void setExifOrientation​(Integer exifOrientation)
        Sets EXIF orientation.
        Parameters:
        exifOrientation - EXIF orientation
      • setExifTime

        public void setExifTime​(Instant exifTime)
        Sets EXIF time.
        Parameters:
        exifTime - EXIF time
        Since:
        17715
      • setExifGpsTime

        public void setExifGpsTime​(Instant exifGpsTime)
        Sets the EXIF GPS time.
        Parameters:
        exifGpsTime - the EXIF GPS time
        Since:
        17715
      • setGpsTime

        public void setGpsTime​(Instant gpsTime)
        Sets the GPS time.
        Parameters:
        gpsTime - the GPS time
        Since:
        17715
      • setIptcCaption

        public void setIptcCaption​(String iptcCaption)
        Sets the IPTC caption.
        Parameters:
        iptcCaption - the IPTC caption
        Since:
        15219
      • setIptcHeadline

        public void setIptcHeadline​(String iptcHeadline)
        Sets the IPTC headline.
        Parameters:
        iptcHeadline - the IPTC headline
        Since:
        15219
      • setIptcKeywords

        public void setIptcKeywords​(List<String> iptcKeywords)
        Sets the IPTC keywords.
        Parameters:
        iptcKeywords - the IPTC keywords
        Since:
        15219
      • setIptcObjectName

        public void setIptcObjectName​(String iptcObjectName)
        Sets the IPTC object name.
        Parameters:
        iptcObjectName - the IPTC object name
        Since:
        15219
      • getIptcCaption

        public String getIptcCaption()
        Returns the IPTC caption.
        Returns:
        the IPTC caption
        Since:
        15219
      • getIptcHeadline

        public String getIptcHeadline()
        Returns the IPTC headline.
        Returns:
        the IPTC headline
        Since:
        15219
      • getIptcObjectName

        public String getIptcObjectName()
        Returns the IPTC object name.
        Returns:
        the IPTC object name
        Since:
        15219
      • getTmp

        public GpxImageEntry getTmp()
        Get temporary variable that is used for real time parameter adjustments. The temporary variable is created if it does not exist yet. Use applyTmp() or discardTmp() if the temporary variable is not needed anymore.
        Returns:
        temporary variable
      • applyTmp

        public void applyTmp()
        Copy the values from the temporary variable to the main instance. The temporary variable is deleted.
        See Also:
        discardTmp()
      • discardTmp

        public void discardTmp()
        Delete the temporary variable. Temporary modifications are lost.
        See Also:
        applyTmp()
      • isTagged

        public boolean isTagged()
        If it has been tagged i.e. matched to a gpx track or retrieved lat/lon from exif
        Returns:
        true if it has been tagged
      • flagNewGpsData

        public void flagNewGpsData()
        Indicates that the image has new GPS data. That flag is set by new GPS data providers. It is used e.g. by the photo_geotagging plugin to decide for which image file the EXIF GPS data needs to be (re-)written.
        Since:
        6392
      • tmpUpdated

        protected void tmpUpdated()
        Indicate that the temporary copy has been updated. Mostly used to prevent UI issues. By default, this is a no-op. Override when needed in subclasses.
        Since:
        17579
      • unflagNewGpsData

        public void unflagNewGpsData()
        Remove the flag that indicates new GPS data. The flag is cleared by a new GPS data consumer.
      • hasNewGpsData

        public boolean hasNewGpsData()
        Queries whether the GPS data changed. The flag value from the temporary copy is returned if that copy exists.
        Returns:
        true if GPS data changed, false otherwise
        Since:
        6392
      • extractExif

        public void extractExif()
        Extract GPS metadata from image EXIF. Has no effect if the image file is not set If successful, fills in the LatLon, speed, elevation, image direction, and other attributes
        Since:
        9270
      • read

        public BufferedImage read​(Dimension target)
                           throws IOException
        Reads the image represented by this entry in the given target dimension.
        Parameters:
        target - the desired dimension used for subsampling or null
        Returns:
        the read image, or null
        Throws:
        IOException - if any I/O error occurs
        Since:
        18246
      • getProjectionType

        public Projections getProjectionType()
        Get the projection type for this entry
        Returns:
        The projection type
        Since:
        18246
      • asWayPoint

        public WayPoint asWayPoint()
        Returns a WayPoint representation of this GPX image entry.
        Returns:
        a WayPoint representation of this GPX image entry (containing position, instant and elevation)
        Since:
        18065