-> English | ||||
DatenaufbereitungMapIt! arbeitet im Prinzip mit beliebigen Rasterdaten, die auf eine oder mehrere Kacheln aufgeteilt sein können. Außerdem können die Rasterkarten in mehreren Zoomstufen vorliegen. Um zwischen verschiedenen Zoomstufen wechseln zu können und um die Objekte markieren zu können, sind außerdem Informationen nötig, die eine Umrechnung von Weltkoordinaten (z.B. UTM) auf die Pixelkoordinaten der Rasterdaten ermöglichen. Dieses Dokument beschreibt die Konventionen für die ersten Versionen von MapIt!. Es ist zu erwarten, daß sich noch einiges ändern wird. Insbesondere die Formate der Dateien, die die Rasterdaten und Objekte beschreiben, sind noch verbesserungswürdig. Verzeichnisstruktur der RasterdatenMapIt! erwartet, daß alle Rasterdaten unterhalb eines bestimmten Verzeichnisses liegen. Welches Verzeichnis dies ist, läßt sich in mapconfig.py mit der Variablen tile_dir einstellen. Das Unterverzeichnis examples/simple/tiles im MapIt!-Archiv hat z.B. genau die gewünschte Struktur. Unterhalb von tiles/ liegt je ein Verzeichnis für jede Zoomstufe. Die Verzeichnisnamen bezeichnen den jeweiligen Maßstab. In der aktuellen Version müssen die Zoomstufen mit Zahlen benannt werden, da MapIt! diese Zahlen benötigt, um die vorhandenen Zoomstufen richtig zu ordnen. In einem solchen zoomspezifischen Verzeichnis befinden sich die Rasterkacheln in einem standard Rasterdateiformat. Gut geeignete Formate sind PNG und BMP. Die Kacheln haben Dateinamen der Form <x>x<y>.<ext>, wobei <x> und <y> Indizes sind und <ext> die zum Dateiformat passende Dateinamenserweiterung ist. Die verwendete Erweiterung ist in mapconfig.py über die Variable tile_ext konfigurierbar. Außerdem ist in dem zoomspezifischen Verzeichnis noch eine Datei namens info, die die Beziehung zwischen Weltkoordinaten und Kacheln herstellt. Ihr Format läßt sich am besten mit einem Beispiel erläutern: 2000 2000 # [1,1] 457367411.900 580137962.900 460754078.567 583524629.567 # [1,2] 457367411.900 583524629.567 460754078.567 586911296.233 Die ersten beiden Zeilen geben die Breite und Höhe der einzelnen Kacheln in Pixeln an. Danach folgt für jede Kachel ein Block mit vier Zahlen, der durch die mit einem Doppelkreuz (#) beginnenden Zeile eingeleitet wird. Die beiden Zahlen in der einleitenden Zeile sind die Indizes, die auch im Dateinamen der Kachel verwendet werden (die zweite Kachel im Beispiel hat den Dateinamen 1x2.png). Die darauffolgenden vier Zahlen legen die untere linke und die obere rechte Ecke der Kachel fest. Für gute Ergebnisse ist es erforderlich, daß die Kacheln verschnittfrei sind. Zudem können unerwünschte Effekte auftreten, wenn die Kacheln für verschiedene Zoomstufen nicht den gleichen Koordinatenbereich abdecken. Eine benutzerfreundliche Behandlung dieses Problems ist in Planung. Objekte und MarkierungenUm Objekte zu markieren, braucht MapIt! Informationen über die Objekte (Lage und Bezeichnung) und Symbole, die in die generierten Rasterdaten eingefügt werden. Die Beschreibung der Objekte befindet sich im Beispieldatensatz in data/simple/markerdefs. Welche Datei tatsächlich gelesen wird, wird durch die Variable marker_locations in mapconfig.py definiert. Die Datei markerdefs ist eine Text-Datei mit einem zeilenorientierten Format. Leere Zeilen und Zeilen, die mit einem Doppelkreuz (#) anfangen, werden ignoriert. Die anderen Zeilen enthalten entweder Gruppen- oder Objektdefinitionen. Eine Gruppe wird durch eine Zeile definiert, die mit dem Schlüsselwort "group:" anfängt, gefolgt von vier durch Komma getrennten Werten. Z.B: Der erste Wert ist der Name des zu verwendenden Symbols. Der Dateiname des Symbols wird aus den Werten der Variablen marker_dir (Verzeichnis) und marker_ext (Erweiterung) gebildet. Als Dateiformat ist PNG bestens geeignet, da es Transparenzeffekte erlaubt.group: db,bahnhof,http://bahnhof/,Bahnhöfe Der zweite Wert ist der Bezeichner der Gruppe. Dieser Bezeichner muß eindeutig sein und sollte möglichst nur HTML und URL freundliche Zeichen enthalten (MapIt! kann mit solchen Zeichen aber korrekt umgehen). Der dritte Wert ist eine URL, die in der Imagemap für Objekte der Gruppe verwendet wird, die keine eigene URL definieren. Der vierte Wert ist der Name der Gruppe, der in der Objektliste in der generierten HTML-Seite aufgeführt wird. Dieser Wert muß nicht eindeutig sein, aber wenn mehrere Gruppen oder Objekte den gleichen Namen haben, ist das natürlich verwirrend für den Benutzer. Nur die ersten drei Kommata sind signifikant, so daß der Name Kommata enthalten kann, ohne daß man sie gesondert behandlen muß. Ein Objekt wird durch eine Zeile mit fünf durch Komma getrennten Werten definiert. Z.B: 458862396.00,583250959.00,db,bahnhof,http://bahnhof/,Berlin-Hermsdorf Die ersten beiden Werte sind die Koordinaten des Objektes. Die beiden folgenden Werte sind Symbolname und Bezeichner des Objektes und haben im wesentlichen die gleiche Bedeutung wie bei einer Gruppe. Wenn der Bezeichner eines Objektes der einer vorher definierten Gruppe ist, so wird das Objekt dieser Gruppe zugeordnet; ansonsten bezieht sich der Bezeichner nur auf dieses eine Objekt. Die letzen beiden Werte sind wiederum die URL und der Name, der in der HTML-Seite verwendet wird. Wenn die URL in der Objektdefinition leer ist, wird die URl der Gruppe verwendet, sofern das Objekt in einer Gruppe ist und die Gruppe eine URL besitzt. Nur die ersten drei Kommata sind signifikant, so daß der Name Kommata enthalten kann, ohne daß man sie gesondert behandlen muß. |
Mapit! in Aktion
»Datenaufbereitung |
|||