[Talk-de] KOSMOS-Beispiel Wanderkarte

Mirko Küster webmaster at ts-eastrail.de
Fr Feb 12 18:01:51 UTC 2010


> Naja, das ist ja auch das erste mal, das jemand danach fragt - wäre sehr
> verwunderlich dazu schon ein Howto zu finden. :-)

Zumindestens der erste der öffentlich fragt, dessen Frage auch beachtet 
wurde oder sich überhaupt traut zu fragen. Ich bin bei meinen Versuchen auf 
dutzende Probleme gestoßen. Einige davon unter anderem auch unbeantwortet im 
Forum liegend.

Wenn ich hier mal durch bin dann versuche ich die gelösten Sachen mal für 
andere zu dokumentieren. Beispiel das Area Center mit Osmosis, hat mir hier 
bisher auch keiner drauf geantwortet. Mitlerweile hab ich es gelöst. Wenn du 
dir die Beispiele so anguckst dann steht da nichts von gewissen Clases die 
man mit aufrufen muss, oder beispielsweise die Pipe Geschichte beim mergen 
die sein muss, aber nur simpel ohne als Beispiel dasteht.

Mitlerweile bin ich trotz grausamen Englisch und als Konsolennoob doch recht 
weit gekommen.

Gewünschter Bereich wird mit JOSM geladen und als data.osm abgelegt, der 
Rest läuft fast komplett im Stapel.
-> Brauche ich Höhenlienen dann lasse mit bereits fertige srtm2osm Daten 
über Osmosis sortieren und mergen
, ohne gleich Schritt 2
-> Berechnung Area Center

Hier leider noch eine Pause
Da muss ich die Bounds Schachtel aus data.osm leider wieder von Hand 
einfügen. Osmosis kickt die leider, gibts eventuell einen Befehl der die 
wieder in den Output übernimmt?

-> Rendern
-> Bezierkurven berechnen
-> temporäre Daten entfernen

Vorerst fertig und geschnittenes SVG für die Weiterverabreitung. Da soll 
wenn es geht dann noch eine Optimierung zwischen. Beispielsweise leere 
Definitionen aufräumen usw. Bis dahin läuft alles. Man muss eben dann noch 
von Hand etwas Nacharbeiten. Doppelte Bushaltestellen, verdeckte Schriften, 
zuviele ref etc. Das ist aber das kleinste Übel.

> Ersteres klingt nach Netzwerkproblemen beim Download. Die 0.81 hat leider
> noch ein (bereits behobenes) Problem beim Einlesen der Routen aus dem
> Komplettfile. Wenn Du die Option "Ausschnitt aus..." wählst, funktioniert
> es.

Das ist ja im grunde das gleiche wie gestückeltes Daten nachladen in OSM. Da 
läuft das ohne Probleme. Nur hier im Composer nicht. Der macht 5 Kacheln und 
dann ist das ganze Netzwerk ausgebremst. Aber ansich kein Problem, mir gehts 
nur um kleine regionale Ausschnitte, kann man als File über JOSM holen und 
laden.

Die Routen hat er jetzt auch erkannt. Also Symbole nachgetragen, Markierung 
gesetzt und gespeichert.

> Das Diagramm hast Du gefunden?
> http://wiki.openstreetmap.org/wiki/DE:OSM_Composer#Output

Ja, aber funktionierte wie gesagt gestern nich, heute ja.

> Letztendlich kannst Du einfach die ganze Sektion für Garminausgabe
> abschalten und das <Regionsname>_data.osm für die Weiterverarbeitung
> verwenden. Das einzige was noch nötig ist, aus *_data.osm und *_routes.osm
> irgendwie wieder eine gemeinsame Datei zu machen.

Die *_data.osm kann JOSM garnicht erst lesen "Das Attribut 'version' für das 
OSM Element ID 2632366 fehlt."
Die *_routes.osm kann er lesen, die beinhaltet aber nur die Relationen. Die 
kann ich aber nicht verwenden, ansonsten könnte ich ja gleich die 
Realationen aus der dem eigentlichen File rendern, macht Osmarender aber 
nicht. Da sind zwar auskommentierte Styles vorgesehen und man kann 
SchowRelation auf yes setzen, nur gerendert werden die dann trotzdem nicht. 
Ein riesen Problem wenn man die Routen aber auf der Karte braucht. KOSMOS ha 
ta auch einen Bug. der rendert Routes nicht komplett

> Du hast dann Wandermarkierungen und Highlighting von Routen als 
> zusätzliche
> Nodes und Ways im XML, so daß sie mit jedem Programm gerendert werden
> können.

Ja, die Frage ist wo? Vielleicht verstehen wir uns auch falsch und du meinst 
garnicht was ich brauche.

Ich brauche praktisch die eigentlichen Member der Relation, aber nicht mit 
ihren eigenen wegbezogenen Tags, sondern blank ohne ID (Ansonsten hagelt es 
wegen gleicher ID Konflikte), mit den Eigenschaften bzw. Tags der Realtion 
selbst. Also route=hiking, name, osmc:symbol direkt am Weg. Diese so 
aufbereiteten Wege kann man dann über die eigentlichen Daten legen und 
entsprechend rendern. So kann man das Problem der nicht verabeiteten 
Relationen umgehen.

Momentan mache ich das für jede einzelne Route von Hand. Relation 
separieren, Member laden, wegbezogene Tags löschen, die Mermale der Relation 
allen Wegen verpassen. Alles duplizieren, in neue Ebene kopieren um die IDs 
loszuwerden, das Wegepaket wieder auf die richtige Position schieben, File 
speichern. Danach alle Einzelrouten mergen und dann mit den eigentlichen 
Daten mergen.

Das kann man mal machen, aber wenn sich Wege verschieben, Member ändern, 
muss man das für die betroffenen Routen jedesmal neu machen. Bei 
entsprechender Aktivität in den Daten wirst du irgendwann ramdösig. Desshalb 
suche ich einen Weg das ganze weitgehend automatisch zu verarbeiten

> Theoretisch wäre auch denkbar eine direkte Anbindung von Kosmos inklusive
> Renderrules wie für den Garmin einzubauen, falls das öfters mal einer
> bräuchte.

In grunde brauchst du die umgefummelten Wege nur fertig als OSM. Das kann 
man dann einfach mit Osmosis oder JOSM mergen. Das ist wirklich das kleinste 
Problem. Das riesen Problem ist wie gesagt die automatische Verarbeitung von 
Routen zu auswertbaren Ways. Diese Ways mit route=* etc. kann man dann ganze 
normal mit jeglichem Renderer nach belieben darstellen.

Gruß
Mirko 





Mehr Informationen über die Mailingliste Talk-de