MagicMap Google Earth Integration
aus Nomads, der freien Wissensdatenbank
Zurück zu MagicMap
Inhaltsverzeichnis |
Visualisierung der MagicMap Karten und Objekte in der Weltkarte von Google Earth
GoogleEarth bietet die Möglichkeit, eigene Objekte und Karten in die Visualisierung einzubinden. Dies geschieht über sogenannte KML-Files (Endung .kml oder gezipped .kmz). Über diese KML-Files ist es möglich, Karten, Clients und AccessPoints aus MagicMap in GoogleEarth zu visualisieren.
Hierzu existiert ein Perlskript, welches beliebige MagicMap-Server über deren WebService-Schnittstelle abfragen kann und aus den dort abgefragten Daten in regelmäßigen Abständen KML-Files erzeugt. Im Moment existiert nur ein MagicMap-Server (phl.informatik.hu-berlin.de), so dass nur dieser abgefragt wird.
Struktur der KML-Files
Um sich verändernde Objekte auch innerhalb von GoogleEarth dynamisch anzeigen zu können (im Moment erfolgt ein Update alle 30 Sekunden), sind die KML-Files wie folgt gegliedert:
magicmap.kml
Die Datei kann hier gedownloaded werden (Rechte Maustaste -> Speichern unter -> Beim Speichern auf die Endung .kml achten). Diese Datei kann man sich lokal auf dem Rechner speichern und sie dann immer wieder per Doppelklick zum Laden der MagicMap-Objekte in GoogleEarth benutzen. Es reicht aus, diese Datei nur alle paar Monate neu herunterzuladen, da sie nur die rudimentären, statischen Informationen zur Struktur der Objekte (Karten, Clients, AccessPoints) enthält und dynamisch zu den folgenden drei KML-Files verlinkt. Die dynamische Verlinkung ist mit den folgenden Reload-Zyklen konfiguriert:
- Karten: kein Refresh, da sonst bei jedem Refresh der View zurückgesetzt werden würde
- Clients: Refresh alle 10 Sekunden
- AccessPoints: alle 60 Sekunden
magicmap_maps.kml
Enthält alle Karten, die auf den abgefragten MagicMap-Servern georeferenziert sind (also mindestens zwei GeoPoints besitzen). Diese Datei wird auf dem Server durch das laufende Perlskript regelmäßig aktualisiert. Sie wird vom Haupt-KML-File geladen, weshalb kein separater Download notwendig ist.
Achtung! Zur Zeit ist ein Filter auf den Kartennamen im Perlsript aktiviert, der dafür sorgt, dass nur Karten, die die Strings "magic" oder "campus" im Namen enthalten (und natürlich georeferenziert sind:-) exportiert werden. Es gab in der Zwischenzeit einige Karten, die falsche GeoPoints enthielten und somit teilweise auf die gesamte Erdkugel gemapped wurden, was erhebliche Performanceeinbrüche in GoogleEarth zur Folge hatte.
magicmap_clients.kml
Enthält alle aktuell auf den georeferenzierten Karten aktiven Clients. Clients, die keine Positionsupdates mehr schicken, werden nach einem definierten Intervall gelöscht (Parameter im Perlskript).
magicmap_aps.kml
Enthält alle aktuell auf den georeferenzierten Karten "gesehene" oder fixierte AccessPoints. AccessPoints, die innerhalb eines im Perlskript definierten Intervalls von keinem Client gemessen werden (und somit wahrscheinlich nicht mehr in der Karte exitieren), werden gelöscht. Ausnahmen sind fixierte AccessPoints - diese hat jemand ja (wahrscheinlich) aus einem bestimmten Grund fixiert - weshalb sie dauerhaft in der Karte sichtbar sind.
Systemarchitektur
Das folgende Bild stellt die Systemarchitektur der GoogleEarth-Integration dar. Das rot gestreifte Modul MagicMap2KML Gateway ist das Perlskript, welches im Moment dauerhaft auf PHL als Dienst installiert ist.
Ansprechpartner
Matthias Horbank.

