PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Anleitung] Erstellen eigener Landkarten-Pakete


Vossi
11.03.2008, 14:24
Allgemeines:

Ein Landkarten-Paket besteht aus mehreren Komponenten. Es werden die Geodaten eines Landes benötigt sowie eine Landkarte.

Folgende Dateien müssen bei einem Landkarten-Paket vorhanden sein


/installdata/vbmembermap_landkuerzel.csv (das sind die Geodaten)
/installdata/vbmembermap_landkuerzel.geo (Name und Landkürzel für die Geodaten)
/installdata/vbmembermap_landkuerzel.map (das sind die Daten für die Karte)


/maps/vbmembermap_landkuerzel_0.png (das ist die Hauptkarte)


/maps/poi/vbmembermap_landkuerzel.png (das ist die Minikarte in den Themen oder auch in der Ansicht von Ereignissen/PoI's)
/maps/user/vbmembermap_landkuerzel.png (das ist die Minikarte in der Profilansicht)

Aufbau der Datei vbmembermap_landkuerzel.csv mit den Geodaten:

Hier ein Beispiel anhand der Geodaten für Deutschland:
geo_ort;geo_plz;geo_land;geo_latitude;geo_longitude
Aach;78267;DE;47.851;8.85
Aach;54298;DE;49.783;6.6
Aachen;52062;DE;50.776;6.087
Aachen;52064;DE;50.768;6.076
Aachen;52066;DE;50.756;6.091
Aachen;52068;DE;50.779;6.108
Aachen;52070;DE;50.788;6.104
In der ersten Zeile muss sich immer die Zeile:
geo_ort;geo_plz;geo_land;geo_latitude;geo_longitude
befinden. Entsprechend dieser 'Tabellenübersicht' müssen, jeweils in einer neuen Zeile, sich die Daten für die Ortschaften befinden. Die Einzeldaten müssen durch ein Semikolon getrennt werden. Der erste Wert ist der Name der Ortschaft, dahinter folgt die Postleitzahl, der internationale Ländercode in Grossbuchstaben (sehr wichtig) und dann der Breiten- und Längengrad der Ortschaft. Die jeweilige Zeile darf nicht mit einem Semikolon abgeschlossen werden.

Diese Struktur entspricht einem CSV-Export aus der Datenbank heraus.

Aufbau der Datei vbmembermap_landkuerzel.geo mit den Landdaten:

Als Beispiel hier der Inhalt für die Deutschlandkarte:
Deutschland
DE
In der ersten Zeile steht der Name des Landes wie er später in den Kartenfunktionen/Dropdowns angezeigt werden soll. In der zweiten Zeile steht der internationale Ländercode des Landes in Grossbuchstaben (wichtig).

Aufbau der Datei vbmembermap_landkuerzel.map mit den Landkartendaten:

Als Beispiel hier wieder die Informationen für die Deutschlandkarte:
55.057
47.31
15.103
5.811
Deutschland
de
de
vbmembermap_de
1
Deutschland
de
Bei der Erstellung dieser Datei kann es u. U. etwas kniffliger werden, sobald eine 'übergeordnete Karte' wie z. B. für Europa erstellt werden soll wo mehrere Länder enthalten sind.

Hier erstmal die Beschreibung für ein einzelnes Land.

In den ersten vier Zeilen müssen die max/min-Daten für Längen- und Breitengrad des Landes für die Karte:

Zeile 1 -> Breitengrad vom nördlichsten Punkt der Karte
Zeile 2 -> Breitengrad vom südlichsten Punkt der Karte
Zeile 3 -> Längengrad vom westlichsten Punkt der Karte
Zeile 4 -> Längengrad vom östlichsten Punkt der Karte

Die weiteren Zeilen setzen sich dann wie folgt zusammen

Zeile 5 -> Name des Landes ebenso geschrieben wie auch in der Datei vbmembermap_landkuerzel.geo
Zeile 6 -> Internationale Ländercode des Landes in Kleinbuchstaben
Zeile 7 -> Internationale Ländercode des Landes in Kleinbuchstaben
Zeile 8 -> Name der Kartendatei ohne '_0.png' am Ende, also dort nur vbmembermap_landkuerzel eintragen
Zeile 9 -> Anzahl der verknüften Karten. Bei diesem Beispiel gibt es keine zugeordnete Karten, von daher bei einem Einzelland die 1 eintragen
Zeile 10 -> Erneut den Namen des Landes ebenso geschrieben wie auch in der Datei vbmembermap_landkuerzel.geo
Zeile 11 -> Internationale Ländercode des Landes in Kleinbuchstaben

Soll eine (übergeordnete) Karte erstellt werden, welche mehrere Länder verknüpft, dann müssen die jeweiligen Länder in dieser Datei mit aufgeführt werden. Als Beispiel hier die Europakarte mit den Ländern Deutschland, Österreich, Schweiz und Liechtenstein:
55.1167
45.7763
17.2163
5.90667
Europa [DE-AT-CH-FL]
eu
deatchfl
vbmembermap_eu
4
Deutschland
Österreich
Schweiz
Liechtenstein
de
at
ch
fl
Die ersten vier Zeilen beinhalten wieder die min/max-Punkte der Länder, welche in die Karte eingebunden werden sollen. In Zeile 5 steht der Name der Landkarte wie dieser im Forum (in den Pulldowns) angezeigt werden soll, in Zeile 6 muss ein entsprechendes logisches Kürzel für die Karte eingefügt werden.

In Zeile 7 werden alle int. Länderkürzel aller Länder, die diese Karte 'verknüpfen' soll, hintereinander geschrieben (ohne Leerzeichen o. ä.).

In Zeile 8 Name wird der Name der Kartendatei ohne '_0.png' am Ende, also vbmembermap_logischeslandkuerzel eintragen.

In Zeile 9 steht jetzt die Anzahl der Länder, die diese Karte beinhalten soll. Entsprechend in den Zeilen 10-13 werden diese Länder wörtlich aufgeführt (Schreibweise exakt wie im Forum bereits bei den Einzelkarten verwendet wir), darunter in den Zeilen 14-17 die jeweiligen Länderkürzel der Einzelkarten für diese Gesamtkarte.

Die Karten/Kartengrafiken:

Die Erklärung zu den Kartengrafiken, die in die Verzeichnissen:

/vbmembermap/maps
/vbmembermap/maps/poi
/vbmembermap/maps/user

erstellt werden müssen, ist HIER (http://www.vbulletin-germany.org/showthread.php?t=3144) als Beschreibung zu finden.

Vossi
11.03.2008, 14:25
reserviert

Za4a Tuner
15.03.2008, 12:49
Hallo Vossi,
irgendwie steig ich bei der Erstellung von diesen MAP-Dateien nicht durch ... bzw. habe einen Denkfehler.

Sowei ich das verstanden habe, wird an Hand dieser Datei festgelegt, welche Positionen auf der Grafik vorhanden sind. Somit sollten dann ja auch die jeweiligen "Eckpunkte" der Karte angegeben werden.
Als Beispiel hier wieder die Informationen für die Deutschlandkarte:
55.057
47.31
15.103
5.811
Deutschland
...
Soweit ist es - denke ich mal - irgendwo klar.
Was ich nicht ganz peile =>
Deutschland begrenzt die EU-Karte im Norden und auch im Westen.
Warum hat dann die EU-Karte völlig andere Angaben als die Deutschlandkarte???
[QUOTE=Vossi;26457]Als Beispiel hier die Europakarte mit den Ländern Deutschland, Österreich, Schweiz und Liechtenstein:
[QUOTE] 55.1167
45.7763
17.2163
5.90667
Europa [DE-AT-CH-FL]

Wie kommt das zustande?

Ich habe für meine große "EG"-Karte einfach die jeweiligen Landesgrenzen aus den einzelnen Länder-MAP-Dateien herangezogen ... was zur Folge hat, das ein "Römer" unterhalb Italiens im Wasser wohnt, ein Bayer von Deutschland nach Slowenien oder in den Norden Italiens umzieht :eek:


WO ist mein Denkfehler??

Vossi
15.03.2008, 14:00
WO ist mein Denkfehler??
Streng genommen hast Du keinen Denkfehler. Die Koordinaten der aktuellen EU-Karte (DE-AT-CH-FL) wurden leicht 'gestreckt' damit das Raster etwas besser passt.

Als 'manuelle Hilfe' kannst Du natürlich wie folgt vorgehen:

Du lässt Dir aus der DB heraus die max/min Längen-/Breitengrade ausgeben und notierst Dir die entsprechende Info (PLZ/Ort).

Du trägst dich selber in diesen Ort ein und veränderst dann die Koordinate in der .map-Datei solange, bis Du 'am richtigen Fleck' angekommen bist.

Ich hoffe Du verstehst wie ich das meine... :o

Za4a Tuner
16.03.2008, 12:14
Du lässt Dir aus der DB heraus die max/min Längen-/Breitengrade ausgeben und notierst Dir die entsprechende Info (PLZ/Ort). WIE geht denn das???
Ich bastel jetzt schon seit zwei Tagen an der Karte rum, aber passend ist da gar nichts!
Mir verschiebt es ständig irgendwelche Einträge!
*verzweifelt bin*


Du trägst dich selber in diesen Ort ein und veränderst dann die Koordinate in der .map-Datei solange, bis Du 'am richtigen Fleck' angekommen bist.
Ich hoffe Du verstehst wie ich das meine... :oDas ist soweit klar ... nur erscheine ich überhaupt nicht auf der Karte ... zumindest nicht da, wo ich in etwa sein sollte :eek:

Meine letzte vorgehensweise:
erstellen der map-"Grund"-Datei (Auflistung aller Länder, Eckdaten, ...)
vier Einträge auf die Karte gesetzt
Norden = 25923 Süderlügum (DE)
Osten = Ilok (HR)
Süden = 96018 Pachino (IT)
Westen = 29217 Le Conquet (FR) Trotzdem klappt es nicht ... das ist mir echt zu hoch.

Vossi
16.03.2008, 13:47
Kannst Du die .map-Datei hier mal zitieren?

Za4a Tuner
16.03.2008, 13:51
Klar, ich blamier mich gerne ... lerne aber noch viel lieber etwas neues dazu! :D
Hab aber da jetzt so viel dran rumgespielt, das da eigentlich kein Eckpunkt mehr passt :eek:

hier die Datei:
48.367
45.222
8.917
15.09
Europa [DE-NL-BE-FR-FL-CH-CZ-AT-IT-SI-HR]
eg
denlbefrflchczatitsihr
vbmembermap_eg
11
Deutschland
Niederlande
Belgien
Frankreich
Liechtenstein
Schweiz
Tschechien
Österreich
Italien
Slowenien
Kroatien
de
nl
be
fr
fl
ch
cz
at
it
si
hr

Vossi
16.03.2008, 14:34
Versuch mal mit:
55.057
41.427
19.397
-5.09702
und sag mir bitte bescheid ob's geht.

Zur Erklärung:
55.057 = nördlichster Punkt von Deutschland
41.427 = südlichster Punkt von Frankreich
19.397 = östlichster Punkt von Kroatien
-5.09702 = westlichster Punkt von Frankreich

Und falls es geht, dann rein hier mit der Map! :D

Hoffi
16.03.2008, 18:16
Müsste der südlichste Punkt nicht aus Italien kommen?

Vossi
16.03.2008, 18:53
Müsste der südlichste Punkt nicht aus Italien kommen?
Stimmt, Italien ist ja auch dabei! :p

Dann also:
55.057 = nördlichster Punkt von Deutschland
35.203 = südlichster Punkt von Italien
19.397 = östlichster Punkt von Kroatien
-5.09702 = westlichster Punkt von Frankreich

Za4a Tuner
17.03.2008, 19:07
also mit den Werten klappt es relativ gut ;)
Es passt zwar nicht zu 100% -> das liegt zum Teil aber auch an der Karte.
ich hab die Karte "auf die schnelle" selbst erstellt .... und deshalb ist die wohl nicht so ganz genau geworden.

Sobald ich dazu komme, die Karte grafisch zu überarbeiten => werde ich die Karte hier veröffentlichen.

Wenn du willst, kannst sie dir gerne bei mir im Testforum anschauen (PN an mich genügt ;) )


mfg Chris