Lenoid
Enthusiast
- 1.067
Da es in einem anderen Thread eine Anfrage dazu gab, die zu sehr OT gehen würde, eröffne ich hier einen separaten Thread für die Modifizierung der Kartendarstellung in OsmAnd.
Vorweg: es sind zwingend Basiskenntnisse zur OpenStreetMap nötig und auch Textdateien mit Code sollten nicht abschrecken. Ohne diese Kenntnisse wird es schwer bis unmöglich etwas sinnvoll zu modifizieren. Wer z.B. bereits für Garmin sein eigenes Typefile erstellt hat, wird das sicher auch für OsmAnd hinbekommen.
Grundsätzlich ist es so, dass OsmAnd XML-Dateien für das Kartenrendering nutzt. Diese kommen dann in den Ordner "rendering" und nach dem nächsten Start von OsmAnd kann man sie dann auswählen. Die Mitgelieferten findet man hier:
osmandapp/OsmAnd-resources
2 weitere ehemals mitgelieferte hänge ich an und ein weiteres sehr gutes bekommt ihr hier:
Osmand - OpenFietsMap
Meins ist auch nur ein etwas modifiziertes ehemaliges mitgeliefertes, bei dem ich ein paar Kleinigkeiten ganz speziell auf meine Bedürfnisse angepasst habe. Anderen wird es wahrscheinlich wenig nützen. Aber das ist ja die Stärke von OsmAnd, man kann es komplett auf die eigenen Bedürfnisse anpassen, anstatt den vorgegeben Einheitsbrei, der z.B. im Falle von Google Maps immer schlimmer wird (da werden z.B. Wälder ausgeblendet, wenn man nah ranzoomt und Kontraste kennt Google auch nicht mehr), nutzen zu müssen.
Ich würde auch empfehlen ein mitgeliefertes Typefile zu modifizieren, anstatt selbst eins zu entwerfen, denn daran würdet ihr ewig sitzen.
Probiert daher erst einmal in OsmAnd aus welches eurem Zweck am nächsten kommt und nehmt das dann als Grundlage. Der default.render.xml (die standardmäßige Kartendarstellung von OsmAnd) ist höchstwahrscheinlich ohnehin die Basis und euer Typefile nimmt "nur" Änderungen daran vor, die zwar vielleicht klein erscheinen, aber eine große Wirkung haben. Man erkennt es an dem Eintrag "depends=*" (normalerweise direkt am Anfang der XML Datei), welcher angibt, welche Kartendarstellung die Basis sein soll. "depends="default"" wäre dann die standardmäßige Darstellung von OsmAnd (default.render.xml). In diesem Fall würde die neue Kartendarstellung nur die Änderungen ggü. der standardmäßigen von OsmAnd angeben.
Die Erstellung/Bearbeitung eines Typefiles geht mit jedem vernünftigen Texteditor und somit unter jedem OS, sogar Android. Unter Windows würde ich Notepad++ empfehlen, da es im Gegensatz zum mitgelieferten Editor/Notepad alles farblich hervorhebt.
Habt ihr ein Typefile geladen, dann gibt es hier eine kleine Einführung mit wichtigen Hinweisen :
https://osmand.net/help/docs/Custom_Rendering_How-To.htm
Bedenkt dabei, dass zwingend OpenStreetMap-Kenntnisse erforderlich sind. Sonst wisst ihr nicht, was ihr anpassen müsst.
Die Farben werden übrigens nach HTML-Farbcodes erzeugt. Ihr könnt sie hier berechnen bzw, umrechnen:
HTML Farbencodes
Convert between color formats (HEX, RGB, HSL, HSV, CMYK)
Noch ein Hinweis: geht immer Schritt für Schritt vor und testet euren Kartenstil besonders nach größeren Änderungen regelmäßig. Manchmal gibt es unerwünschte Nebenwirkungen. Beispielsweise kann die Reihenfolge in der einzelne Typen der OSM gerendert werden sollen die entscheidende Rolle spielen. Bei mir wurden beispielsweise mal Straßen nicht zuverlässig gerendert, weil ich Wege zu sehr priorisiert hatte. Wenn man dann regelmäßig getestet hat, kann man die Ursache wesentlich leichter eingrenzen.
Generell braucht ihr wahrscheinlich Geduld bis ihr den Dreh raus habt (abhängig von dem was ihr vorhabt). Die Geduld zahlt sich jedoch aus.
Die XML-Datei muss mit .render.xml aufhören (z.B. Mein-Kartenstil.render.xml), sonst wird er wahrscheinlich nicht erkannt. OsmAnd muss nach jeder Änderung neu gestartet werden (richtig beenden, nicht nur auf den Homescreen und wieder zurück), damit die Änderung aktiv wird (neue oder geänderte XML-Datei).
Zum schnellen testen eurer neuen Kartendarstellung könnt ihr auch dieses Tool testen, anstatt die XML-Datei extra auf ein Android Gerät zu kopieren:
OffRoad
Die XML-Datei muss dann in "C:\Users\DEIN_BENUTZERNAME\.OffRoad\rendering_styles". Das Tool danach neu starten.
Das Tool kann nicht ansatzweise mit OsmAnd mithalten, v.a. mit der Performance und Inputlag, aber für einen schnellen Test reicht es.
Hier gibt es übrigens eine Legende des standardmäßigen Kartenstils:
OsmAnd - Offline Mobile Maps and Navigation
Erfahrungsaustausch ist hier ausdrücklich erwünscht! Fragen natürlich auch. Ich nehme auch gerne Ergänzungen an dieser kleinen Einführung vor, wenn ihr welche habt.
Vorweg: es sind zwingend Basiskenntnisse zur OpenStreetMap nötig und auch Textdateien mit Code sollten nicht abschrecken. Ohne diese Kenntnisse wird es schwer bis unmöglich etwas sinnvoll zu modifizieren. Wer z.B. bereits für Garmin sein eigenes Typefile erstellt hat, wird das sicher auch für OsmAnd hinbekommen.
Grundsätzlich ist es so, dass OsmAnd XML-Dateien für das Kartenrendering nutzt. Diese kommen dann in den Ordner "rendering" und nach dem nächsten Start von OsmAnd kann man sie dann auswählen. Die Mitgelieferten findet man hier:
osmandapp/OsmAnd-resources
2 weitere ehemals mitgelieferte hänge ich an und ein weiteres sehr gutes bekommt ihr hier:
Osmand - OpenFietsMap
Meins ist auch nur ein etwas modifiziertes ehemaliges mitgeliefertes, bei dem ich ein paar Kleinigkeiten ganz speziell auf meine Bedürfnisse angepasst habe. Anderen wird es wahrscheinlich wenig nützen. Aber das ist ja die Stärke von OsmAnd, man kann es komplett auf die eigenen Bedürfnisse anpassen, anstatt den vorgegeben Einheitsbrei, der z.B. im Falle von Google Maps immer schlimmer wird (da werden z.B. Wälder ausgeblendet, wenn man nah ranzoomt und Kontraste kennt Google auch nicht mehr), nutzen zu müssen.
Ich würde auch empfehlen ein mitgeliefertes Typefile zu modifizieren, anstatt selbst eins zu entwerfen, denn daran würdet ihr ewig sitzen.
Probiert daher erst einmal in OsmAnd aus welches eurem Zweck am nächsten kommt und nehmt das dann als Grundlage. Der default.render.xml (die standardmäßige Kartendarstellung von OsmAnd) ist höchstwahrscheinlich ohnehin die Basis und euer Typefile nimmt "nur" Änderungen daran vor, die zwar vielleicht klein erscheinen, aber eine große Wirkung haben. Man erkennt es an dem Eintrag "depends=*" (normalerweise direkt am Anfang der XML Datei), welcher angibt, welche Kartendarstellung die Basis sein soll. "depends="default"" wäre dann die standardmäßige Darstellung von OsmAnd (default.render.xml). In diesem Fall würde die neue Kartendarstellung nur die Änderungen ggü. der standardmäßigen von OsmAnd angeben.
Die Erstellung/Bearbeitung eines Typefiles geht mit jedem vernünftigen Texteditor und somit unter jedem OS, sogar Android. Unter Windows würde ich Notepad++ empfehlen, da es im Gegensatz zum mitgelieferten Editor/Notepad alles farblich hervorhebt.
Habt ihr ein Typefile geladen, dann gibt es hier eine kleine Einführung mit wichtigen Hinweisen :
https://osmand.net/help/docs/Custom_Rendering_How-To.htm
Bedenkt dabei, dass zwingend OpenStreetMap-Kenntnisse erforderlich sind. Sonst wisst ihr nicht, was ihr anpassen müsst.
Die Farben werden übrigens nach HTML-Farbcodes erzeugt. Ihr könnt sie hier berechnen bzw, umrechnen:
HTML Farbencodes
Convert between color formats (HEX, RGB, HSL, HSV, CMYK)
Noch ein Hinweis: geht immer Schritt für Schritt vor und testet euren Kartenstil besonders nach größeren Änderungen regelmäßig. Manchmal gibt es unerwünschte Nebenwirkungen. Beispielsweise kann die Reihenfolge in der einzelne Typen der OSM gerendert werden sollen die entscheidende Rolle spielen. Bei mir wurden beispielsweise mal Straßen nicht zuverlässig gerendert, weil ich Wege zu sehr priorisiert hatte. Wenn man dann regelmäßig getestet hat, kann man die Ursache wesentlich leichter eingrenzen.
Generell braucht ihr wahrscheinlich Geduld bis ihr den Dreh raus habt (abhängig von dem was ihr vorhabt). Die Geduld zahlt sich jedoch aus.
Die XML-Datei muss mit .render.xml aufhören (z.B. Mein-Kartenstil.render.xml), sonst wird er wahrscheinlich nicht erkannt. OsmAnd muss nach jeder Änderung neu gestartet werden (richtig beenden, nicht nur auf den Homescreen und wieder zurück), damit die Änderung aktiv wird (neue oder geänderte XML-Datei).
Zum schnellen testen eurer neuen Kartendarstellung könnt ihr auch dieses Tool testen, anstatt die XML-Datei extra auf ein Android Gerät zu kopieren:
OffRoad
Die XML-Datei muss dann in "C:\Users\DEIN_BENUTZERNAME\.OffRoad\rendering_styles". Das Tool danach neu starten.
Das Tool kann nicht ansatzweise mit OsmAnd mithalten, v.a. mit der Performance und Inputlag, aber für einen schnellen Test reicht es.
Hier gibt es übrigens eine Legende des standardmäßigen Kartenstils:
OsmAnd - Offline Mobile Maps and Navigation
Erfahrungsaustausch ist hier ausdrücklich erwünscht! Fragen natürlich auch. Ich nehme auch gerne Ergänzungen an dieser kleinen Einführung vor, wenn ihr welche habt.
Anhänge
Zuletzt bearbeitet: