<chapter id="geolocalization">
<chapterinfo>

<title
>Editor zur geographischen Lokalisierung</title>

<authorgroup>
    <author
><firstname
>Gerhard</firstname
><surname
>Kulzer</surname
> <affiliation
><address
><email
>gerhard at kulzer dot net</email
></address
></affiliation>
    </author>
</authorgroup>

<abstract>
<para
>Das KIPI-Modul zur geographischen Lokalisierung erlaubt es GPS-Koordinaten in den Metadaten eines Bildes hinzuzufügen und zu bearbeiten. Die geographischen Daten werden in den EXIF-Stichworten des Bildes gespeichert und die Lokalisierung kann in einer Karte in einem externen Browser angezeigt werden. </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>KIPI</keyword>
</keywordset>
</chapterinfo>

<title
>Einführung</title>

<para
>Das KIPI-Modul zur <quote
>geographischen Lokalisierung</quote
> stellt Werkzeuge zur Verfügung um Bilder geographisch im sphärischen Koordinaten System, das von GPS und Galileo benutzt wird, zu lokalisieren.Höhe, Länge- und Breitengrade werden dabei benutzt. </para>
<note
><para
>Das Modul kann nur mit Bildern benutzt werden, die eine EXIF-Unterstützung durch <ulink url="http://www.exiv2.org"
>libkexiv2</ulink
> verfügen. </para
></note>

<sect1 id="geolocalization-title"
>  <title
>Geographische Lokalisierung</title>
<para
>Dieses Modul verfügt über zwei Methoden um Bilder mit Koordinaten zu versehen: </para>
<itemizedlist>
    <listitem>
        <para
>Korrelation von GPS Daten mit einer Reihe von Bildern in der Stapelverarbeitung. </para>
    </listitem>
    <listitem>
        <para
>Halbautomatisches Setzen der Koordinaten zu einem einzelnen Bild. </para>
    </listitem>
</itemizedlist>

<sect2 id="geolocalization-correlator"
>       <title
>Die Korrelation</title>
        <para
>Um Ihre Bilder mit geographischen Daten zu korrelieren benötigen Sie eine GPS Spur als XML-Datei im gpx-Format. <ulink url="http://www.gpsbabel.org"
>gpsbabel</ulink
> und <ulink url="http://www.ncc.up.pt/gpsman/"
>gpsman</ulink
> können die Daten für Sie von Ihrem GPS-Gerät herunterladen und konvertieren. </para>
        <para
><menuchoice
><guimenu
>Bild</guimenu
> <guimenuitem
>Geographische Lokalisierung</guimenuitem
> <guimenuitem
>Korrelator</guimenuitem
></menuchoice
>. Diese Schnittstelle kann eine Anzahl von vorher ausgewählten Bildern mit einer GPS-Spur zusammenführen. </para>
            <example>
               <title
>Der Dialog zur geographischen Korrelation basiert auf EXIF Daum/Zeit und den Spurdaten im gpx-Format.</title>
                   <screenshot
><mediaobject
><imageobject
><imagedata fileref="geolocalizationcorrelate.png" format="PNG"/> </imageobject
></mediaobject
></screenshot>
           </example>
           <para
>Wählen Sie die Bilder die Sie korrelieren wollen im Hauptfenster und rufen Sie das Menü auf. Der oben zu sehende Dialog erscheint dann. Um eine mögliche Korrelation über Zeit und Lokalisierung durch zu führen, müssen Sie eine Spurdatei mit <guilabel
>GPX-Datei laden</guilabel
> laden. Diese Datei enthält natürlich Daten die zurselben Zeit an denselben Orten aufgenommen wurden, wie die Bilder Ihrer Kamera. </para>
           <para
>Wenn die Datei geladen wird eine automatische Korrelation durchgeführt die die Koordinaten in rot anzeigt. GPS Spurdaten werden in GMT-Zeit aufgezeichnet und daher muss die Kamerazeit  mit der GMT umgerechnet werden. Dies kann mit der <guilabel
>Zeitzone</guilabel
> durchgeführt werden. Setzen Sie hier Ihre <emphasis
>Kamerazeitzone</emphasis
>. </para>
           <para
>Die Einstellung für die <guilabel
>maximale Zeitabweichung</guilabel
> gibt eine obere Abweichung für die GPS-Zeit und Kamerazeit an. Liegt die Abweichung darunter werden die Daten zusammengeführt. Der maximale Wert hierfür ist 2000 Sekunden. </para>
           <tip
><para
>Wenn Sie keine Spurdaten von einem Ort haben für Bilder können Sie die gpx-Datei manuell bearbeiten und zu den Bildern hinzufügen. Die Zeitdifferenz von 2000 Sekunden wird dann alle Bilder in diesem Bereich korrelieren. </para
></tip>

           <para
>Die Optionen <guilabel
>Interpolieren</guilabel
> und <guilabel
>Differenz in Min.</guilabel
> können benutzt werden, wenn Sie keine passenden Daten haben. Wenn Sie wissen, dass in der Realität eine Lokation in einer großen Zeitdifferenz zwischen Kamera und GPS liegt, können Sie diese Grenzen hier setzen und dann den Knopf <guilabel
>Korrelieren</guilabel
> zum interpolieren drücken. </para>
            <example>
               <title
>Korrelation</title>
                   <screenshot
><mediaobject
><imageobject
><imagedata fileref="geolocalizationcorrelate1.png" format="PNG"/> </imageobject
></mediaobject
></screenshot>
           </example>
           <para
>240 Minuten ist die maximale Zeitspanne die hier eingeführt werden kann. </para>

</sect2
> 

<sect2 id="geolocalization-edit-coordinates"
>       <title
>Koordinaten bearbeiten</title>
            <example>
               <title
>Halbautomatisches Setzen der Koordinaten mittels einer Karte</title>
                   <screenshot
><mediaobject
><imageobject
><imagedata fileref="geolocalizationeditcoords.png" format="PNG"/> </imageobject
></mediaobject
></screenshot>
           </example>
           <para
>Die Koordinaten können mit diesem Dialog manuell gesetzt werden. Dies ist nützlich, wenn Sie eine Reihe von Fotos am selben Ort gemacht haben. Da der Dialog sich die Koordinaten von einem Aufruf zum nächsten merkt müssen Sie nur den Knopf <guilabel
>OK</guilabel
> benutzen, um die Daten bei dem aktuellen Foto zu setzen. </para>
           <para
>Die Lokation kann auch mit der angezeigten Karte nach und nach gefunden und gesetzt werden. Wählen Sie dazu die betreffende Region und vergrößern Sie sie.Führen Sie dies immer wieder durch, bis Sie eine hinreichende Genauigkeit erreicht haben. Die Höhe muss immer manuell ausgewählt werden. Die Karte kann zwischen Kartenmodus, Satellitenbild und einem gemischten Modus gewechselt werden. </para>
</sect2>

<sect2 id="geolocalization-manual"
> <title
>Benutzung der Befehlszeile</title>
  <para
>Komplett außerhalb des KIPI-Moduls gibt es Möglichkeiten die GPS-Daten an die Bilder zu hängen. Hier ist ein kleines Skript dass das exiftool benutzt, um einen Stapel von Bildern mit GPS-Daten zu versehen. </para>


<blockquote
><screen
>#!/bin/sh
# Skript für die einfache Benutzung des exiftool mit der Befehlszeile. Es benutzt durch einen regulären Ausdruck angegebene Dateien oder ganze Ordner.
#
#                        FMT                  Output
#                "%d deg %d' %.2f"\"    54 deg 59' 22.80"
#                "%d deg %.4f min"      54 deg 59.3800 min
#                "%.6f degrees"         54.989667 degrees

if [ -z $1 ]; then 
   echo "Benutzung: exiftool-gps-wrapper lat long [alt] Datei || Ordner (benutzen Sie vorzeichenbehaftete Fließkomakoordinaten)"
else

   if  [ -z "$4" ]; then  foo="$3"; alt=0
   else                          foo="$4"; alt=$3
   fi

   echo $foo
   if [ -e "$foo" ] ; then
        latR=$(echo "$1" | awk '{if ($1 &lt; 0) print "S"; else print "N"}')
        lonR=$(echo "$2" | awk '{if ($1 &lt; 0) print "W"; else print "E"}')
        lat=$(echo "$1" | awk '{val = $1; if ($1 &lt; 0) sub(/-/, "", val); print val}') # absoluter Wert
        lon=$(echo "$2" | awk '{val = $1; if ($1 &lt; 0) sub(/-/, "", val); print val}') # absoluter Wert
        # benutzen Sie die folgende Syntax für eine einfaches Google'sches einfügenll=-1.23456,53.345345
        #lonR=$(echo "$2" | awk '{if ($2 &lt; 0) print "W"; else print "E"}')
        echo $lat, $latR, $lon, $lonR, $3, $4, $foo
        
        function setgpsinfo ()
        {
            exiftool -c "%.6f" -GPSMapDatum="WGS-84" -GPSAltitude=$5 \
            -GPSLongitudeRef=$4 -GPSLongitude=$3 -GPSLatitudeRef=$2 -GPSLatitude=$1 "$6"
            exiftool -GPS:ALL "$6"
        }

        if [ -d "$foo" ] ; then

            for i in "$foo" ; do    # die Auswahl der behandelten Dateien hängt von dem übergebendem regulären Ausdruck ab
                echo "i= "$i
                setgpsinfo $lat $latR $lon $lonR $alt "$i"
            done
        else
            setgpsinfo $lat $latR $lon $lonR $alt "$foo"
        fi
   else        echo "Datei oder Ordner ist falsch"
   fi
fi                 
</screen
></blockquote>
</sect2>
</sect1>

</chapter>
