Exif Data Not Visible

Started by Darius1968, September 13, 2014, 05:30:14 AM

Previous topic - Next topic

Darius1968

The file I've attached here does have values for the File Access Date/Time, File Creation Date/Time, and the File Modification Date/Time, as can be revealed in the ExifTool Command Processor (ECP).  However, when I go to find the same data in the Metadata panel, none of the drop down lists (Browser, Darwin Core, Default, Image Info, IPTC (XMP), Lens, Location, MP3, Office, PDF) will reveal the dates that I discovered by using ECP.  Why is this, and how can I fix?  Thanks. 

P.S.
I did attach the image also as a zip file as this forum may destroy metadata! 

[attachment deleted by admin]

Mario

The file contains only a stub EXIF record, but no other metadata at all:

[ExifTool]      ExifTool Version Number         : 9.69
[System]        File Name                       : 0004e991-abdf-bbe9-5a72-76f1a3401800_958.jpg
[System]        Directory                       : F:/Download/community/3384
[System]        File Size                       : 49 kB
[System]        File Modification Date/Time     : 2014:09:13 11:29:55+02:00
[System]        File Access Date/Time           : 2013:10:25 14:36:18+02:00
[System]        File Creation Date/Time         : 2013:10:25 14:36:18+02:00
[System]        File Permissions                : rw-rw-rw-
[File]          File Type                       : JPEG
[File]          MIME Type                       : image/jpeg
[JFIF]          JFIF Version                    : 1.01
[JFIF]          Resolution Unit                 : cm
[JFIF]          X Resolution                    : 39
[JFIF]          Y Resolution                    : 39
[File]          Image Width                     : 636
[File]          Image Height                    : 478
[File]          Encoding Process                : Baseline DCT, Huffman coding
[File]          Bits Per Sample                 : 8
[File]          Color Components                : 3
[File]          Y Cb Cr Sub Sampling            : YCbCr4:4:4 (1 1)
[Composite]     Image Size                      : 636x478


The date and time information is what ExifTool loads from the Windows file system. The same data is visible in the Metadata Panel, except for the [System] artificial data ExifTool makes up, which is never imported by IMatch.

In the File Window, IMatch falls back to display the "last modified" date and time as reported by Windows for the file, since there is no other usable date/time information in the file itself. But the Metadata Panel does not "invent" EXIF or XMP metadata fields in this case, so it does not show date and time information.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Darius1968

Is it at all possible then to take the [System] dates that you say IMatch doesn't use for metadata, and map them over to equivalent [Exif] dates that IMatch would in turn use for the mapping of metadata? 

Mario

You could use ExifTool to import the file system date and time into an EXIF record. Probably the easiest way. There are many samples on how to to do it, just use Google.

The "Modify EXIF date and time" command in IMatch may also be something to look into.

Or you use a Metadata Template to fill one or more of the XMP date/time tags from e.g. the {File.Modified} variable.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Darius1968

I attempted to use the IMatch Modify Exif Date/Time, but it has the effect of changing the Modified Date/Time.  Is there a way to load the proper fields to let the IMatch Metadata Panel display the values, but without altering the Modified Date/Time? 

Mario

QuoteI attempted to use the IMatch Modify Exif Date/Time, but it has the effect of changing the Modified Date/Time.

Well, this is required. When an application modifies the contents of a file, Windows updates the "last modified" time stamp in the file system. Windows, search indexer and backup applications rely on that. IMatch too. Thats how IMatch knows which files have changed.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Darius1968

#6
"Or you use a Metadata Template to fill one or more of the XMP date/time tags from e.g. the {File.Modified} variable."
If I take this route, would it be possible to have the XMP Date/Time field(s) be occupied with the 'original' Modified Date/Time that is a reflection of the truth before the new update.  If this be the case, where can I get good instruction on how to do this? 
Also, just to be clear, for this case, I'm simply getting image files for which the only dates are the file system dates (modified, accessed, created).  What are the exact variables for these.  I ask because when I try to enumerate them with a data driven category, none of my choices seem to be matching. 

Mario

IMatch has only one variable that deals with file system date and time, and that's the {File.Modified} variable. And the standard {File.DateTime} variable which is usually filled from EXIF date/time (or another suitable timestamp, depending on availability and file format) but falls back to the file system last modified date and time if no other timestamp is available.

You can use one of these variables to fill XMP date and time information. The tags you should fill are the tags which represent the digitized and the created date of your files. In a Metadata Template this then looks like this:



Formatting the Variables

IMatch by default formats the output of date and time using your local date and time format. ExifTool requires a standardized ISO date and time format which is identical across the planet. To get this format from the variables, you have to use a custom format:

{File.DateTime|format:YYYY:MM:DD hh:mm:ss}+02:00

This produces something like 2014:09:16 12:11:10+02:00

The 02:00 is the hard coded time zone for my country. Your value will be different.

When you run the Metadata Template on a file, IMatch sets the digitized/created date from the file system last modified date and time. The file will be positioned in the IMatch timeline accordingly.

When you later write-back the file (or you have background write-back enabled), IMatch updates/creates an XMP record for the file.
If you still need EXIF metadata for your files, make sure you allow IMatch to write and create EXIF data for the file format you are using. You can configure this under Edit > Preferences > Metadata 2: File Formats. If IMatch is not allowed to create EXIF, it will only update an existing EXIF record. Since your files have no EXIF, you need to allow the creation of EXIF.

Note: Unless you need to process your files with other software which does not support XMP, creating an EXIF record is not required.

Now, make some experiments. Check suitable variables in the Var Toy App, please with a metadata template etc.


[attachment deleted by admin]
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Viscus

I found a simple solution to change the time zone. I don't know wheter it is the way to go or not. But it works.
Just enter +02:00 in the XMP::photoshop\DateCreated and XMP::xmp\CreateDate field and it will bring the right Zone.
You have to click "Add to existing content" (Hope it is the right translation)
See attachement.
You can change it also afterwards with +01:00 and write back and everything is working.



[attachment deleted by admin]

Mario

You could also use a variable (for a date/time tag) and then just append the time zone and let IMatch write that back. For example, if you use

{File.MD.XMP::photoshop\DateCreated\DateCreated\0}+02:00

the result will be whatever is in the variable (assuming it has no time zone!) and +02:00 appended. For example, if the variable returns

10.06.2013 11:44:39

the result will be

10.06.2013 11:44:39+02:00

and that will be written to the output tag. To be on the safe side (in case the XMP field already has a time zone), you can use a substring variable function to always use only the date and time:

{File.MD.XMP::photoshop\DateCreated\DateCreated\0|substr:0,19}+02:00

Your trick with appending is neat, but works rather by accident. Better to be specific by using a variable and then transform it.

This is just a general tip in case you need to "fix" time zones. Whether this works depends on the data already in your files. You can of course also access other date and time fields in the same way. Variables in IMatch are a very powerful and versatile concept.

-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Viscus

Thanks Mario for the fast reply.

But with your hint i go also in some problems.

I have in the field eg. 2011:09:03 08:14:29.44+02:00. The last 3 infos are hidden.
If i look in the field after change i have 03.09.2011 07:14:29+02:00
I took the same variable also for {File.MD.XMP::xmp\CreateDate\CreateDate\0}.
And there i have the same

The Info in {File.MD.XMP::exif\DateTimeOriginal\DateTimeOriginal\0} is 2011:09:03 08:14:29

My version creates a field entry with 2011:09:03 08:14:29.44+02:00+02:00

After write down with your version i have 2011:07:14 29:00+02:00. So the three fields .00 are stripped. But the hour and date is completely wrong

I tried also with the variable 2011:09:03 08:14:29+02:00 but the it creates same wrong information

Regards Adrian




Mario

Sorry, I forgot to include that you need to format the variable in the format ExifTool requires (just wanted to give a quick example):

ExifTool expects a standardized ISO date:

YYYY:MM:DD HH:MM:SS+/-HH:MM

e.g.

2014-12-07 12:11:10+02:00

Date and time variables by default return the local date and time (in your format) so you need to add a formatting instruction to tell the variable the exact format to create, somehing like this:

{File.MD.XMP::photoshop\DateCreated\DateCreated\0|substr:0,19;format:YYYY:MM:DD hh:mm:ss}+02:00

Tip: You can try all this out in the Var Toy App in the App Panel.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Viscus

Thanks Mario

It works now but with an strange side effect. The output from from the variable {File.MD.XMP::exif\DateTimeOriginal\DateTimeOriginal\0} is one hour less then the time in the fields. Is there any reason for that?

Exif and also other date fields do have the right time. So i have to add one hour again even when i do nothing with timezone. Could it be because i'm now in the time zone of UTC +01:00 and it calculates one hour away?

Mario

See also "Variables" in the help. The variable displays the time in your local time zone.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Viscus

Hi Mario

I come back to this topic. I tried to figure out how to add this missing hour again to the time field. I'm just wondering wheter i'm the only one with this problem. If i use this variable, then i have a cutoff from one hour from the original time. But the orginal time (without the time zone) is the original date for my timezone not the UTC time.
In the help i didn't found a hint how to add this lost hour? Or probably in the summer time two hours?

The only one solution which helps me is my not so good idea to use only +01:00 oder +02:00 in the time field.

Mario

EXIF data has no time zone. IPTC data requires it. XMP data uses optional time zones.
When converting EXIF timestamps into IPTC and XMP, ExifTool usually assumes the local time zone.
IMatch allows you to override this under Edit > Preferences > Metadata 2. The help topic for this dialog explains about time zones and how they are converted. Usually you never need to tinker manually with time zones.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Viscus

Mario i made that. But i made this with CET Summertime (UTC +02:00). But during Wintertime we have UTC +01:00. I have a bunch of pictures with wrong timestamps. I work also with the old pictures and they where importet now with the wrong or correct timestamp.

I know if i do change the right import time, then i don't have to correct those times. But for the moment i have the situation also with old pictures with wrong timestamps. And i have a lot of iphone pics to import. Mostly with UTC +02:00 but also lot with +01:00. I know i can import them separate on each year and changing the import parameters.

I explain also in german:

Vermutlich ist die Möglichkeit gar nicht vorgesehen, den Zeitstempel nachträglich zu ändern, wenn dieser falsch sein sollte. Ich habe aber beim Bearbeiten der alten Bilder bemerkt, dass ein Teil der alten Zeitstempel nicht stimmt, auch wenn ich diese bereits unter Imatch 3 bereits angepasst habe. Es bleibt mir nichts anderes übrig als diese zu korrigeren. Aber ich kann die Variable nicht verwenden, da diese mir ja die Zeit umschreibt, was nicht korrekt ist.
Und trotz Studium im Manual habe ich keinen Hinweis gefunden, wie ich da einen Korrekturwert addieren (oder subtrahieren) kann. So wie es scheint bin ich im Moment der einzige mit diesem Problem. Der einzige Vorschlag der funktioniert ist nur auf dem Weg den ich schon getestet habe, auch wenn dieser suboptimal ist. Im Moment scheint es keine andere Lösung zu geben. Es ist für mich ok. Das Problem besteht vor allem im Moment bis ich alles korrigiert habe, was vermutlich Monate dauern wird. Aber nicht wegen dem Zeitproblem. Ich habe beim Import nur festgestellt, dass ich noch ganz andere Probleme in den alten RAW Bildern habe, da ich dort in den CRW Bildern die Metadaten nicht mehr hatte und ich diese von den JPG rückkopieren muss, damit ein korrektes XMP File erstellt wird. Zum Glück ist dies neu ganz einfach möglich. Aber genau dort habe ich nun auch das Problem mit den falschen Zeitstempeln, die ich korrigieren muss. Ich habe in der DB über 300'000 Bilder.

Mario

I suggest you add / edit the EXIF time in your files to be ' correct' respective to your local time zone. Use the Modify EXIF date and time command, or use the ECP to manipulate the date and time in your files to correct them. Remember: EXIF has no time zone. It is entirely up to you how you interpret an EXIF date and time. If you know the time in your files is wrong, only you can correct it. When copying EXIF timestamps into legacy IPTC (If you use that), a time zone has to be added. For XMP timestamps, the time zone is optional.  It gets even more complicated when you also require summer/winter time, because that's neither covered or accounted for in the IPTC and the XMP standard. Again, it's up to you to set the EXIF timestamps in your file and the time zone mapping in IMatch to meet your requirements. IMatch is very flexible and has all the tools you'll need to fix this.

When IMatch re-imports the files after you changed the metadata, it will again map the EXIF timestamps into XMP. If and which time zone IMatch here assumes can be configured under Edit > Preferences > Metadata 2.

I, and most photographers I know, always keep the camera clock on UTC to avoid any kind of confusion and time-zone issues.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Viscus

Hi Mario

Thanks a lot for your help.
I found a solution with ExifTool:

"-xmp:DateTimeOriginal<${DateTimeOriginal}+01:00"

"-xmp:DateCreated<${DateCreated}+01:00"

"-xmp:CreateDate<${CreateDate}+01:00"

This is working.

But one thing is not clear for me. The XMP Sidecar File (for Canon CR2 created by Imatch doesn't have the Timezone Stamps (DateTimeOriginal;DateCreated;CreateDate) written down. Only the Date and Time without the stamp. Also the new created files from fresh importet pictures. Also with the correct settings. In the database i have the timestamp for Datecreated and CreateDate. Also the timestamp will be set for ModifyDate and MatadataDate but not for the other fields. Also if i change the value of the fields (another time or date) it will not be changed in the database.
If i do the same with a single JPG File which is not a Version of this RAW it works.

The same behavior is also for {File.MD.XMP::dc\rights\Rights\0}. With the .jpg it works but not for the XMP File.

The Configuration for CR2 is the default value.

Mario

This looks as if you have updated the XMP in the image file, not in the side car? Or did you remember to tell ExifTool to write to the XMP sidecar file (ExifTool does not do this by itself). Perhaps you have now created two XMP records for your files, one embedded in the RAW and on in the XMP sidecar file. This has to be avoided.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Viscus

To be correct. I used ExifToolGUI. And there i don't see the XMP Information in the CR2 file. I see it in the XMP Sidecar File and this is the one i edited. I tested also with the Field "LocationShownCity" and this information was updated in the Database.

And this explains not why in the xmp sidecar file is the timestamp missing after import.

I attach screenshots of the situation after import new Pictures and write down by Imatch.

Do i something wrong?

[attachment deleted by admin]

Mario

You have changed the XMP timestamps, but not the EXIF timestamps in your image file.
Since IMatch imports EXIF timestamps into XMP when it imports the files (applying the rules defined by the Metadata Working Group), changes you make to the XMP data only in some external tool will not affect anything. You have to synchronize EXIF and XMP metadata. Why don't you use the Modify EXIF date and time command in IMatch for this? It takes care for all this automatically.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Viscus

How can i change the system time zone without affecting the absolut value for a lot of files?

The option for System-Timezone is only available when i set the absolute value. But not when i use the relativ field.


---------
Ich hoffe ich mache dich nicht verrückt mit meinem Problem. Aber entweder reden wir aneinander vorbei oder ich suche am falschen Ort.

Aber nochmals auf Deutsch:

In der Dialogbox EXIF-Dateidatum und -zeit verändern steht die Option System-Zeitzone verwenden nur zur Verfügung wenn ich den Feldwert absolut gesetzt habe. Ich will aber nicht den absoluten Wert auf diverse Dateien andwenden sondern nur die Zeitzone verändern. Dies kann ich aber gar nicht und unter dem Radiobutton "Relativ" kann ich dies gar nicht anwählen. Was ist zu tun?

Ich habe es nun mal auf zwei Dateien durchgespielt. Auch wenn ich eine Zeitzone von 2h angebe, wird der Wert der Zeitzone gesetzt der in den Metadataoptionen gesetzt ist. Das heisst wenn ich auf 2h setze sind es dann entweder +01:00 oder mal als Beispiel +03:00 aber nicht +02:00 gesetzt.

Was funktioniert: Zeitzone in den Metadataoptionen setzen. Radiobutton Relativ setzen. Dann Haken auf "System-Zeitzone" verwenden. Dann wird die Zeitzone gesetzt.
Aber auch diese Änderung wird nicht auf das XMP File runtergeschrieben.

Geprüft mit dem ExifTool Commandprozessor

-G1
-all
{XMPFiles}


Wieso werden diese Werte nicht angepasst? Dies passiert erst wenn ich mal explizit den Wert nochmals von Hand manupuliere und das Feld runterschreibe. Box Metadaten -> {File.MD.XMP::photoshop\DateCreated\DateCreated\0} und {File.MD.XMP::xmp\CreateDate\CreateDate\0} als editiert markieren und nochmals runterschreiben. Da kann ich aber nur eine Datei aufs Mal anwählen, da sonst der Wert überschrieben wird.
Der Zeitzonenwert wird übrigens auch heruntergeschrieben, sobald ich meinen ursprünglichen Ansatz nehme. Auch da werden die beiden Felder als manipuliert angeschaut und der Wert wird dann auch wirklich heruntergeschrieben.

Entweder habe ich eine Einstellung vergeigt, aber im Moment habe ich keine Idee.
Bei den JPG Files funktioniert es aber richtig.


Mario

In kurz:

Wenn Du das Modify EXIF Date & Time Kommano verwendest, werden die XMP-Zeitstempel nicht ebenfalls aktualisiert? Das klappt hier, weil dieses Kommando das expliiti macht und auch die Metadatenoptionen (wo XMP updaten, embedded oder extern) berücksichtigt.

Ich glaube das problem ist, das Du an den Zeitzonen rumbastelst und das natürlich Probleme mit dem Abgleich von EXIF (kenmnt keine Zeitzonen) und XMP (kann Zeitzonen) gibt. Ich habe über sowas erhlich noch nie nachgedacht.

Du must sowohl die EXIF-Zeiten korrigieren (e.g. auf GMT setzen). Und dann ausrechnen, welche Zeitzone das für XMP wäre und ExifTool ensprechend laufen lassen. Du brauchst also zwei ExifTool-Läufe pro Datei. Im ersten setzt du die EXIF-Daten wie gewünscht, und dann im 2. Durchgang aktualisierst Du die XMP-Zeitstempel mit der gewünschten Zeitzone. Mach das bitte extern, während IMatch nicht läuft.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Viscus

Auch mit dem Kommando werden die Daten im XMP File nicht verändert. In der Datenbankansicht schon.

Das mit dem Korrigieren der Zeitstempel auf UTC muss ich mal ausprobieren. Aber ich habe nun mal die Situation, dass meine Bilder in der Zeitzone lokal gespeichert sind. Also entweder Winter- oder Sommerzeit und zwar lokal.
Das heisst ich muss über 150'000 Bilder korrigieren.
Das einzige was nun fehlt ist nun in den XMP Daten das Flag (also +01:00 oder +02:00) zur Zeitzone. Theoretisch könnte ich ja alles weglassen, da nicht relevant.

Logisch ist dann aber die Importfunktion auch nicht. Wenn ich ja beim Import die Zeitzone angebe (via Metadaten) wird ja auch die Lokalzeit verwendet und nicht von UTC ausgegangen.

Ich habe in der Zwischenzeit auch noch Bilder vom iPhone in die DB importiert. Dort habe ich ja den GPS Zeitstempel, aber auch die Exif Informationen. Auch da ist es so, dass die Erstellungszeit lokal ist (ohne Zeitzone) und die GPS Zeit nach UTC (+00:00).
Der Vorschlag hier auch die Zeitzone über {File.MD.XMP::photoshop\DateCreated\DateCreated\0|substr:0,19;format:YYYY:MM:DD hh:mm:ss+01:00:00}+01:00 funktioniert auch nicht.

Ich will dich mit dem Thema zu stark überstrapazieren. Vermutlich bin ich im Moment der Einzige der es anders handhabt als andere?
Das einfachste ist wirklich im Moment wenn ich einfach den Zeitzonenstempel setze, wie ich dies mit XMP::photoshop\DateCreated bzw. XMP::xmp\CreateDate mit dem Wert +01:00 bzw. +02:00 fülle. Dann wird das Feld richtig gesetzt und auch ins XMP File heruntergeschrieben.
Auch wenn das nicht der von dir vorgesehene Weg ist.

Ich bin vor allem bei meinen alten RAW Dateien auf das Problem gestossen, dass diese keine Zeitzone gesetzt hatten und dann durch die Importfunktion eine falsche Zeitzone erhalten haben. Ich hatte diese zwar im Imatch 3 gesetzt gehabt, aber es hat dies vermutlich wegen den Exif Restriktionen nicht übernommen und ein XMP File war nicht vorhanden.
Ich lasse das Thema mal damit bewenden, ausser es gibt eine einfachere elegantere Lösung, die auch wirklich funktioniert. Vielen Dank auf jeden Fall für die Unterstützung und Hilfe. Ich schätze es.

Mario

Please see the comments on UTC, EXIF date and time and time zones in the IMatch help.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Carlo Didier

Quote from: Mario on December 27, 2014, 12:37:13 PMI, and most photographers I know, always keep the camera clock on UTC to avoid any kind of confusion and time-zone issues.

I'd like to comment on this remark. Your approach may be acceptable if your images are taken in time zones "near" UTC (+ or - an hour or two). But I prefer local time information, especially for time zones which are far from UTC. Otherwise, it is difficult to judge at what time of day (morning, evening, etc) a picture was taken, which is often an important information for me.