none
Exif GPS-Koordinaten auslesen

    Question

  • Hallo allerseits,

    ich bin gerade dabei, eine Klasse in c# zu machen., die mir die Exif-Daten von Bildern ausliest. Einzelne Exif-Short, Long, oder Ascii auslesen ist kein Problem, funktioniert prima.

    Nur bei der Interpretation der GPS-Koordinaten habe ich so meine Schwierigkeiten. Grad und Minuten der Position auslesen funktioniert, nur die Sekunden machen noch Probleme. Da bekomme ich einfach keine plausiblen Ergebnisse hin.

     

    Kann mir hier jemand einen Tipp geben, wie die Sekunden der GPS-Position interpretiert werden müssen?

     

    Danke im Voraus!

    mfg Chris


    Christian Stüben Bedenke immer, die Welt ist eine flache Scheibe. www.haifischbar.com
    Saturday, September 04, 2010 12:55 PM

Answers

  • Hallo Robert,

    das Problem ist gelöst. Die genannten Links waren mir schon früher bekannt, wie soviele weitere auch. Die Ursache war auch nicht die Daten für Grad, Minuten, Sekunden zu finden, dann Zähler durch Nenner zu teilen. Was in den Links nirgends steht, ist daß die zugrundeliegenden Exif-Long Big Endian sind, und nicht Little Endian.

     

    Beispiel (zur Vereinfachung mit Dezimalzahlen):

     

    7000 geteilt durch 1000 ergibt 7.

    Da ja bei dem uralten Big Endian vs. Little Endian Problem die Zahlen genau anders herum stehen müssen, sollte also in Wirklichkeit folgendes stehen:

    0007 geteilt durch 0001 ergibt 7.

     

    Etwas anders sieht es aus, wenn

    7001 : 1000 geteilt werden soll.

     

    7001 : 1000 ergibt 7,001

    vertauscht:

    1007 : 0001 ergibt 1007

     

    Jedenfalls ist das Problem erkannrt und gelöst.

     

    mfg Chris


    Christian Stüben Bedenke immer, die Welt ist eine flache Scheibe. www.haifischbar.com
    • Marked as answer by kapitaen Saturday, September 04, 2010 5:45 PM
    Saturday, September 04, 2010 5:45 PM

All replies

  • Hallo allerseits,

    hier eine Bitte an die Digitalphotografen hier im Forum: zum Testen einer c#-Klasse, die in Digitalphotos enthaltene exif-gps-Daten extrahieren bzw. schreiben soll, suche ich Digitalphotos die so etwas enthalten. Größe (äh, ja, sollten keine Megabytemonster sein), Motiv, etc ist egal, irgendwelche Schrottbilder reichen aus. jpeg, tiff, gif, cr2 sollen verarbeitet werden.

    Entsprechende Bilder bitte an cs.st.ng@gmx.de

    Danke an alle im Voraus!

    mfg Christian Stüben

     


    Christian Stüben Bedenke immer, die Welt ist eine flache Scheibe. www.haifischbar.com
    Monday, August 30, 2010 5:53 PM
  • Einen Dank an Herrn Breitenhofer, daß er so schnell nach Off Topic verschiebt, aber wenn sich wie jetzt herausstellt, daß die falschen Werte dadurch kamen, daß hier Big Endian als Little Endian interpretiert wurden, so glaube ich durchaus, daß so etwas doch entwicklerspezifisch ist und auch andere .net-Entwickler interessieren könnte.

    mfg Christian Stüben


    Christian Stüben Bedenke immer, die Welt ist eine flache Scheibe. www.haifischbar.com
    Saturday, September 04, 2010 3:10 PM
  • Hallo Christian,

    Habe Deine erste Frage im Off-Topic verschoben weil Du suchtest einfach Fotos, Du hast gesagt das Du möchtest eine C#-Klasse testen, deshalb dachte ich ok, er schreibt nichts das er Problemen mit dieser Klasse hat, er sucht einfach nur Fotos. Kein Problem, habe es so schnell wie möglich wieder zurückgeschoben.

    „zum Testen einer c#-Klasse, die in Digitalphotos enthaltene exif-gps-Daten extrahieren bzw. schreiben soll, suche ich Digitalphotos die so etwas enthalten... Entsprechende Bilder bitte an cs.st.ng@gmx.de

    Jetzt Zu Deinem Problem: Es interessiert uns schon wenn Du den Code posten könntest. Du kannst den Code und die Bild Datei die so etwas enthält auf SkyDrive in den Ordner Public hochladen und hier im Forum den Link posten.

    Schau Dir mal die folgenden Links an. Vielleicht können sie Dir weiter helfen.

    Geotagging

    GPS Attribute Information (hier bei GPSLatitude und GPSLongitude steht folgendes: „The latitude/longitude is expressed as three RATIONAL values giving the degrees, minutes, and seconds, respectively. When degrees, minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format is dd/1,mmmm/100,0/1.“ –deshalb kommt die Frage: gibt es Grad, Minuten und Sekunden ? oder nur Grad und Minuten?

    http://stackoverflow.com/questions/2526304/php-extract-gps-exif-data (hier steht auf einmal folgendes: „According to http://en.wikipedia.org/wiki/Geotagging, ( [0] => 46/1 [1] => 5403/100 [2] => 0/1 ) should mean 46/1 degrees, 5403/100 minutes, 0/1 seconds, i.e. 46°54.03′0″N. Normalizing the seconds gives 46°54′1.8″N.“

    Grüße,

    Robert

    Saturday, September 04, 2010 4:52 PM
  • Hallo Robert,

    das Problem ist gelöst. Die genannten Links waren mir schon früher bekannt, wie soviele weitere auch. Die Ursache war auch nicht die Daten für Grad, Minuten, Sekunden zu finden, dann Zähler durch Nenner zu teilen. Was in den Links nirgends steht, ist daß die zugrundeliegenden Exif-Long Big Endian sind, und nicht Little Endian.

     

    Beispiel (zur Vereinfachung mit Dezimalzahlen):

     

    7000 geteilt durch 1000 ergibt 7.

    Da ja bei dem uralten Big Endian vs. Little Endian Problem die Zahlen genau anders herum stehen müssen, sollte also in Wirklichkeit folgendes stehen:

    0007 geteilt durch 0001 ergibt 7.

     

    Etwas anders sieht es aus, wenn

    7001 : 1000 geteilt werden soll.

     

    7001 : 1000 ergibt 7,001

    vertauscht:

    1007 : 0001 ergibt 1007

     

    Jedenfalls ist das Problem erkannrt und gelöst.

     

    mfg Chris


    Christian Stüben Bedenke immer, die Welt ist eine flache Scheibe. www.haifischbar.com
    • Marked as answer by kapitaen Saturday, September 04, 2010 5:45 PM
    Saturday, September 04, 2010 5:45 PM
  • Hallo Christian,

    mein Interesse an EXIF hält sich in Grenzen...
    Sollte ich jedoch auf die Idee kommen so etwas zu implementieren,
    und lese (flüchtig) in der EXIF Beschreibung, das TIFF als Grundlage
    verwendet wird, so würde ich prüfen ob ein ähnliches Verfahren zur
    Erkennung der Endianess wie bei TIFF verwendet wird.

    Auch ein wenig lurken in gestandenen Bibliotheken wie
    http://libexif.sourceforge.net/
    kann nicht schaden.

    nur so als Vorschlag... denn meine (relativ einfache) Kamera
    ist 3 Jahre alt und kennt kein GPS...

    Gruß Elmar

    Saturday, September 04, 2010 5:53 PM
  • Danke für den Link zu libexif, auch wenn das Problem inzwischen gelöst ist werde ich mir das Modul ansehen.

     

    Meine ist 1 Monat alt und kennt trotzdem kein GPS ;-(

     

    mfg Chris "the lurker" tian

     

    Nachtrag: Testbilder habe ich inzwischen genügend bekommen.

     


    Christian Stüben Bedenke immer, die Welt ist eine flache Scheibe. www.haifischbar.com
    Saturday, September 04, 2010 5:59 PM
  • Hallo Christian,

    nach dem was man so liest, sollte man möglichst viele
    unterschiedliche Modelle als Quellen testen.
    Auf den verschiedenen Bilder-Communities wie Picasa etc.
    sollte aber Material genug existieren.
    Bing und Google nutzen die Daten bei ihren Maps  ja auch.

    Gruß Elmar

    Saturday, September 04, 2010 6:17 PM