-
AutorBeiträge
-
Mai 15, 2016 um 11:58 Uhr #9548sharrakorTeilnehmer
Hallo,
gibt es irgendeine Möglichkeit, Rasterkarten mit eigenem Theme zu erstellen? Hintergrund: ich nutze fürs Radfahren aktuell die Vektorkarten mit dem Elements Theme in OruxMaps. Habe mir dazu ein älteres wasserdichtes Handy zugelegt, das ich am Lenker montiert habe. Bei diesem ist allerdings die Rechenperformance eher schlecht, sodass das Nachladen der Karten öfters sehr lange dauert, gerade in den etwas höheren Zoomstufen. Soabld OruxMaps die Kacheln mal erstellt hat, geht das Anzeigen ziemlich fix. Ich habe folgende Ideen zur Lösung, wovon leider keine wirklich befriedigend ist:
1) In OruxMaps alle Gebiete einmal von Hand anzeigen, sodass sie in den Cache geschrieben werden. Dauert leider etwas zu lange. Gibt es da eine automatische Möglichkeit?
2) Mobile Atlas Creator lädt leider nur Kartenkacheln mit bestimmten Kartenthemes z.B. Mapquest. Diese Themes sind für meine Zwecke leider ungeeignet.
3) Atlas kann mir zwar Vektorkarten mit Elements rendern, nicht aber speichern. Oder habe ich da was übersehen?Kann mir vielleicht jemand weiterhelfen?
Viele Grüße
BenediktMai 15, 2016 um 12:55 Uhr #9550TobiasAdministratorHallo Benedikt,
Es gibt die Möglichkeit mapsforge Karten mit Themes als Quelle für MOBAC zu verwenden. Hab ich noch nicht ausprobiert, daher kann ich auch nicht mehr dazu sagen.
Einfach hier im Forum oder bei Google mal nach MOBAC und mapsforge suchen.
Viele Grüße,
TobiasDeveloper of Elevate mapstyle
Mai 15, 2016 um 17:39 Uhr #9555sharrakorTeilnehmerHi Tobias,
vielen Dank für die Antwort. Hatte auch vorher schon danach gesucht, aber wohl die die falschen Suchbegriffe verwendet. Hat jetzt geklappt. Falls jemand das Gleiche vorhat:
- Tutorial: https://www.b4x.com/android/forum/threads/mobac-supports-mapsforge-for-offline-tiles.53277/#content
- Habe das am Beispiel Saarland probiert. Zoomstufe 11-15. 112MB (Vektor) -> 1,3 GB (Raster). Hat ca. 20 Minuten gedauert.
- Man kann den Mapstyle nicht konfigurieren. Man muss also direkt im XML Anpassungen vornehmen. Für Fahrradkarte z.B. <stylemenu id=“r4menu“ defaultvalue=“elmt-cycling“ defaultlang=“en“>. Auch die einzelnen Layer muss man per enabled=true/false so einstellen, wie man es gerne hätte.
Grüße
BenediktMai 18, 2016 um 18:10 Uhr #9621sharrakorTeilnehmerKleiner Nachtrag: kann das aktuell nicht wirklich empfehlen. Die Auflösung der so erstellten Karten ist mir zu gering, der Renderer skaliert leider nicht richtig und erzeugt auch deutlich mehr abgeschnitte Beschriftungen als OruxMaps oder Atlas. Siehe auch http://mobac.sourceforge.net/forum/viewtopic.php?f=4&t=817
Man kann natürlich digital reinzommen, mit entsprechendem Qualitätsverlust. Falls das nicht stört, funktioniert das oben beschriebene Vorgehen.
Mai 18, 2016 um 19:43 Uhr #9623TobiasAdministratorHallo Benedikt,
ein Vorteil der Vektorkarten ist ja, dass sie sich an die Displaydichte anpassen. Das müsste ja bei MOBAC manuell eingegeben werden, für welches Ziel sie gedacht sind. Inwiefern das machbar ist weiß ich nicht.
Viele Grüße,
TobiasDeveloper of Elevate mapstyle
Mai 18, 2016 um 20:18 Uhr #9625womisaTeilnehmerHallo Benedikt,
irgendwie verstehe ich Dein Problem nicht ganz. Im MOBAC Forum diskutierst Du üben den MobacServer!
Du kannst doch aber im MOBAC als mapsource die OAM Karten und Themes konfigurieren. Nochmal nicht im MobacServer. Bei MOBAC geht das glaube ich ab 2.x. Ich habe da Mobile Atlas Creator 2.0.0 beta 1 und da geht das problemlos.
Als Mapsourse etwa sowas:
<?xml version="1.0" encoding="UTF-8"?> <mapsforge> <name>WOMISA Mapsforge</name> <!-- optional --> <minZoom>0</minZoom> <!-- optional --> <maxZoom>22</maxZoom> <!-- file name --> <mapFile>E:\MyWorkDir\_MyFiles\maps\OAM_20160401\baden-wuerttemberg\baden-wuerttemberg.map</mapFile> <!-- optional default OSMARENDERER Theme --> <!-- <xmlRenderTheme>mytheme.xml</xmlRenderTheme> --> <xmlRenderTheme>E:\MyWorkDir\_MyFiles\themes\20160428_OAM\OAM\andromaps_hc.xml</xmlRenderTheme> </mapsforge>
Viele Grüsse
AchimMai 19, 2016 um 00:36 Uhr #9636sharrakorTeilnehmerHallo Achim,
dann versuche ich nochmal, das etwas genauer zu erklären. Ich habe das zuerst genau wie von dir beschrieben gemacht und eine Rasterkarte erstellt. Ich kann dann zwar angeben, welches Theme ich verwenden möchte. Darüber hinaus habe ich aber keine Doku zur Konfiguration gefunden. Ich meine, mann kann noch die textScale anpassen, hilft aber nicht wirklich weiter.
Mein Problem ist am Besten mit folgendem Bild erklärt. Rechts die Darstellung, wenn ich die Vektorkarte in OruxMaps verwende. Links wenn ich eine Rasterkarte mit MOBAC erstelle und den Zoom in OruxMaps auf 200% stelle. Dann ist eben alles verwaschen. Zoome ich nicht, ist alles zu klein.
Für die gleiche Information stehen im linken Bild viel weniger Pixel zur Verfügung. Ich müsste ergo die Pixeldichte erhöhen. In MOBAC habe ich keine Möglichkeit gefunden, die Skalierung zu verändern. Nach Recherche bin ich aufs DisplayModel gestoßen, welches genau dies verspricht.
The size of map tiles is used to adapt to devices with differing pixel densities and users with different preferences: The larger the tile, the larger everything is rendered, the effect is one of effectively stretching everything.
Um das zu testen nun der Umweg über den mapsforge-Server von r_x. Dieser verwendet nach meinem Verständnis die gleichen Bibliotheken zum Rendern wie MOBAC. Eine Anpassung ist aber wesentlich einfacher, da man nur eine Klasse anpacken muss und nicht komplett MOBAC neu kompilieren muss. Und man kann auch einfach eine einzelne Kachel berechnen lassen, was den Test etwas einfacher macht. Ändert man die scale des DisplayModels, wird aber eben nicht alles größer dargestellt, wie oben beschrieben (und wie es auch OruxMaps wohl macht). Es wird eine größere Kachel erstellt, wie im folgenden Beispiel zu sehen:
Eine Straße wird in der Länge entsprechend angepasst. Leider aber eben nicht in der Breite, ebensowenig Symbole und Beschriftungen. Zudem werden mehr Details angezeigt. Ich wollte ja aber eigentlich skalieren, weil ich eine höhere Pixeldichte habe. Sprich: das rechte Bild ist angezeigt eigentlich genauso groß wie das linke. Eine Straße müsste (in Pixeln) doppelt so breit sein wie im linken, um gleich breit angezeigt zu werden. Weil das aber nicht so ist, werden Straßen effektiv nur halb so breit angezeigt. Damit ist dann im Gegensatz zum obigen Bild zwar alles scharf, aber leider noch kleiner.Skalierung in die andere Richtung funktioniert leider ebenfalls nicht. Die Kacheln wären dann nur 128 groß, MOBAC benötigt aber 256. Ich müsste diese also wieder hochskalieren, womit obiger Effekt (verwaschen) wieder eintritt. Eine Lösung wäre vielleicht, vier kleine Kacheln aus dem nächsten Zoomlevel zu erstellen und zu einer großen zusammenzusetzen. Wäre aber sehr unschön. Alternativ könnte ich auch das Theme bearbeiten und alle Größenmaße verdoppeln. Ist aber auch nicht im Sinne des Erfinders. Oder hat jemand hierfür eine schnelle Möglichkeit? Dann könnte ich das antesten.
Mai 19, 2016 um 08:42 Uhr #9642TobiasAdministratorAlternativ könnte ich auch das Theme bearbeiten und alle Größenmaße verdoppeln. Ist aber auch nicht im Sinne des Erfinders. Oder hat jemand hierfür eine schnelle Möglichkeit? Dann könnte ich das antesten.
Probiere es mal mit Elevate 2, normale Version L oder XL (nicht für OruxMaps), hier sind die Größenmaße ohne automatische Skalierung an die Displaydichte angepasst.
Developer of Elevate mapstyle
Mai 19, 2016 um 14:25 Uhr #9649sharrakorTeilnehmerMai 19, 2016 um 19:25 Uhr #9652TobiasAdministratorDas scheint mir das ele_res_xl Verzeichnis nicht korrekt entpackt/angelegt zu sein, darauf deuten zumindest die schwarzen Wege hin (auf denen sollten wahrscheinlich Schraffuren angezeigt werden).
Elevate 2 ist problemlos mit Versionen 0.3 und höher verwendbar, die sind abwärtskompatibel.Developer of Elevate mapstyle
Mai 20, 2016 um 17:42 Uhr #9681sharrakorTeilnehmerDie Fehlermeldungen kamen, weil ich einen ganz anderen Fehler in den Code eingebaut hatte. Asche über mein Haupt.
Habe nochmal alles entpackt und abgelegt. Mit dem Mapsforge Server bleiben die Wege schwarz, direkt in MOBAC werden sie korrekt angezeigt. Insgesamt also deutlich besser. Ich nutze inzwischen eine angepasste Version von Elements 3, weil cih eine feinere Ansteuerung bestimmter Layer haben wollte. Ich würde dann mal, wenn ich etwas Zeit habe, ein Skript schreiben, welches alle Größenangaben ausliest und verdoppelt. Oder gibt es eine schnellere Lösung? Mit der Locus-Variante von Elevate 4 wäre das am einfachsten, weil dort ja überall per dp vermerkt ist, was skaliert werden soll. Könnte somit über einen regulären Ausdruck suchen ohne auf die Tags achten zu müssen. Aber die Locus-Variante bekommt man ja auch nicht so ohne weiteres kompatibel zum Standard, oder?
Mai 20, 2016 um 21:38 Uhr #9685TobiasAdministratorDie Locus-Version ist von mir per Skript automatisch abgeleitet (und abgespeckt) zur Standardversion, das würde wenig Sinn machen. Außerdem brauchen die unterschiedlichen zu skalierenden Werte auch verschiedene Multiplikatoren.
Ich habe selber ein Perl Skript dass die verschiedenen Werte skaliert (grundsätzlich werden alle Größen und Varianten von den Grundversionen 2/3/4 per Skript abgeleitet). Wenn das für Dich brauchbar wäre gib Bescheid!
Viele Grüße,
TobiasDeveloper of Elevate mapstyle
August 11, 2016 um 17:55 Uhr #11815mbe57ModeratorHallo Achim,
ich habe gerade das Classic Theme mit OAM in MOBAC probiert – und bekomme rote Kreuze.
Das default Theme funktioniert (ist aber grottig …).Hast Du vielleicht – bitte – ein funktionierendes XML für mich zum Starten (mit MOBAC 2, beta) ?
Schönen Dank und Gruß
MichaelAugust 11, 2016 um 23:51 Uhr #11836sharrakorTeilnehmerHallo Michael,
habe es gerade mit Elevate4 hier von OAM getestet, damit funktioniert es einwandfrei. Hast du die schonmal getestet?
Rote Kreuze hatte ich bisher nur bei der Verwendung von MOBAC in Kombination mit dem mapsforge Server.
Grüße
BenediktAugust 12, 2016 um 00:07 Uhr #11838mbe57ModeratorBingo, Benedikt, danke Dir für den Tip!
Dann starte ich von Elevate. -
AutorBeiträge
- Sie müssen angemeldet sein, um zu diesem Thema eine Antwort verfassen zu können.