[Osmand] Relation zu Wegen konvertieren

Hüpf, freu, deine Füsse küssend.

Woher hast Du all die Informationen? Normalerweise finde ich so etwas irgendwo dokumentiert und muss nicht auf den Glücksfall warten, dass ich jemanden finde, der die Geduld hat mir das hinzuschreiben.

War ich diesmal zu dumm zum Suchen, oder ist dein Wissen eines, das noch keiner dokumentiert hat?

Wenn man sich die default.render.xml genau ansieht, dann kann man schon einiges herausfinden.

Mit Transparenz ist es eben ARGB, ohne Transparenz RGB.
Das ist keine neue Erfindung. :slight_smile:

Direkt dokumentiert ist das bei OsmAnd nicht.
Man kann es aber irgendwie herausfinden, zumindest wenn man schon entsprechendes Wissen hat.

Gruß,
Mondschein

Also ich versuche seit gestern morgen, die ref-Tags der Fahrradrouten sichtbarzumachen. In den Relationen steht ref=“Kurzbezeichnung des Radnetzroute”

Ich habe die Übertragung mit

<type tag="network" value="lcn" minzoom="8" nameTags="ref" relation="true"/>
bzw.
<type tag="network" value="lcn" minzoom="8" additional="true" relation="true"/>

versucht.

Schaue ich mit einem Texteditor in das Ergebnis-OBF, werde ich eigentlich nicht recht schlau, ob ich die entscheidende Information übertragen habe.

Trotzdem habe ich bei beiden Versionen verschiedene Versuche gemacht, ob der Text erscheint. Nichts passiert.

Hat hier jemand eine Idee.

Ich habe das eben auch erfolglos probiert.
Irgendwie scheint es da ein Problem zu geben.

Deshalb habe ich etwas gesucht und folgende Seite gefunden:
http://osmand.cz/2012/09/ceske-cyklotrasy-v-osmand/

Hier sieht man z.B. die Routen-Relation mit dem “ref” “0085”:

Also scheint es doch irgendwie möglich zu sein, das “ref” einer Relation als Name anzuzeigen.

“ref=0085” war übrigens noch nie direkt an dem Weg aus dem Ausschnitt vorhanden:
http://www.openstreetmap.org/browse/way/32460253/history
http://www.openstreetmap.org/browse/way/27621126/history
http://www.openstreetmap.org/browse/way/122845404/history

Immer nur an der Relation:
http://www.openstreetmap.org/browse/relation/125581

Also muss das doch irgendwie gehen.
Weder die dort erhältliche “bicykl.render.xml” noch die darauf aufbauende “cyklotrasy.render.xml” haben mir verraten, wie ich die Daten in die OBF-Datei (via rendering_types.xml) bekomme. :open_mouth:

Vielleicht verstehe ich auch die Sprache nicht richtig.

Gruß,
Mondschein

Danke für deine Mühe. Ich komme auch nicht weiter.

Das Lustige ist, die Entwickler haben mich auf die FAQ und das Osmandforum verwiesen.

Ich glaube, er hat gar nicht so richtig verstanden, wo das eigentliche Problem ist.
Du schreibst, dass das alles irgendwie zu lange dauert und etwas von Relationen und Radrouten.
Der Map Creator ist nicht gerade schnell und die Dokumentation unvollständig, dass weiß er auch.
Da hat er vermutlich schon abgeschaltet. :slight_smile:
Ohne dieses Thema hier im Forum gelesen zu haben, wird er kaum verstehen, was du willst.

Deshalb würde ich dir raten dein Anliegen konkreter zu formulieren.

Was willst du?
Eine Relation inkl. ref-Tag oder ggfs. name-Tag (oder andere Tags) der Relation darstellen.
Dafür möchtest du diese Informationen in die OBF-Datei bekommen.

Was hast du bisher probiert?

<type tag="network" value="lcn" minzoom="8" nameTags="ref" relation="true"/>

Aber “nameTags” scheint mit Relationen nicht zu funktionieren, die Daten kommen nicht in der OBF-Datei an.
Überprüft mit “inspector.sh -vmap meine.obf” bzw. “inspector.bat -vmap meine.obf”.
Außerdem konntest du nicht herausfinden, wie man andere Tags von einer Relation “propagiert”.
Erwähne außerdem, dass die Route “network=lcn” ansich schon in die OBF-Datei aufgenommen wird, aber eben ohne weitere Tags, die du aber zur Darstellung (über die *.render.xml) benötigst.
Dann weiß er auch, dass deine rendering_types.xml grundsätzlich funktioniert und du das System im Prinzip verstanden hast.

Also ganz konkret, sonst denkt er nur, du bist zu faul, dir die Infos zusammen zu suchen und dass du nur herum meckerst und versteht somit das eigentliche Problem nicht.

Gruß,
Mondschein

Also ich habe für mich beschlossen, dassich das “Projekt” nicht wieterbetreiben werde.

Ich habe schon einiges punkto OSM und gpx ausprobiert. Hier stoße ich auf ziemlich großen Widerstand. Bei Maperitive stand ich vor dem gleichen Problem (Rendering durch XML steuern) und hatte nach 30 Minuten die Lösung.

Osmand macht es mir und damit auch ziemlich vielen anderen zu schwer. Da ist es deutlich zeitsparender auf andere Lösungen zurückzugreifen. (Die meisten werden vermutlich den OCM-Tileserver so belasten, sodass Osmand genauso geblockt wird wie MOBAC.)

Wenn ich die Zeit rechne,die ich alleine jetzt dazu verwendet habe, davon könnte ich mir auch ein teueres Garmingerät leisten.

Macht nichts, dafür mache ich weiter.

Ich habe mich nochmals durch den Quelltext gewühlt und dabei bemerkt, dass ich Tomaten auf den Augen hatte. :roll_eyes:

Hier das Ergebnis:

1.) In der Datei “rendering_types.xml” im Block … hinzufügen:

<type tag="route" value="bicycle" minzoom="8" relation="true"/>
<type tag="network" value="lcn" minzoom="8" additional="true" relation="true"/>
<type tag="network" value="rcn" minzoom="8" additional="true" relation="true"/>
<type tag="network" value="ncn" minzoom="8" additional="true" relation="true"/>
<type tag="ref" minzoom="8" additional="true" relation="true"/>

2.) Mit dieser rendering_types.xml (so wie sonst auch) eine OBF-Datei erstellen lassen und die fertige OBF-Datei auf das Smartphone in das Verzeichnis “osmand” kopieren.
Ggf. eine schon das selbe Gebiet abdeckende OBF-Datei deaktivieren.

3.) Auf dem Smartphone im Verzeichnis “osmand” ein Verzeichnis “rendering” erstellen.
Dort wiederum einen Renderer “bicycle-routes.render.xml” erstellen, welcher vom “default”-Renderer abhängt:

<renderingStyle name="bicycle-routes" depends="default" defaultColor="#f1eae4" version="1">
	<!-- In a dependent renderer, just specify what should change vs. the master/default renderer -->

	<!-- Use hmRendered for more map detail and better visibility of small roads -->
	<renderingConstant name="hmRendered" value="false"/>


	<order objectType="2" area="false" point="false">
		<filter tag="route" value="bicycle" order="254"/>
	</order>


	<text>
		<group>
			<filter tag="route" value="bicycle" appMode="bicycle" nameTag="ref" textOrder="254">
				<filter additional="network=lcn" textColor="#0000a0"/>
				<filter additional="network=rcn" textColor="#0080a0"/>
				<filter additional="network=ncn" textColor="#a00000"/>
				<groupFilter textOnPath="true">
					<filter minzoom="13" maxzoom="13" textSize="15"/>
					<filter minzoom="14" maxzoom="14" textSize="18"/>
					<filter minzoom="15" maxzoom="15" textSize="23"/>
					<filter minzoom="16" maxzoom="16" textSize="30"/>
					<filter minzoom="17" textSize="37"/>
				</groupFilter>
			</filter>
		</group>
	</text>


	<point>
	</point>


	<polygon>
	</polygon>


	<line>
		<group>
			<filter tag="route" value="bicycle" appMode="bicycle">
				<filter additional="network=lcn" color="#400000ff" shadowColor="#0000ff"/>
				<filter additional="network=rcn" color="#4000ccff" shadowColor="#00ccff"/>
				<filter additional="network=ncn" color="#40ff0000" shadowColor="#ff0000"/>
				<groupFilter>
					<filter minzoom="13" maxzoom="13" strokeWidth="14" shadowRadius="1"/>
					<filter minzoom="14" maxzoom="14" strokeWidth="18" shadowRadius="2"/>
					<filter minzoom="15" maxzoom="15" strokeWidth="20" shadowRadius="3"/>
					<filter minzoom="16" maxzoom="16" strokeWidth="24" shadowRadius="4"/>
					<filter minzoom="17" strokeWidth="30" shadowRadius="5"/>
				</groupFilter>
			</filter>
		</group>
	</line>
</renderingStyle>

4.) Im Menü “Kartendarstellung” den “Vektor-Renderer” “bicycle-routes” auswählen.

5.) OsmAnd auf den Fahrrad-Modus umstellen.

6.) Testen und feststellen, dass das mit den ref-Tags noch nicht optimal ist.

Das Design kann man sicher hier und da noch etwas optimieren. :slight_smile:

Gruß,
Mondschein

Grumpf, an so einer Idee war ich auch. Danke.

Bloß Deine Lösung hat das gleiche Problem wie meine. An manchen Stellen wird eine Buslinie angegeben oder der Wanderweg. Die Wanderwegnamen löschen dann die Radwegbezeichnungen aus.

http://www.openstreetmap.org/?lat=50.05949&lon=8.7162&zoom=16&layers=C

Am Gravenbruchring wird der E1 angezeigt.

Das kann man letztendlich mit OSM-Filter teilweise lindern. Vielleicht auch mit der Textordernummer.

Das Probem dürfte sein, dass Osmand die OSM-Struktur nicht 1:1 übernimmt und man sich daran vorbei schlängeln muss.

Edit: Ich habe versucht, “ref” durch den Phantasietag “bic” zu ersetzen. Leider wird nichts sichtbar.