Google Earth: Fehler beim Laden von KML-Dateien unter deutschen Ubuntu

So ungefähr ab Version 5.0 bemerkte ich einen seltsamen Fehler in Google Earth, das bis dahin anstandlos unter Ubuntu funktioniert hatte. Alle Ortsmarken (Placemarks) unter „MyPlaces“ schienen verschwunden, das heisst sie waren noch in der Baumansicht sichtbar wurden aber wie von Geisterhand alle auf einen bestimmten Punkt verschoben. Das gleiche passierte dann auch mit allen Ortsmarken von KML-Dateien die nachgeladen wurden, egal woher sie stammten.

Das brachte mich darauf das in den neuen Versionen von Google Earth ein Bug vorliegen musste. Seltsamerweise tratt der Fehler nur auf wenn Google Earth auf einem deutschsprachigen Ubuntu lief, das selbe Package unter auf einem Ubuntu mit englischen „locales“ lief anstandlos. Schaut man sich dann mal genauer an, was  Google Earth mit den Ortsmarken macht. (Rechtsklick -> Eigenschaften)

Eigenschaften einer Ortsmarke - Google Earth

So sieht man schnell, das da scheinbar die Koordinaten auf den jeweils vollen Gradwert abgeschnitten werden ! Mit diesem Bug ist daher leider ein normales Arbeiten mit KML-Dateien nicht mehr möglich ! Im Google Earth Support-Forum kann man dann auch schnell eine Lösung für diesen Bug, bekannt als „wrong coordinates bug„, finden.

Es muss lediglich eine Umgebungsvariable beim Start von Google Earth entsprechend gesetzt werden, damit das länderspezifische Nummernschema auf  „amerikanisch“ und nicht wie alle anderen Ländereinstellungen auf „deutsch“ steht. Ich habe aus dieser Änderungen ein Patch-Script gebastelt, was diese  Änderungen durchführt.

#!/bin/sh
#
# Hotfix for Google Earth german numeric locale bug

PATCH='--- /usr/bin/googleearth 2010-08-10 08:16:20.000000000 +0200
+++ /usr/bin/googleearth    2010-08-10 09:16:06.000000000 +0200
@@ -11,4 +11,5 @@
   LD_LIBRARY_PATH=${GOOGLE_EARTH_LD_LIBRARY_PATH}
 fi
 export LD_LIBRARY_PATH
+export LC_NUMERIC=us_US.UTF-8
 /usr/lib/googleearth/googleearth-bin "$@"';

USER=`/usr/bin/id -nu`;
if test "$USER" != "root"; then
   echo "\nDen Patcher bitte mit vorangestelltem sudo starten !";.
   exit 1;
fi

cd /

echo "$PATCH" | patch -p0 --ignore-whitespace;
#

Dieser Patcher kann auch hier heruntergeladen werden. Danach mit ..

chmod 755 googleearth_patcher.sh && ./googleearth_patcher.sh

Ausführbar machen und starten, Problem beseitigt.


Quelle

http://www.google.com/support/forum/p/earth/thread?tid=01c4a632b379a930

http://www.google.com/support/forum/p/earth/thread?tid=72b851d55f188cea

Keine Kommentare möglich.