[GERMAN] Verständnisfrage zur Verwendung der Zeitzonenangabe

Started by herb, April 28, 2017, 05:07:39 PM

Previous topic - Next topic

herb

Werte(r) IMatch Entwickler

Ich bin über einen Bekannten auf IMatch aufmerksam geworden und spiele gerade damit bzw. mache die ersten Schritte mit der Trial-Version 5.8.0.3 auf einem Windows 7 System. Ein überzeugendes Programm, das mir sehr gut gefällt. Herzlichen Glückwunsch.

Doch ich habe eine Verständnisfrage zur Verwendung der Zeitzone in den Metadaten:

Test 1:
Ich habe ein *.jpg Bild (aus einer Olympus Kamera E-PL6) indiziert.
Da das Bild direkt aus der Kamera kommt, enthält es nur EXIF-Metadaten und die Zeitangaben enthalten (natürlich) keine Zeitzone.
Da das Bild anfang März 2017 gemacht wurde (zur Winterzeit=Zeitzone +01:00) und um zu verhindern, dass beim heutigen Indizieren die Sommerzeit (Zeitzone +02:00) verwendet wird habe ich die Zeitzoneneinstellungen unter Einstellungen->Metadaten2->IPTC und EXIF Zeitzone jeweils auf +01:00 gesetzt.
Für den Test habe ich Englisch als GUI-Sprache verwendet, um keine Übersetzungsprobleme zu provozieren.

Nach Einlesen des Bildes zeigt der Metadaten-Browser folgende Datumswerte:
Composite:     CreateDate                     2017:03:03 12:02:34
               DateTimeOriginal               2017:03:03 12:02:34
               ModifyDate                     2017:03:03 12:02:34
EXIF:          CreateDate                     2017:03:03 12:02:34
               DateTimeOriginal               2017:03:03 12:02:34
               ModifyDate                     2017:03:03 12:02:34
XMP-Photoshop: DateSubjectCreated             2017:03:03 12:02:34+01:00         (1)
XMP-Exif:      DateTimeOriginal               2017:03:03 12:02:34
XMP-xmp:       CreatedDate                    2017:03:03 12:02:34+01:00
               ModifiedDate                   2017:03:03 12:02:34               (2)


Nachdem ich einen Pseudo-Copyrightvermerk eingetragen hatte, habe ich die Metadaten gespeichert und anschließend zeigt der Metadaten-Browser folgende Werte:
Composite:     CreateDate                     2017:03:03 12:02:34               (3)
               DateTimeCreated                2017:03:03 12:02:34+01:00                     (*)
               DateTimeOriginal               2017:03:03 12:02:34               (4)
               DigitalCreationDateTime        2017:03:03 12:02:34+01:00                     (*)
               ModifyDate                     2017:04:28 14:08:05+02:00         (5)
               ModifyDate                     today      14:08:05+02:00         (5)
EXIF:          CreateDate                     2017:03:03 12:02:34
               DateTimeOriginal               2017:03:03 12:02:34
               ModifyDate                     today      14:08:05
               Offset                         +02:00                            (6)
IPTC-App       DateCreated                    2017:03:03
               DigitalCreationDate            2017:03:03
               DigitalCreationTime                       12:02:34+01:00                     (*)
               TimeCreated                               12:02:34+01:00                     (*)
XMP-Photoshop: DateSubjectCreated             2017:03:03 12:02:34               (1)
XMP-Exif:      DateTimeOriginal               2017:03:03 12:02:34
XMP-xmp:       CreatedDate                    2017:03:03 12:02:34
               Metadatadate                   today      14:08:05+02:00
               ModifiedDate                   today      14:08:05+02:00


Dazu nun meine Fragen:
(a) zu Zeilen (1): Warum verschwindet die Zeitzonenangabe nach Speichern der Metadaten?
(b) zu Zeile  (2):  Warum wird hier keine Zeitzone von IMatch angegeben?
(c) zu Zeile  (3):  Warum wird hier keine Zeitzone von IMatch angegeben?
                           Oder ist das eine Frage an Exiftool, denn Exiftool zeigt in den Composite-Tags immer eine Zeitzone,
                           zeigt aber in den MWG-Composite Tags keine Zeitzone.
                           Ich habe mal Phil Harvey gefragt; siehe http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,8263.0.html
(d) zu Zeilen (5): Warum ist nicht in beiden Zeilen today für das heutige Datum eingetragen?
(e) zu Zeile  (6):  Warum wird nur die Zeitzone für Änderungen in die EXIF Metadaten übernommen?
                            Seit EXIF V2.3 gibt es doch 3 Zeitzonenangaben in den EXIF Metadaten.


Test 2:
Jetzt habe ich den Test wiederholt mit einem Bild das zur Sommerzeit aufgenommen wurde.
Für alle mit (*) markierten Tags habe ich als Zeitzone +02:00 erhalten.

Frage:
(f) Warum wurde nicht ebenfalls der Wert +01:00 verwendet, wie er in den Einstellungen->Metadaten 2 eingetragen ist?

Ich hoffe mit den vielen Datum/Uhrzeit-Details niemenden verwirrt zu haben. Aber die genauen Werte scheinen doch wichtig zu sein.
Vielen Dank schon mal im Voraus für alle Tips, Kommentare bzw. Antworten.

Beste Grüße
Herb

Mario

Zeitzonen sind immer ein Problem. Nicht umsonst stellen die meisten Fotografen ihre Kameras auf UTC und stellen sie nie wieder um. Das vermeidet eine Menge an Problemen.

Nicht alle Zeitangaben verwenden eine Zeitzone (ModifiedDate zum Beispiel). Ich habe mir zu diesem Theme in der IMatch-Hilde einen Wolf geschrieben und extra Optionen eingebaut, die das Synchronisieren zwisichen den EXIF (keine Zeitzone!) und legacy IPTC (Zeitzone) und XMP (Zeitzonen) zumindest nachvollziehbar macht. Das ist alles leider in den Metadaten-Standards historisch gewachsen und solange Kamerahersteller sich nicht endlich von dem völlig veralteten EXIF verabschieden, wird das immer schwer bleiben. Die Anwender machen aber keinen Druck und die Kamerahersteller sind nur an der Marge interessiert.

In IMatch immer  nur die XMP-Zeitstempel ändern, nicht EXIF oder IPTC. Nur so kann ExifTool beim Rückschreiben richtig synchroniseren. Ich kann es hier nicht nochmal besser erklären als in der Hilfe (Suche nach time zone im Index).
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

herb

Hallo Mario,

vielen Dank für den Hinweis auf die IMatch-Hilfe. Interessant ist auch der Vorschlag die Kamerazeit auf UTC zu stellen!
Von Phil Harvey habe ich Vieles zum Thema Composite-Tags gelernt und wie die Zeitzonenangaben nach den Regeln der MWG entstehen. Ich möchte deshalb diese Tags aus der Diskussion heraushalten.

Ich habe die Tests wiederholt
- mit 2 Bildern, eines aufgenommen 2017 Winterzeit und eines aufgenommen 2017 Sommerzeit
  (Ich habe keine Test gemacht mit Bildern aufgenommen 2016 oder früher).
- jedes dieser Bilder habe ich indiziert mit je folgenden Einstellungen->Metadaten2->IPTC/EXIF-Zeitzone: leer, +00:00 und +01:00
- explizit habe ich dabei keine Datums/-uhrzeitangabe verändert.

Zuerst eine Zwischenfrage: Gibt es eine Möglichkeit die Kommandos von IMatch an Exiftool aufzuzeichnen/auszulesen. Dies würde bestimmt weiterhelfen.

Nach den Tests verstehe ist folgendes immer noch nicht:
(A) Wieso geht die Zeitzone für XMP-Photoshop: DateSubjectCreated verloren
- Direkt nach dem Import zeigt IMatch für XMP-Photoshop: DateSubjectCreated einen Wert mit richtiger Zeitzone
  z.B.: XMP-Photoshop: DateSubjectCreated 2017:03:03 12:02:34+01:00
- nach Zuweisen eines Copyright und anschließendem Speichern der Metadaten in der Datei zeigt IMatch nur noch Werte ohne Zeitzone
  z.B.: XMP-Photoshop: DateSubjectCreated 2017:03:03 12:02:34
- Der Wert steht auch so in der Datei und dieser Tag lässt eine Zeitzonenangabe zu.
Gleiches gilt für XMP-xmp:CreateDate.

(B) Zeitzonenangabe für IPTC:DigitalCreationTime und IPTC:TimeCreated
Diese Tags entstehen korrekterweise erst nach  Zuweisen eines Copyright und anschließendem Speichern der Metadaten in der Datei.
Die Zeitzonenangaben waren immer +01:00 für Bilder aufgenommen zur Winterzeit und +02:00 für Sommerzeit.
Dies ist prinzipiell nicht falsch.
Wenn ich die IMatch-Hilfe für Einstellungen->Metadaten2->IPTC/EXIF-Zeitzone richtig verstanden habe,
- sollten obige Werte nur geschrieben werden wenn IPTC/EXIF-Zeitzone leer sind
- nicht jedoch wenn IPTC/EXIF-Zeitzone z.B. den Wert +01:00 haben
  Nach meiner Interpretation der Hilfe sollte hier immer +01:00 als Zeitzone geschrieben werden.
Diese beiden Tags übernehmen ihre Werte von den Tags in (A), die die Zeitzonen Angabe verlieren.

Vielen Dank für weitere Hilfe im Voraus
Beste Grüße
Herb

Mario

Ich bin leider zur Zeit 120% mit IMatch 2017 ausgelastet. Vielleicht kann ein anderer User die Fragen beantworten.
Wenn Du denkst, das hier irgend ein Bug vorliegt, biite einen Bug Report einstellen. Ich schaue es mir dann nach dem Erscheinen von IMatch 2017 an.
Eigentlich delegiert IMatch das alles an ExifTool. Keine Composite Tags involviert, die arbeiten manchmal sehr mysteriös.

Bis wir die aktuelle Implementierung für die 5.0 fertig hatten, gab es lange Diskussionen in den Beta-Foren. Scheint aber, dass die User mit der aktuellen Implementierung zufrieden sind.
Ich habe seit zwei Jahren nichts mehr am Code ffür die Zeitstempel geändert. Es gibt auch keine Bug Reports. Ich bin daher gar nicht mehr im Thema und muss mich erst neu einlesen.
Dafür fehlt mir aktuell die Zeit, IMatch 2017 geht vor und nimmt meine ganze Zeit in Anspruch.

Wie gsagt, Zeitzonen sind schelcht und tricky. Ich verwende seit 10 Jahren nur UTC und habe keinerlei Probleme, mit welchen Tools und Kameras auch immer.

PS.: Das ExifTool Output Panel (siehe Hilfe) zeigt die Kommands von IMatch und die Ausgaben von ExifTool an.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

axel.hennig

Hallo Herb,

ich habe mal versucht das Ganze mit folgender Konstellation nachzustellen:
- von einem Bild ALLE Metadaten entfernt und dann folgende exiftool-Kommandos (Version 10.50) ausgeführt

exiftool.exe -overwrite_original -alldates="2017:01:02 03:04:05" a.jpg
exiftool.exe -overwrite_original -XMP-photoshop:DateCreated="2017:01:02 03:04:05-06:00" a.jpg

- Bild in IMatch (v 5.8.4 mit exiftool 10.40) eingelesen und über den ExifTool Command Processor (ECP) mit dem Befehl

-G1
-all
-a
{Files}

alle Metadaten ausgeben lassen
- Rating des Bildes auf "1" gesetzt
- Metadaten zurückgeschrieben
- nochmals mit ECP alle Metadaten ausgeben lassen

Ich muss zugeben, dass ich deine Problematik noch nicht vollständig nachvollziehen kann, aber folgendes kann ich nicht reproduzieren:
- der Tag "[XMP-photoshop] Date Created" ist bei mir vorher wie nachher identisch

[XMP-photoshop]     Date Created     : 2017:01:02 03:04:05-06:00


Viele Grüße
Axel

PS: Ich bin gerne bereit noch etwas mehr Zeit zu investieren (vor allem heute und morgen vormittags), bräuchte allerdings eine etwas detailliertere Anleitung (Schritt-für-Schritt?).

herb

Hallo Axel und Mario

Vielen Dank Axel, dass Du versuchen willst, mein Szenario nachzustellen.

Voraussetzung:
- *.jpg Bild (ich erwähne das, da ich nur mit *.jpg Dateien getestet habe).
- IMatch Einstellung: Einstellungen->Metadaten2->IPTC/EXIF-Zeitzone z.B.: +03:00 und +04:00
  Ich habe diese Werte gewählt, da sie keine Zeitzonenwerte für Deutschland sind.
- IMatch Einstellung: Schreibe auch IPTC Metadaten

Schritt 1:
- Indizieren/Einlesen des Bildes. IMatch zeigt folgende Tags in der GUI:
  XMP-Photoshop:DateSubjectCreated: Aufnahmedatum und Zeitzone +04:00 (= EXIF Zeitzone der Einstellungen)
  XMP-xmp:CreateDate: Aufnahmedatum und ebenfalls Zeitzone +04:00
- Da IMatch für diese beiden Tags die richtige Zeitzone anzeigt, gehe ich davon aus, dass es diese beim nächsten Schreiben
  der Metadaten auch so in die Datei schreiben wird

Schritt 2:
- Zuweisen eines Tags (z.B. Copyright) und Schreiben der Tags mittels Exiftool
- Nacheinander erhält Exiftool die Aufträge
  ... exif2xmp.args, iptc2xmp.args und gps2xmp.args anzuwenden
  ... die geänderten Copyright Tags und einige andere Tags zu übernehmen
  ... xmp2exif.args, xmp2iptc.args und xmp2gps.args anzuwenden
- Die beiden betroffenen obigen XMP-Tags werden nicht explizit geändert, obwohl sie von IMatch mit einer Zeitzonenangabe versehen wurden.
(siehe angehängte Datei: sie enthält die Kommunikation mit Exiftool)
  Dies ist in meinen Augen ein FEHLER.

Jetzt zeigt die IMatch GUI
  XMP-Photoshop:DateSubjectCreated: nur Aufnahmedatum; aber ohne die oben erwähnte EXIF-Zeitzone
  XMP-xmp:CreateDate: nur Aufnahmedatum; aber ebenfalls ohne die oben erwähnte EXIF-Zeitzone
  IPTC:DigitalCreationTime: Aufnahmedatum mit Zeitzone +01:00
  IPTC:TimeCreated: Aufnahmedatum mit Zeitzone +01:00
- Für diese IPTC-Tags ist für mich die Zeitzonenangabe, die Exiftool eingefügt hat, korrekt.
  Sie hängt nur vom Aufnahmedatum ab, da die beiden obigen XMP-Tags über keine Zeitzonenangabe verfügen.
  +01:00 da mein Testbild zur Winterzeit aufgenommen wurde.

Annahme:
Hätte IMatch im Exiftool Auftrag auch die Zeitzone für XMP-Photoshop:DateSubjectCreated und XMP-xmp:CreateDate auf +02:00 gesetzt,
hätte Exiftool diesen Wert wohl in die IPTC Tags übernommen.

zusätzliche Frage:
Wenn ich die IMatch Hilfe zur Einstellung IPTC-Zeitzone richtig verstehe,
hätten jetzt die beiden IPTC-Tags - IPTC:DigitalCreationTime und IPTC:TimeCreated den Zeitzonewert +03:00 enthalten sollen.
Ist diese Annahme richtig?
Mir ist auch völlig unklar, wann und wie IMatch diesen Wert ins Spiel bringen will.

Vielen Dank für Deine Beurteilung im Voraus.

Schöne Grüße aus München
Herb

axel.hennig

Hallo Herb,

sorry für die späte Antwort, ich bin leider erst jetzt dazu gekommen das Ganze zu reproduzieren.

Kurz zusammengefasst: Ich kann das von dir beschriebene Verhalten reproduzieren und bin ebenfalls der Meinung, dass das ein Bug ist.

Etwas ausführlicher:

(1) Ich habe in den Preferences unter Metadata2 fogendes bei "IPTC and EXIF Time Zones" eingetragen:

IPTC Time Zone: +07:00
EXIF Time Zone: +08:00

(2) Zwei identische Bilder (nur mit unterschiedlichen Dateinamen) wurden in eine neu erstellte IMatch-Datenbank geladen.
(3) Beide Bilder zeigen im Metadata-Panel (Browser):

XMP Photoshop: Date Subject Created: 2015:10:21 18:09:18.09+08:00
XMP xmp: Created Date: 2015:10:21 18:09:18.09+08:00

(4) Bei BildA habe ich das Rating auf "1" gesetzt. Bei BildB habe ich im Metadata-Browser bei "Composite: Copyright" den Wert "test" eingetragen.
(5) Da ich in den Preferences unter Background Processing die "Write-back changes to metadata immediately" Option deaktiviert habe, habe ich bei BildA und bei BildB die Metadaten durch klicken auf das Pen Icon zurückschreiben lassen.

Jetzt finde ich, dass es interessant wird.

(6) Im Metadata-Panel (Browser) zeigen die beiden Bilder jetzt folgendes an:
BildA

XMP Photoshop: Date Subject Created: 2015:10:21 18:09:18.09+08:00
XMP xmp: Created Date: 2015:10:21 18:09:18.09+08:00


BildB

XMP Photoshop: Date Subject Created: 2015:10:21 18:09:18.09
XMP xmp: Created Date: 2015:10:21 18:09:18.09


Interessant finde ich, dass obwohl beide Male Metadaten zurückgeschrieben werden das Resultat für Felder die in beiden Fällen nicht involviert sind unterschiedlich ist.

Viele Grüße (übrigens auch aus München)
Axel

PS: Schreibst du einen Bug-Report?

axel.hennig

Hallo Herb,

ich habe mir das Ganze nochmals etwas angesehen und folgendes Verhalten von IMatch verstehe ich nicht ganz:

- Wenn ich bei einem (frisch importierten) Bild das Rating ändere und (mittels Pen Icon) die Metadaten zurückschreiben lasse, dann werden keine *.args-Dateien an ExifTool zur Anwendung übergeben.
- Wenn ich dagegen bei einem (ebenfalls frisch importierten) Bild den Composite|Copyright Tag ändere (im Metadata-Browser Panel) und dann (mittels Pen Icon) die Metadaten zurückschreiben lasse, dann werden die *.args-Dateien "exif2xmp.args", "iptc2xmp.args", "gps2xmp.args" und "xmp2exif.args" angewendet.

Beide Male werden Metadaten zurückgeschrieben, aber warum kommen nur im zweiten Fall die *.args-Dateien zur Anwendung?

Zweiter Punkt:
Das Verhalten, welches du oben beschrieben hast und von dem wir beide der Meinung sind, dass es ein Bug ist liegt vmtl. an der "exif2xmp.args" und dort im Speziellen an den Zeilen:

-XMP-photoshop:DateCreated < EXIF:DateTimeOriginal
-XMP-photoshop:DateCreated < Composite:SubSecDateTimeOriginal
-XMP-xmp:CreateDate < EXIF:CreateDate
-XMP-xmp:CreateDate < Composite:SubSecCreateDate

Die beiden Einträge "XMP-photoshop:DateCreated" und "XMP-xmp:CreateDate" werden im Wesentlichen durch EXIF-Werte ersetzt und diese beinhalten keinen TimeZoneOffset.

D.h. IMatch übernimmt die TimeZone-Einstellungen, die man unter Metadata2 gemacht hat zuerst korrekt, ExifTool überschreibt sie dann aber bei manchen Metadata-Write-backs wieder.

Sind meine Erklärungen verständlich und nachvollziehbar? Und wenn ja, sind sie korrekt?

Viele Grüße
Axel

herb

Hallo Axel,

es freut mich, dass auch Du Dich in diese Problematik vertieft hast, und ich nicht alleine gegen Windmühlenflügel kämpfe.
Ich habe das auch als Bug gemeldet: https://www.photools.com/community/index.php?topic=6531.0

Deine Beschreibungen sind völlig korrekt:
- beim erstmaligen Einlesen in die Datenbank werden alle Werte korrekt übernommen/gesetzt.
- Beim Schreiben von anderen Metadaten z.B. ein Copyright gehen die Zeitzonenwerte wieder verloren.

Sind die Zeitzonenwerte in den Einstellungen leer, habe ich dieses Verhalten nicht beobachtet.

Welche Rolle die Exiftool Argumentdatein spielen weiß ich noch nicht genau.
Aufgefallen ist mir dass die xmp2exif.args die EXIF-Zeitzonen tags Offsetxxx erzeugt/setzt. Diese Offsetxxx Tags spielen aber auch eine Rolle in der exif2xmp.args Datei.

Viele Grüße
Herb

Mario

Quote from: axel.hennig on May 05, 2017, 08:51:50 PM
Beide Male werden Metadaten zurückgeschrieben, aber warum kommen nur im zweiten Fall die *.args-Dateien zur Anwendung?
Wenn IMatch nur XMP-Daten schreibt, die nicht mit EXIF/IPTC synchronisiert werden, werden keine ARGS-Dateien benötit. Die machen nur das MWG Mapping. Somit ist das verhalten korrekt.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook