bitte probier mal die neueste Vorabversion aus, die ich gerade hochgeladen habe, und variiere den map/Scale/Factor wie zuvor. Hat sich an der Darstellung etwas geändert?
20.09.2019, 17:06 (This post was last modified: 20.09.2019, 17:10 by peso.)
Hallo Christian,
danke schon mal für die Arbeit die du dir da machst.
Diesmal habe ich mit der SNAPSHOT-84 Version insgesamt 5 Einstellungen gemacht:
map/Scale/Factor 400, 200, 140, 100 und 50.
Hier die entsprechenden Log Ausgaben:
Code:
Ausgabe mit map/Scale/Factor 400
Sep. 20, 2019 5:17:45 NACHM. slash.navigation.mapview.mapsforge.MapsforgeMapView createMapView
INFO: Map is scaled with factor 4,166667, screen resolution is 144 dpi
Ausgabe mit map/Scale/Factor 200
Sep. 20, 2019 5:22:00 NACHM. slash.navigation.mapview.mapsforge.MapsforgeMapView createMapView
INFO: Map is scaled with factor 2,083333, screen resolution is 144 dpi
Ausgabe mit map/Scale/Factor 140
Sep. 20, 2019 5:24:30 NACHM. slash.navigation.mapview.mapsforge.MapsforgeMapView createMapView
INFO: Map is scaled with factor 1,458333, screen resolution is 144 dpi
Ausgabe mit map/Scale/Factor 100
Sep. 20, 2019 5:26:01 NACHM. slash.navigation.mapview.mapsforge.MapsforgeMapView createMapView
INFO: Map is scaled with factor 1,041667, screen resolution is 144 dpi
Ausgabe mit map/Scale/Factor 50
Sep. 20, 2019 5:27:46 NACHM. slash.navigation.mapview.mapsforge.MapsforgeMapView createMapView
INFO: Map is scaled with factor 0,520833, screen resolution is 144 dpi
Das Ergebnis ist, dass sich bei gleichem Zoom Faktor (15) zwar jedes Mal der Kartenausschnitt und die Vergrößerung ändert, nicht aber die Schriften. Die bleiben verschwommen, nur die Schriftgröße ändert sich.
Ich habe auch von jeder Einstellung einen Screenshot des kompletten RC Fensters gemacht, der das veranschaulicht.
Leider sind die Dateien zu groß (je ca. 1.5 bis 2MB als PNG) so daß ich sie hier nicht hochladen kann...
Falls die Bilder für dich von Interesse sind, kann ich sie dir anderweitig zukommen lassen.
(20.09.2019, 17:06)peso Wrote: Leider sind die Dateien zu groß (je ca. 1.5 bis 2MB als PNG) so daß ich sie hier nicht hochladen kann...
Falls die Bilder für dich von Interesse sind, kann ich sie dir anderweitig zukommen lassen.
Hallo peso,
Ich denke Christian wäre an den Bildern interessiert.
Du kannst mal versuchen die Bilder zu zippen und dann hochzuladen. Ansonsten gibt es in der FAQ noch eine Mailadresse. Christian will sie nur nicht im Forum schreiben (und daher mache ich es auch nicht).
21.09.2019, 14:51 (This post was last modified: 21.09.2019, 14:53 by routeconverter.)
Ich habe jetzt etwas gelesen: Google verwendet bereits seit 2013 Vektorkacheln für Google Maps. Diese lassen sich skalieren und vermeiden die Treppenartefakte. Das ist das, was Du in Firefox siehst.
In RouteConverter kann ich nur die 256x256 Pixel PNG Kacheln verwenden, die Google ebenfalls bereitstellt. Das ist mehr oder minder der Standard für alle Rasterkachel-Dienste. Bei Vektorkacheln gibt es keinen Standard. Und auch keine Bibliothek, die z.B. für Google Maps die korrekten URLs berechnet und das Ergebnis dekodieren kann.
Der Qualitätsunterschied bei HiRes-Bildschirmen läßt sich also nur mit den mapsforge Offline-Karten begegnen und nicht mit den Online-Karten.
23.09.2019, 15:37 (This post was last modified: 23.09.2019, 15:38 by peso.)
Hallo Christian,
schade, wenn's nicht geht kann man nichts machen.
Ich habe auch einmal die Darstellung der Online-Karten mit der der mapsforge Offline-Karte verglichen. Die Optik ist dann unterschiedlich, auch wegen der einstellbaren Kartenthemen, aber das Grundproblem mit den Schriften und Linien ändert sich nicht merklich.
Mir fehlt auch ein bisschen der technische Hintergrund zum Thema insgesamt, was mich aber wundert ist, dass die Darstellung der Tiles von der Bildschirmauflösung abhängig sein soll. Die Tiles werden offensichtlich in 256x256 Pixeln angeliefert. Das bedeutet aber doch nur, dass man bei einer hohen Bildschirmauflösung entsprechend mehr (unskalierte) Tiles bräuchte, um die größere Fläche zu füllen. Stattdessen ist mein Eindruck, werden die Tiles aber hochskaliert um die größere Bildschirmfläche zu füllen, möglicherweise auf die doppelte Größe von 512x512, wodurch sich dann die verschwommenen Schriften und Linien erklären ließen.
Ich habe mir auch einmal die Doku angeschaut, die du angegeben hast. Dort heißt es u.a:
- Tiles are 256x256 pixels
- At the outer most zoom level, 0, the entire world can be rendered in a single map tile.
- Each zoom level doubles in both dimensions, so a single tile is replaced by 4 tiles when zooming in. This means that about 22 zoom levels are sufficient for most practical purposes.
Mir kommt es einfach so vor, als wenn Zoom Level und Anzahl der benötigten Tiles dafür um eine Stufe versetzt sind und deswegen die Tiles um Faktor 2 hochskaliert werden müssen.
24.09.2019, 07:51 (This post was last modified: 24.09.2019, 07:53 by routeconverter.)
(23.09.2019, 15:37)peso Wrote: Ich habe auch einmal die Darstellung der Online-Karten mit der der mapsforge Offline-Karte verglichen. Die Optik ist dann unterschiedlich, auch wegen der einstellbaren Kartenthemen, aber das Grundproblem mit den Schriften und Linien ändert sich nicht merklich.
Das mag ich kaum glauben. Genau das sollte bei Vektorkarten kein Problem sein. Hast Du mit dem mapScaleFactor herumgespielt? Dein Display hat 144dpi also 1,5mal so viel wie der "Standard" 96dpi.
(23.09.2019, 15:37)peso Wrote: Mir fehlt auch ein bisschen der technische Hintergrund zum Thema insgesamt, was mich aber wundert ist, dass die Darstellung der Tiles von der Bildschirmauflösung abhängig sein soll. Die Tiles werden offensichtlich in 256x256 Pixeln angeliefert.
Das ist bei allen bekannten Diensten so.
(23.09.2019, 15:37)peso Wrote: Das bedeutet aber doch nur, dass man bei einer hohen Bildschirmauflösung entsprechend mehr (unskalierte) Tiles bräuchte, um die größere Fläche zu füllen.
Nein, man braucht mehr Pixel für dieselbe Fläche.
(23.09.2019, 15:37)peso Wrote: Stattdessen ist mein Eindruck, werden die Tiles aber hochskaliert um die größere Bildschirmfläche zu füllen, möglicherweise auf die doppelte Größe von 512x512, wodurch sich dann die verschwommenen Schriften und Linien erklären ließen.
Genau das passiert: man braucht hat 4 Kachel a 256x256, um 1 Kachel mit 512x512 zu füllen. Wenn der Bildschirm eine doppelt so hohe Dichte an Pixeln hat, benötigt er 4x so viele Pixel, damit das Pixel nicht winzig klein sondern scharf wird.
(23.09.2019, 15:37)peso Wrote: Mir kommt es einfach so vor, als wenn Zoom Level und Anzahl der benötigten Tiles dafür um eine Stufe versetzt sind und deswegen die Tiles um Faktor 2 hochskaliert werden müssen.
Dann wird die Schrift winzig klein. Sie bleibt ja auch den sagen wir 10 Pixeln, mit der die Kachel gerendert wurde. Nur dass die auf einem 192dpi Bildschirm nur 1/4 der Fläche belegen wie auf einem 96dpi Bildschirm. Eben winzig.
Quote:Genau das sollte bei Vektorkarten kein Problem sein.
Das hatte ich eigentlich auch gedacht.
Ich habe noch einmal eine Serie Screenshots vorbereitet, die ich dir wie zuvor zukommen lasse.
Sie zeigen die Einstellungen map/Scale/Factor
96, 144, 192, 240 und 480 (als Extremwert)
entsprechend einem Scale von
1.0, 1.5, 2.0, 2.5 und 5.0
Was sich ändert, ist die Größe der Schrift im Verhältnis zur Karte. Was sich nicht ändert sind die verschwommenen bzw. stufenartig gerenderten Linien und Schriften.
Als Vergleich ist auch ein Screenshot vom gleichen Kartenausschnitt der Openstreetmap Karte mit dabei.
Ich will dich aber auch nicht weiter mit dem Problem behelligen, wenn es dafür keine einfache Lösung gibt. Ich muss halt dann eine niedrigere Bildschirmauflösung einstellen...
Zur Verdeutlichung was ich meine, zeige ich hier die Gegenüberstellung von winzigen Ausschnitten aus den vorherigen Screenshots mit map/Scale/Factor Einstellungen von 96, 144, 192, 240 sowie als Vergleich die Darstellung der Openstreetmapkarte unter den identischen Bedingungen.
(Alle Screenshots sind 1:1 erstellt, d.h. ein Pixel enspricht immer einem Bildpunkt, so wie er auf meinem Bildschirm angezeigt wird)
Die Änderung des mSF bewirkt eine Anpassung des Skalierungsfaktors der Karte, deshalb muss ich ja auch den Zoomfaktor in RC anpassen um in etwa denselben Kartenausschnitt zu bekommen. Der mSF hat jedoch keinerlei Auswirkung auf die Art und Weise wie das Kartenbild gerastert wird.
Wenn Du z.B. den Bereich betrachtest, den ich mit einem Magenta Kreis markiert habe, dann sieht man, dass die leicht schräge Linie darin immer gleich grob gerastert wird, unabhängig von der mSF Einstellung. Im Vergleich dazu ist die Darstellung einer schrägen Linie in OSM viel feiner gerastert.
Mit dem map/Scale/Factor kann man also die Rasterung nicht verändern. Mir scheint es so, als ob der zugrunde liegende Rasteralgorithmus von einer falschen Bildschirmauflösung ausgeht, oder dass von der Reihenfolge her erst gerastert wird und dann das gerasterte Kartenbild hochskaliert wird. Vielleicht müssten die Kacheln ja erst skaliert und dann gerastert werden????
(04.10.2019, 12:06)peso Wrote: Mit dem map/Scale/Factor kann man also die Rasterung nicht verändern. Mir scheint es so, als ob der zugrunde liegende Rasteralgorithmus von einer falschen Bildschirmauflösung ausgeht, oder dass von der Reihenfolge her erst gerastert wird und dann das gerasterte Kartenbild hochskaliert wird. Vielleicht müssten die Kacheln ja erst skaliert und dann gerastert werden????
Da bin ich überfragt. Ich benutze die mapsforge-Bibliothek einfach nur. Anti-Aliasing ist dort auf ein konfiguriert, scheint aber nach meiner Recherche für AWT nicht verwendet zu werden.