Interface ImageMetadata

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      default void extractExif()
      Extract GPS metadata from image EXIF.
      java.lang.String getDisplayName()
      Returns a display name for this entry
      java.lang.Double getElevation()
      Returns the elevation value.
      ILatLon getExifCoor()
      Get the EXIF coordinates
      java.lang.String getExifGpsDatum()
      Get the GPS datum value.
      java.lang.Double getExifGpsDop()
      Get the EXIF GPS DOP value.
      java.time.Instant getExifGpsInstant()
      Returns the EXIF GPS time.
      java.lang.String getExifGpsProcMethod()
      Get the EXIF GPS processing method.
      java.lang.Double getExifGpsTrack()
      Get the EXIF GPS track direction.
      java.lang.Double getExifHPosErr()
      Get the EXIF Horizontal positioning error.
      java.lang.Double getExifImgDir()
      Get the EXIF direction
      java.time.Instant getExifInstant()
      Returns EXIF time
      default java.lang.Integer getExifOrientation()
      Returns EXIF orientation
      java.lang.Integer getGps2d3dMode()
      Get the GPS 2d/3d mode.
      java.lang.Integer getGpsDiffMode()
      Get the GPS Differential mode.
      java.time.Instant getGpsInstant()
      Returns the GPS time value.
      int getHeight()
      Returns height of the image this ImageMetadata represents.
      java.net.URI getImageURI()
      Get the image location
      java.io.InputStream getInputStream()
      Get the image input stream
      java.lang.String getIptcCaption()
      Returns the IPTC caption.
      java.lang.String getIptcHeadline()
      Returns the IPTC headline.
      java.util.List<java.lang.String> getIptcKeywords()
      Returns the IPTC keywords.
      java.lang.String getIptcObjectName()
      Returns the IPTC object name.
      java.time.Instant getLastModified()
      Get the last time the source was modified.
      ILatLon getPos()
      Returns the position value.
      Projections getProjectionType()
      Get the projection type for this entry
      java.lang.Double getSpeed()
      Returns the speed value.
      int getWidth()
      Returns width of the image this ImageMetadata represents.
      boolean hasExifGpsTime()
      Convenient way to determine if this entry has a EXIF GPS time, without the cost of building a defensive copy.
      boolean hasExifTime()
      Convenient way to determine if this entry has a EXIF time, without the cost of building a defensive copy.
      boolean hasGpsTime()
      Convenient way to determine if this entry has a GPS time, without the cost of building a defensive copy.
      void setElevation​(java.lang.Double elevation)
      Sets the elevation.
      void setExifCoor​(ILatLon exifCoor)
      Sets the EXIF coordinates
      void setExifGpsDatum​(java.lang.String exifGpsDatum)
      Sets the GPS datum value.
      void setExifGpsDop​(java.lang.Double exifGpsDop)
      Sets the EXIF GPS DOP value.
      void setExifGpsProcMethod​(java.lang.String exifGpsProcMethod)
      Sets the GPS processing method.
      void setExifGpsTime​(java.time.Instant exifGpsTime)
      Sets the EXIF GPS time.
      void setExifGpsTrack​(java.lang.Double exifGpsTrack)
      Sets the EXIF GPS track direction.
      void setExifHPosErr​(java.lang.Double exifHPosErr)
      Sets the EXIF horizontal positioning error.
      void setExifImgDir​(java.lang.Double exifDir)
      Sets the EXIF direction
      void setExifOrientation​(java.lang.Integer exifOrientation)
      Sets EXIF orientation.
      void setExifTime​(java.time.Instant exifTime)
      Sets EXIF time.
      void setGps2d3dMode​(java.lang.Integer gps2d3dMode)
      Sets the GPS 2d/3d mode.
      void setGpsDiffMode​(java.lang.Integer gpsDiffMode)
      Sets the GPS Differential mode.
      void setGpsTime​(java.time.Instant gpsTime)
      Sets the GPS time.
      void setHeight​(int height)
      Sets the height of this ImageMetadata.
      void setIptcCaption​(java.lang.String iptcCaption)
      Sets the IPTC caption.
      void setIptcHeadline​(java.lang.String iptcHeadline)
      Sets the IPTC headline.
      void setIptcKeywords​(java.util.List<java.lang.String> iptcKeywords)
      Sets the IPTC keywords.
      void setIptcObjectName​(java.lang.String iptcObjectName)
      Sets the IPTC object name.
      void setPos​(ILatLon pos)
      Sets the position.
      void setProjectionType​(Projections newProjection)
      Set the new projection type
      void setSpeed​(java.lang.Double speed)
      Sets the speed.
      void setWidth​(int width)
      Sets the width of this ImageMetadata.
    • Method Detail

      • getImageURI

        java.net.URI getImageURI()
        Get the image location
        Returns:
        The image location
      • getWidth

        int getWidth()
        Returns width of the image this ImageMetadata represents.
        Returns:
        width of the image this ImageMetadata represents
      • getHeight

        int getHeight()
        Returns height of the image this ImageMetadata represents.
        Returns:
        height of the image this ImageMetadata represents
        Since:
        18592 (interface), 13220 (GpxImageEntry)
      • getPos

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

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

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

        java.time.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

        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:
        18592 (interface), 6450 (GpxImageEntry)
      • getDisplayName

        java.lang.String getDisplayName()
        Returns a display name for this entry
        Returns:
        a display name for this entry
      • getExifOrientation

        default java.lang.Integer getExifOrientation()
        Returns EXIF orientation
        Returns:
        EXIF orientation
      • getExifInstant

        java.time.Instant getExifInstant()
        Returns EXIF time
        Returns:
        EXIF time
        Since:
        18592 (interface), 17715 (GpxImageEntry)
      • hasExifTime

        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:
        18592 (interface), 6450 (GpxImageEntry)
      • getExifGpsInstant

        java.time.Instant getExifGpsInstant()
        Returns the EXIF GPS time.
        Returns:
        the EXIF GPS time
        Since:
        18592 (interface), 17715 (GpxImageEntry)
      • hasExifGpsTime

        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:
        18592 (interface), 6450 (GpxImageEntry)
      • getExifCoor

        ILatLon getExifCoor()
        Get the EXIF coordinates
        Returns:
        The location of the image
      • getExifImgDir

        java.lang.Double getExifImgDir()
        Get the EXIF direction
        Returns:
        The image direction
      • getExifGpsTrack

        java.lang.Double getExifGpsTrack()
        Get the EXIF GPS track direction.
        Returns:
        The GPS track direction
        Since:
        19387
      • getExifHPosErr

        java.lang.Double getExifHPosErr()
        Get the EXIF Horizontal positioning error.
        Returns:
        The image horizontal positioning error
        Since:
        19387
      • getGpsDiffMode

        java.lang.Integer getGpsDiffMode()
        Get the GPS Differential mode.
        Returns:
        The image gnss fix mode
        Since:
        19387
      • getGps2d3dMode

        java.lang.Integer getGps2d3dMode()
        Get the GPS 2d/3d mode.
        Returns:
        The image gnss 2d/3d mode
        Since:
        19387
      • getExifGpsDop

        java.lang.Double getExifGpsDop()
        Get the EXIF GPS DOP value.
        Returns:
        The image GPS DOP value
        Since:
        19387
      • getExifGpsDatum

        java.lang.String getExifGpsDatum()
        Get the GPS datum value.
        Returns:
        The image GPS datum value
        Since:
        19387
      • getExifGpsProcMethod

        java.lang.String getExifGpsProcMethod()
        Get the EXIF GPS processing method.
        Returns:
        The image GPS processing method
        Since:
        19387
      • getLastModified

        java.time.Instant getLastModified()
        Get the last time the source was modified.
        Returns:
        The last time the source was modified
      • setWidth

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

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

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

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

        void setElevation​(java.lang.Double elevation)
        Sets the elevation.
        Parameters:
        elevation - elevation
      • setExifOrientation

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

        void setExifTime​(java.time.Instant exifTime)
        Sets EXIF time.
        Parameters:
        exifTime - EXIF time
        Since:
        18592 (interface), 17715 (GpxImageEntry)
      • setExifGpsTime

        void setExifGpsTime​(java.time.Instant exifGpsTime)
        Sets the EXIF GPS time.
        Parameters:
        exifGpsTime - the EXIF GPS time
        Since:
        18592 (interface), 17715 (GpxImageEntry)
      • setGpsTime

        void setGpsTime​(java.time.Instant gpsTime)
        Sets the GPS time.
        Parameters:
        gpsTime - the GPS time
        Since:
        18592 (interface), 17715 (GpxImageEntry)
      • setExifCoor

        void setExifCoor​(ILatLon exifCoor)
        Sets the EXIF coordinates
        Parameters:
        exifCoor - The EXIF coordinates
      • setExifImgDir

        void setExifImgDir​(java.lang.Double exifDir)
        Sets the EXIF direction
        Parameters:
        exifDir - The direction
      • setExifGpsTrack

        void setExifGpsTrack​(java.lang.Double exifGpsTrack)
        Sets the EXIF GPS track direction.
        Parameters:
        exifGpsTrack - The GPS track direction
        Since:
        19387
      • setExifHPosErr

        void setExifHPosErr​(java.lang.Double exifHPosErr)
        Sets the EXIF horizontal positioning error.
        Parameters:
        exifHPosErr - the EXIF horizontal positionning error
        Since:
        19387
      • setExifGpsDop

        void setExifGpsDop​(java.lang.Double exifGpsDop)
        Sets the EXIF GPS DOP value.
        Parameters:
        exifGpsDop - the EXIF GPS DOP value
        Since:
        19387
      • setGpsDiffMode

        void setGpsDiffMode​(java.lang.Integer gpsDiffMode)
        Sets the GPS Differential mode.
        Parameters:
        gpsDiffMode - GPS Differential mode
        Since:
        19387
      • setGps2d3dMode

        void setGps2d3dMode​(java.lang.Integer gps2d3dMode)
        Sets the GPS 2d/3d mode.
        Parameters:
        gps2d3dMode - GPS 2d/3d mode
        Since:
        19387
      • setExifGpsDatum

        void setExifGpsDatum​(java.lang.String exifGpsDatum)
        Sets the GPS datum value.
        Parameters:
        exifGpsDatum - GPS datum
        Since:
        19387
      • setExifGpsProcMethod

        void setExifGpsProcMethod​(java.lang.String exifGpsProcMethod)
        Sets the GPS processing method.
        Parameters:
        exifGpsProcMethod - GPS processing method
        Since:
        19387
      • setIptcCaption

        void setIptcCaption​(java.lang.String iptcCaption)
        Sets the IPTC caption.
        Parameters:
        iptcCaption - the IPTC caption
        Since:
        18592 (interface), 15219 (GpxImageEntry)
      • setIptcHeadline

        void setIptcHeadline​(java.lang.String iptcHeadline)
        Sets the IPTC headline.
        Parameters:
        iptcHeadline - the IPTC headline
        Since:
        18592 (interface), 15219 (GpxImageEntry)
      • setIptcKeywords

        void setIptcKeywords​(java.util.List<java.lang.String> iptcKeywords)
        Sets the IPTC keywords.
        Parameters:
        iptcKeywords - the IPTC keywords
        Since:
        18592 (interface), 15219 (GpxImageEntry)
      • setIptcObjectName

        void setIptcObjectName​(java.lang.String iptcObjectName)
        Sets the IPTC object name.
        Parameters:
        iptcObjectName - the IPTC object name
        Since:
        18592 (interface), 15219 (GpxImageEntry)
      • getIptcCaption

        java.lang.String getIptcCaption()
        Returns the IPTC caption.
        Returns:
        the IPTC caption
        Since:
        18592 (interface), 15219 (GpxImageEntry)
      • getIptcHeadline

        java.lang.String getIptcHeadline()
        Returns the IPTC headline.
        Returns:
        the IPTC headline
        Since:
        18592 (interface), 15219 (GpxImageEntry)
      • getIptcKeywords

        java.util.List<java.lang.String> getIptcKeywords()
        Returns the IPTC keywords.
        Returns:
        the IPTC keywords
        Since:
        18592 (interface), 15219 (GpxImageEntry)
      • getIptcObjectName

        java.lang.String getIptcObjectName()
        Returns the IPTC object name.
        Returns:
        the IPTC object name
        Since:
        18592 (interface), 15219 (GpxImageEntry)
      • extractExif

        default 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:
        18592 (interface), 9270 (GpxImageEntry)
      • getInputStream

        java.io.InputStream getInputStream()
                                    throws java.io.IOException
        Get the image input stream
        Returns:
        The input stream of the image
        Throws:
        java.io.IOException - If something happens during image read. See implementation for details.
      • getProjectionType

        Projections getProjectionType()
        Get the projection type for this entry
        Returns:
        The projection type
        Since:
        18592 (interface), 18246 (GpxImageEntry)
      • setProjectionType

        void setProjectionType​(Projections newProjection)
        Set the new projection type
        Parameters:
        newProjection - The new type