Opened 3 years ago
Closed 3 years ago
#22211 closed defect (othersoftware)
"Model" EXIF tag is altered when geotagging pictures
Reported by: | PanierAvide | Owned by: | Don-vip |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Plugin apache-commons | Version: | tested |
Keywords: | template_report | Cc: |
Description (last modified by )
What steps will reproduce the problem?
- Load this image in JOSM by drag & drop : https://files.pavie.info/depot/tmp/P4250059.JPG
- Update position and orientation of picture in JOSM (drag picture, ctrl + drag for orientation)
- Right click on picture layer, and "write coordinates in image file"
What is the expected result?
Image EXIF tags are updated for position and orientation, other EXIF tags are not changed.
What happens instead?
EXIF tag "Model" is altered, changes from "SP-720UZ" to "P720-UZ". This is problematic for applications that rely on camera make / model to compute information like field of view.
Similar issues happen with this image ( https://files.pavie.info/depot/tmp/Coffee-cup-apple-iphone.jpg ) where Model tag goes from "Canon EOS 6D" to "Canon EOS 6D0".
Please provide any additional information below. Attach a screenshot if possible.
Original EXIF tags (exiftool -S file.jpg)
ExifToolVersion: 12.42 FileName: P4250059.JPG Directory: /tmp FileSize: 3.0 MB FileModifyDate: 2022:07:12 09:22:40+02:00 FileAccessDate: 2022:07:12 09:22:40+02:00 FileInodeChangeDate: 2022:07:12 09:22:40+02:00 FilePermissions: -rw-r--r-- FileType: JPEG FileTypeExtension: jpg MIMEType: image/jpeg ExifByteOrder: Little-endian (Intel, II) ImageDescription: OLYMPUS DIGITAL CAMERA Make: OLYMPUS IMAGING CORP. Model: SP-720UZ Orientation: Horizontal (normal) XResolution: 72 YResolution: 72 ResolutionUnit: inches Software: Version 1.0 ModifyDate: 2015:04:25 15:36:11 YCbCrPositioning: Co-sited ExposureTime: 1/250 FNumber: 7.5 ExposureProgram: Creative (Slow speed) ISO: 100 SensitivityType: Standard Output Sensitivity ExifVersion: 0230 DateTimeOriginal: 2015:04:25 15:36:11 CreateDate: 2015:04:25 15:36:11 ComponentsConfiguration: Y, Cb, Cr, - ExposureCompensation: 0 MaxApertureValue: 3.2 MeteringMode: Multi-segment LightSource: Unknown Flash: Off, Did not fire FocalLength: 4.7 mm SpecialMode: Normal, Sequence: 0, Panorama: (none) CameraID: OLYMPUS DIGITAL CAMERA EquipmentVersion: 0100 CameraType2: SP-720UZ FocalPlaneDiagonal: 7.74 mm BodyFirmwareVersion: 1.004 CameraSettingsVersion: 0100 PreviewImageValid: Yes PreviewImageStart: 2843829 PreviewImageLength: 150880 MacroMode: Off FlashMode: Off WhiteBalance2: Auto WhiteBalanceBracket: 0 0 SceneMode: Landscape MagicFilter: Off; 0; 0; 0 DriveMode: Single Shot PanoramaMode: Off ImageProcessingVersion: 0112 DistortionCorrection2: On FacesDetected: 0 0 0 FaceDetectArea: (Binary data 191 bytes, use -b option to extract) MaxFaces: 8 8 8 FaceDetectFrameSize: 0 0 0 0 0 0 Warning: [minor] MakerNotes tag 0x6000 IFD format not handled UserComment: FlashpixVersion: 0100 ColorSpace: sRGB ExifImageWidth: 4288 ExifImageHeight: 3216 InteropIndex: R98 - DCF basic file (sRGB) InteropVersion: 0100 FileSource: Digital Camera CustomRendered: Normal ExposureMode: Auto WhiteBalance: Auto DigitalZoomRatio: 0 FocalLengthIn35mmFormat: 26 mm SceneCaptureType: Landscape GainControl: None Contrast: Normal Saturation: Normal Sharpness: Normal GPSVersionID: 2.3.0.0 GPSLatitudeRef: North GPSLongitudeRef: West PrintIMVersion: 0300 Compression: JPEG (old-style) ThumbnailOffset: 2544 ThumbnailLength: 11535 ImageWidth: 4288 ImageHeight: 3216 EncodingProcess: Baseline DCT, Huffman coding BitsPerSample: 8 ColorComponents: 3 YCbCrSubSampling: YCbCr4:2:2 (2 1) Aperture: 7.5 ImageSize: 4288x3216 Megapixels: 13.8 PreviewImage: (Binary data 150880 bytes, use -b option to extract) ScaleFactor35efl: 5.6 ShutterSpeed: 1/250 ThumbnailImage: (Binary data 11535 bytes, use -b option to extract) GPSLatitude: 48 deg 8' 20.59" N GPSLongitude: 1 deg 56' 54.98" W CircleOfConfusion: 0.005 mm FOV: 69.4 deg FocalLength35efl: 4.7 mm (35 mm equivalent: 26.0 mm) GPSPosition: 48 deg 8' 20.59" N, 1 deg 56' 54.98" W HyperfocalDistance: 0.54 m LightValue: 13.8
EXIF tags after JOSM edit
ExifToolVersion: 12.42 FileName: P4250059.JPG Directory: /tmp FileSize: 3.0 MB FileModifyDate: 2022:07:12 09:24:47+02:00 FileAccessDate: 2022:07:12 09:24:47+02:00 FileInodeChangeDate: 2022:07:12 09:24:47+02:00 FilePermissions: -rw-r--r-- FileType: JPEG FileTypeExtension: jpg MIMEType: image/jpeg ExifByteOrder: Little-endian (Intel, II) ImageDescription: OLYMPUS DIGITAL CAMERA Make: OLYMPUS IMAGING CORP. Model: P-720UZ Orientation: Horizontal (normal) XResolution: 72 YResolution: 72 ResolutionUnit: inches Software: Version 1.0 ModifyDate: 2015:04:25 15:36:11 YCbCrPositioning: Co-sited ExposureTime: 1/250 FNumber: 7.5 ExposureProgram: Creative (Slow speed) ISO: 100 SensitivityType: Standard Output Sensitivity ExifVersion: 0230 DateTimeOriginal: 2015:04:25 15:36:11 CreateDate: 2015:04:25 15:36:11 ComponentsConfiguration: Y, Cb, Cr, - ExposureCompensation: 0 MaxApertureValue: 3.2 MeteringMode: Multi-segment LightSource: Unknown Flash: Off, Did not fire FocalLength: 4.7 mm SpecialMode: Normal, Sequence: 0, Panorama: (none) CameraID: OLYMPUS DIGITAL CAMERA EquipmentVersion: 0100 CameraType2: SP-720UZ FocalPlaneDiagonal: 7.74 mm BodyFirmwareVersion: 1.004 CameraSettingsVersion: 0100 PreviewImageValid: Yes PreviewImageStart: 2843829 PreviewImageLength: 150880 MacroMode: Off FlashMode: Off WhiteBalance2: Auto WhiteBalanceBracket: 0 0 SceneMode: Landscape MagicFilter: Off; 0; 0; 0 DriveMode: Single Shot PanoramaMode: Off ImageProcessingVersion: 0112 DistortionCorrection2: On FacesDetected: 0 0 0 FaceDetectArea: (Binary data 191 bytes, use -b option to extract) MaxFaces: 8 8 8 FaceDetectFrameSize: 0 0 0 0 0 0 Warning: [minor] MakerNotes tag 0x6000 IFD format not handled UserComment: FlashpixVersion: 0100 ColorSpace: sRGB ExifImageWidth: 4288 ExifImageHeight: 3216 InteropIndex: R98 - DCF basic file (sRGB) InteropVersion: 0100 FileSource: Digital Camera CustomRendered: Normal ExposureMode: Auto WhiteBalance: Auto DigitalZoomRatio: 0 FocalLengthIn35mmFormat: 26 mm SceneCaptureType: Landscape GainControl: None Contrast: Normal Saturation: Normal Sharpness: Normal GPSVersionID: 2.3.0.0 GPSLatitudeRef: North GPSLongitudeRef: West GPSImgDirectionRef: True North GPSImgDirection: 301.8067162 PrintIMVersion: 0300 Compression: JPEG (old-style) ThumbnailOffset: 2402 ThumbnailLength: 11535 ImageWidth: 4288 ImageHeight: 3216 EncodingProcess: Baseline DCT, Huffman coding BitsPerSample: 8 ColorComponents: 3 YCbCrSubSampling: YCbCr4:2:2 (2 1) Aperture: 7.5 ImageSize: 4288x3216 Megapixels: 13.8 PreviewImage: (Binary data 150880 bytes, use -b option to extract) ScaleFactor35efl: 5.6 ShutterSpeed: 1/250 ThumbnailImage: (Binary data 11535 bytes, use -b option to extract) GPSLatitude: 48 deg 8' 24.38" N GPSLongitude: 1 deg 57' 1.25" W CircleOfConfusion: 0.005 mm FOV: 69.4 deg FocalLength35efl: 4.7 mm (35 mm equivalent: 26.0 mm) GPSPosition: 48 deg 8' 24.38" N, 1 deg 57' 1.25" W HyperfocalDistance: 0.54 m LightValue: 13.8
JOSM metadata
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2022-07-07 23:02:39 +0200 (Thu, 07 Jul 2022) Revision:18513 Build-Date:2022-07-08 01:30:57 URL:https://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (18513 fr) Linux Manjaro Linux Memory Usage: 600 MB / 6144 MB (391 MB allocated, but free) Java version: 19-ea+29-2143, Oracle Corporation, OpenJDK 64-Bit Server VM Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel Screen: :0.0 1920×1080 (scaling 1.00×1.00) :0.1 1920×1080 (scaling 1.00×1.00) Maximum Screen Size: 1920×1080 Best cursor sizes: 16×16→16×16, 32×32→32×32 Environment variable LANG: fr_FR.utf8 System property file.encoding: UTF-8 System property sun.jnu.encoding: UTF-8 Locale info: fr_FR Numbers with default locale: 1234567890 -> 1234567890 Desktop environment: XFCE Plugins: + ColorPlugin (1537115529) + OpeningHoursEditor (35924) + PicLayer (1.0.2) + apache-commons (35924) + apache-http (35924) + buildings_tools (35997) + conflation (0.6.9) + ejml (35924) + geotools (35959) + jackson (35958) + jaxb (35952) + jna (35924) + jts (35976) + log4j (35924) + measurement (35978) + opendata (35984) + photo_geotagging (35933) + photoadjust (35893) + reverter (35999) + tageditor (35893) + todo (30306) + turnlanes (35978) + turnlanes-tagging (v0.0.5) + undelete (35893) + utilsplugin2 (36001) + wikipedia (605) Tagging presets: + ${HOME}/Stockage/Code/gares21/JOSM/Gares21-preset.xml + https://raw.githubusercontent.com/osmlab/name-suggestion-index/main/dist/presets/nsi-josm-presets.min.xml Map paint styles: - https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1 - ${HOME}/Stockage/Documents/OpenStreetMap/building_style.mapcss - https://raw.githubusercontent.com/yopaseopor/indoormap/master/indoormap-style.mapcss - ${HOME}/Stockage/Documents/OpenStreetMap/Styles_Lane_and_Road_Attributes_own.zip + https://josm.openstreetmap.de/josmfile?page=Styles/Sidewalks&zip=1 + ${HOME}/Stockage/Code/gares21/JOSM/railway-station.mapcss - ${HOME}/Stockage/Code/OpenLevelUp/src/styles/default.mapcss - ${HOME}/Stockage/Code/OpenLevelUp/src/styles/details.mapcss - /tmp/elemstyles.mapcss Validator rules: - https://josm.openstreetmap.de/josmfile?page=Rules/OsmoseValidations&zip=1 - https://josm.openstreetmap.de/josmfile?page=Rules/SuspisciousSwimming_Pool&zip=1 - <josm.pref>/Rules_FranceSpecificRules.validator.mapcss - ${HOME}/Stockage/Documents/OpenStreetMap/indoor.validator.mapcss - <josm.pref>/Pictures.validator.mapcss - https://josm.openstreetmap.de/josmfile?page=Rules/KeepRight&zip=1 - https://www.openrailwaymap.org/validator/openrailwaymap.validator.mapcss - https://josm.openstreetmap.de/josmfile?page=Rules/OSMLint&zip=1 - https://josm.openstreetmap.de/josmfile?page=Rules/QAToolInspiredValidations&zip=1 + ${HOME}/Stockage/Code/gares21/JOSM/railway-station.validator.mapcss Last errors/warnings: - 00002.863 W: Indoor wall: Could not get presets icon presets/frame.png - 00002.871 E: Impossible de trouver l'image "presets/platform_rail.png" - 00002.871 W: Quai ferroviaire: Could not get presets icon presets/platform_rail.png - 00002.889 E: Impossible de trouver l'image "styles/standard/transport/ticket-machine.png" - 00002.889 W: Food vending machine: Could not get presets icon styles/standard/transport/ticket-machine.png - 00003.274 E: Skipping to the next rule, because of an error: - 00003.276 E: org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.ParseException: Encountered " <IDENT> "des "" at line 201, column 21. - 00003.283 W: Initializing map style ${HOME}/Stockage/Code/gares21/JOSM/railway-station.mapcss terminé(e)s en 11 ms (1 errors, 0 warnings) - 00003.288 W: Échec du chargement des styles de rendu de '/tmp/elemstyles.mapcss'. Lʼexception était : java.nio.file.NoSuchFileException: /tmp/elemstyles.mapcss - 00003.289 E: java.nio.file.NoSuchFileException: /tmp/elemstyles.mapcss
Attachments (0)
Change History (5)
comment:1 by , 3 years ago
Description: | modified (diff) |
---|
comment:2 by , 3 years ago
Description: | modified (diff) |
---|
comment:3 by , 3 years ago
Description: | modified (diff) |
---|
comment:4 by , 3 years ago
Component: | Plugin photo_geotagging → Core |
---|
comment:5 by , 3 years ago
Component: | Core → Plugin apache-commons |
---|---|
Owner: | changed from | to
Resolution: | → othersoftware |
Status: | new → closed |
I was wrong. We were actually using the apache commons imaging library. I have tracked down the upstream bug: https://issues.apache.org/jira/browse/IMAGING-319
The last release was in May 2022, and the previous release was August 2020. I don't know when the next release will be.
This looks like a bug in metadata-extractor (which we use to write back the exif data). I just updated
metadata-extractor
in r18514 as part of a general dependency update. I'll check and see if that fixed it.I'll note that when I was stepping through the code, everything we sent to be written was OK -- we aren't even touching the Model field.
See https://github.com/drewnoakes/metadata-extractor/releases/tag/2.18.0 for the changes.
EDIT: Looks like it is still a problem.