Aus Linux-Magazin 07/2007

Virtuelle Realitäten in Google Earth

Vom Spielzeug zur Anwendungsplattform – das beschreibt ungefähr die Entwicklung von Google Earth in den letzten Jahren. Derzeit beschäftigen sich GE-Fans damit, eigene 3D-Objekte zu erzeugen und diese in der virtuellen Welt darzustellen. Auch unter Linux?

Sketchup ist ganz und gar nicht komisch, sondern ein mächtiges Tool zum Erzeugen und Bearbeiten von 3D-Objekten unter Windows. Eine Online-Datenbank mit zahlreichen Gebäudemodellen zeugt von der Beliebtheit der Software. Welche Möglichkeiten hat aber der Linux-Benutzer, dreidimensionale Objekte für Google Earth zu designen?

Zum W(e)inen

Googles Sketchup und die Wine-Emulation scheinen kein gutes Team zu bilden. Auf zwei frisch installierten, aktuellen Linux-Systemen, Open Suse 10.2 und Ubuntu Feisty, mit funktionierendem 3D-Support und OpenGL-Unterstützung konnten die Linux-Magazin-Redakteure das Google-Programm nicht erfolgreich zur Arbeit überreden.

Unter Ubuntu und Wine 0.9.33 meldet Sketchup gleich nach der Installation eine fehlerhafte OpenGL-Installation, es startet aber wenigstens. Das Ergebnis bleibt jedoch enttäuschend: Hauptfenster, Menü und Schaltflächen stellt Sketchup falsch dar. Beim Versuch, Daten zu im- oder exportieren, stürzt das Programm regelmäßig ab. Immerhin scheint 3D zu funktionieren, der Benutzer kann zeichnen, drehen und Objekte bewegen. Ohne Schaltflächen und Menüs macht das aber wenig Spaß.

Noch schlimmer sieht die Situation auf Suse aus: Mit der alten Wine-Version 0.9.24 ist offensichtlich gar kein Land zu gewinnen. Im Gegensatz zu Ubuntu muss der Suse-Benutzer sogar noch mit den Winetools Hand anlegen, damit der Installer überhaupt startet. Dafür funktioniert Sketchup dann gar nicht und verabschiedet sich bei der Installation.

Auch mit kommerziellen Programmen von anderen Herstellern erstellen Organisationen, Behörden und Institute sehr komplexe 3D-Welten. Das größte derartige Projekt ist wahrscheinlich das amtliche Berliner Stadtmodell “3D Stadtmodell Berlin” [2]. Entwickelt von den Universitäten Potsdam und Bonn mit der Software Landxplorer der 3D Geo GmbH, macht es Berlin zur weltweit ersten Stadt, die auch als derart realitätsnahes und umfangreiches dreidimensionales Modell in Google Earth erscheint (Abbildung 2).

Abbildung 2: Das amtliche Berliner Stadtmodell zeigt über 40000 Gebäude, von denen sich fünf sogar virtuell betreten lassen. Die Software dafür gibt es leider nicht für Linux.

Abbildung 2: Das amtliche Berliner Stadtmodell zeigt über 40000 Gebäude, von denen sich fünf sogar virtuell betreten lassen. Die Software dafür gibt es leider nicht für Linux.

Die Pressestelle der Stadt Berlin dazu: “Im Bereich der westlichen und östlichen Innenstadt sowie des Wirtschafts- und Technologiestandorts WISTA Adlershof bildet das Modell mehr als 44000 Gebäude ab.” Im virtuellen Flug über Berlin können Benutzer sogar fünf Gebäude betreten und von innen betrachten.

Laut Auskunft des Herstellers von Landxplorer ist die Software zwar in Dotnet programmiert und könnte wahrscheinlich mit Mono auch unter Linux zum Laufen gebracht werden. Aufgrund mangelnder Nachfrage ist das momentan aber nicht geplant.

KML und KMZ

Auf der Suche nach Alternativen, mit denen auch Linux-Benutzer 3D-Modelle für Google Earth erzeugen oder bearbeiten können, ist zunächst ein Blick unter die Haube nötig: Google Earth importiert externe Objekte über XML-Dateien im KML- oder KMZ-Format. KML steht dabei für Keyhole Markup Language, einer XML-1.0-Spielart speziell für den Austausch von Daten mit Google Earth. Die KML-Dateien können Verweise auf 3D-Modelle enthalten, die wiederum Bilddateien als Texturen referenzieren.

Eine derartige Sammlung von Dateien bekommt als gezipptes Archiv die Dateinamenserweiterung ».kmz« verpasst. Google Earth lädt die Datei ohne vorheriges Entpacken und präsentiert die enthaltenen 3D-Objekte am richtigen Ort. Während ».kml«-Dateien Daten über ein Objekt beinhalten und 3D-Modelle nur referenzieren, enthalten KMZ-Archive eine ».kml«-Datei, Unterverzeichnisse und eine ».dae«-Datei mit der Beschreibung eines dreidimensionalen Objekts im Collada-Format [3].

Listing 1 zeigt eine einfache KML-Datei mit einer Referenz zu einem 3D-Objekt. Das Beispiel benutzt eine ».kmz«-Datei aus Googles 3D Warehouse [4]. Die heruntergeladene und entpackte Datei ist offensichtlich mit Sketchup erstellt und enthält einen Link auf eine Datei namens »beispiel.dae«. Jeder Linuxer kann die Koordinaten auf der Erdoberfläche mit geografischer Länge »longitude« und Breite »latitude« sowie der Höhe über Grund »altitude« direkt mit einem Editor eingeben, ebenso die Ausrichtung »Orientation« und den Maßstab »scale« des dargestellten Objekts.

Dem Benutzer stehen also schon mit einem Texteditor umfangreiche Möglichkeiten zur Verfügung. Ein mögliches Resultat zeigt Abbildung 1. Das ausführliche Tutorial auf Googles Webseite [5] beschreibt alle erlaubten Tags und umfasst auch die erweiterten Möglichkeiten von KML 2.1, etwa das Nachladen aktualisierter Daten übers Netz.

3D-Modelle

Will der Linux-Benutzer aber eigene 3D-Objekte für Google Earth erstellen, stößt er auf Schwierigkeiten. Die einschlägigen Verdächtigen versprechen zwar Collada-Kompatibilität, doch gelang es weder mit Blender noch mit der kommerziellen Software Maya, ein 3D-Modell aus der Google-Datenbank zu laden oder ein mit Maya oder Blender erstelltes Objekt in Google Earth darzustellen.

Zwar meldet Blender unter Ubuntu Feisty nach einigen Fehlern wegen mangelnder Dateiberechtigungen zu guter Letzt doch »Import Successful«, das Hauptfenster des 3D-Designprogramms bleibt trotzdem leer. Auch Google Earth liefert nur Fehlermeldungen, wenn es ein Objekt als ».dae« in einer ».kmz«-Datei integriert laden soll.

Auf [6] finden interessierte Designer Importskripte für Blender, mit deren Hilfe die Software direkt KML- und KMZ-Dateien öffnen soll. Obwohl teilweise Fehler in den Python-Installationen als Schuldige auszumachen sind, funktioniert der Import im Test aber weder auf Ubuntu noch auf Suse 10.2.

Leider nicht für Linux

Dass mit Google Earth mächtige und umfangreiche 3D-Projekte möglich sind, beweisen die zahlreichen Modelle im Internet. Nur: Googles Sketchup funktioniert nicht unter Linux, zudem haben die existierenden 3D-Programme Probleme mit den benötigten Datenformaten. Der freie 3D-Designer kommt wohl nicht um den Zwischenschritt Sketchup auf Windows herum, wenn er das eigene Häuschen in Google Earth darstellen will. Die Importfilter für Blender und Googles Bestreben um Plattformunabhängigkeit machen aber Hoffnung auf Besserung. Schaun mer mal.

Listing 1: Einfache
KML-Datei

01 ?xml version='1.0' encoding='UTF-8'?>
02 <kml xmlns='http://earth.google.com/kml/2.1'>
03 <Placemark>
04  <name>KML-Beispieldatei</name>
05  <description><![CDATA[Created with <a href="http://sketchup.google.com">Google SketchUp</a>]]></description>
06  <DocumentSource>SketchUp</DocumentSource>
07  <Style id='default'>
08  </Style>
09  <Model>
10  <altitudeMode>relativeToGround</altitudeMode>
11  <Location>
12   <longitude>11.62404755064788</longitude>
13   <latitude>48.21799407992902</latitude>
14   <altitude>0.000000000000</altitude>
15  </Location>
16  <Orientation>
17   <heading>0</heading>
18   <tilt>0</tilt>
19   <roll>0</roll>
20  </Orientation>
21  <Scale>
22   <x>14.0</x>
23   <y>14.0</y>
24   <z>14.0</z>
25  </Scale>
26  <Link>
27   <href>models/beispiel.dae</href>
28  </Link>
29  </Model>
30 </Placemark>
31 </kml>

Infos

[1] Sketchup: [http://sketchup.google.de]

[2] 3D-Stadtmodell von Berlin: [http://www.3d-stadtmodell-berlin.de]

[3] Collada-Format: [http://de.wikipedia.org/wiki/Collaborative_Design_Activity] und [http://www.collada.org]

[4] Googles 3D Warehouse: [http://sketchup.google.com/3dwarehouse/]

[5] KML Howto: [http://code.google.com/apis/kml/documentation/index.html]

[6] KML und KMZ in Blender importieren: [http://www.blendernation.com/2006/05/11/import-sketchup-and-google-earth-files-into-blender/]

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben