[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
 maaloo • Thema anzeigen - (Digital-) Zoom für .gemf Karten

(Digital-) Zoom für .gemf Karten

Verbesserungswünsche die allgemein beide maaloo-Apps betreffen würden oder ganz speziell zur Outdoor-Version gehören.

(Digital-) Zoom für .gemf Karten

Beitragvon Thorsten » Di 11. Aug 2015, 09:59

Erst einmal vielen Dank an den/die Entwickler für diese tollen Apps - die ich beide besitze.
Nachdem die diversen Onlinekarten zum Runterladen nicht unbedingt meinen Vorstellungen entspricht befasse ich mich seit einiger Zeit mit der Erstellung eigener Karten (Maperitive und Mobac).
Die Entwicklung von Vektorkarten ist ja bereits in Arbeit - wird denke ich aber noch ein Weilchen dauern bis diese "performant" mit allem drum und dran einsetzbar ist.

Als Hardware benutze ich das Windows Pone 640 XL.

Leider habe ich das Problem, dass Texte etc. ziemlich klein und schwer Leserlich sind d.h. man muss entsprechend den Zoom-Level erhöhen welches wiederum bedeutet, dass die Karten größer werden - pro Zoom-Level um das vierfache!

Nehmen wir mal an, dass eine Karte einen maximalen Zoom-Level von 16 hat.
Mit dem Zwei-Finger-Zoom von Windows Phone bin ich in der Lage diesen Zoom-Level weiter zu vergrößern - allerdings wenn ich die Finger wegnehme springt die Anzeige wieder zurück auf Zoom-Level 16.
Ich gehe mal davon aus, dass dieses Verhalten ein "Feature" und kein Bug ist?!

Ich wäre Euch sehr dankbar, wenn Ihr einen "Digital-Zoom" implementieren würdet - ähnlich wie bei einer Kamera:
Wenn der maximale Zoom einer Karte z. Bsp: 16 beträgt könnte man die digitale Vergrößerung ja 16+1, 16+2, 16+3 etc. nennen. D.h. ein Zwei-Finger-Zoom würde auch bis auf Widerruf beibehalten werden.

Nun was ist Sinn der ganzen Angelegenheit?

Meine Tests haben ergeben, dass wenn man mit Maperitive hochauflösende Karten mit 512*512 Tiles generiert (Parameter ist resolution=2) die Texte und kleinen Symbole so hoch aufgelöst werden, dass bei einem Zwei-Finger-Zoom bei einer Karte mit Zoomlevel 16 so groß und scharf angezeigt werden wie ca. bei Zoom-Level > 20 - während der Text bei Zoomlevel 16 (ohne zusätzlichem Zoom quasi nicht mehr lesbar ist).
Mit digitalem Zoom würde man die Größe der Karten drastisch reduzieren können da man sich einige Zoom-Level einer gerenderten Karte erspart.

Beispiel der Größe einer Karte in verschiedenen Zoom-Level:
Zoom 15: 101390 kb
Zoom 16: 268992 kb
Zoom 17: 633230 kb
Wie man sieht benötigt man den 6-Fachen Speicherplatz für 2 Zoom-Level.

Hinzu kommt dann noch .png Kompression die im Schnitt bei 50% liegt - zumindest bei 512er tiles - bei 256er tiles ist die Kompression auf Grund der Größe natürlich nicht so hoch sodass, zumindest zum Teil der Speicherverbrauch bei größeren Tiles relativiert wird.

Nach Kompression sieht es dann etwa für den gleichen Kartenausschnitt so aus:

Zoom 15: 50695 kb
Zoom 16: 134496 kb
Zoom 17: 316615 kb

Vergleich der Kartengröße mit digitalem Zoom vs. ohne wobei hier Zoom-Level 16 mit digitalem Zoom ungefähr 2 Zoom-Stufen ohne digitalem Zoom entspricht = Zoom-Level 18 ohne Kompression:
Zoom 16 : 268992 kb
Zoom 18 : 1490677 kb
D.h. man erspart sich die 5,5 Fache Größe!

Wäre schön, wenn das Feature - welches wahrscheinlich auch für Vektor-Karten interessant sein dürfte (Renderzeit in Realtime) implementiert werden würde - zumal es ja den Zwei-Finger-Zoom schon irgendwo gibt.
Liebe Grüße
Thorsten
Thorsten
 
Beiträge: 196
Registriert: Di 11. Aug 2015, 09:18

Re: (Digital-) Zoom für .gemf Karten

Beitragvon olimic » Mi 12. Aug 2015, 20:17

Danke Thorsten für deine Analyse. Klingt interessant.

Ja das zurückschnippen auf ganze Zoomstufen ist ein Feature. Das steigert die Schärfe der Karte, da der manuelle Zoom doch schnell unschön aussieht, "zermatscht". Das als Option dennoch zuzulassen steht auf meiner ToDo-Liste. Ja ich bin Einzelentwickler...bin aber für Hilfe offen :)

Wenn man 512er-Tiles hat, könnte man daraus 4x 256er-Tiles herauslösen, ad-hoc. Da die Karte immer 256er Bitmaps darstellen möchte, müssen oder sollten die Bitmaps natürlich auch 256x256-Pixel haben. Hier käme der Punkt, dass man das gleiche 512er Teile einfach in eine 256er-Bitmap zwängt, was automatisch eine Skalierung bedeutet und vom Windows Phone anstandslos sogar per GPU erledigt wird. Man würde sich also tatsächlich eine Zoomstufe sparen können. Wenn man von den eventuellen Skalierungsartefakten mal absieht. Wenn man dann noch die 512er für die nächste Zoomstufe verwendet mit digitalem 2-fach-Zoom, spart man nochmal. Ein 2-fach-Zoom ist qualitativ vielleicht noch vertretbar.

Du meinst ein 512x512 Pixelbild lässt sich besser komprimieren als ein 256x256 Pixel Bild?
Das würde mich etwas wundern, aber ich würde es gern glauben. Ich hab es mal ausprobiert. Einfach ein roter Kreis 512 und 256.
512_circle.png
512_circle.png (6.77 KiB) 1554-mal betrachtet
256_circle.png
256_circle.png (3.06 KiB) 1554-mal betrachtet

Tatsächlich die 256er-Bild ist 3136 Bytes groß, das 512er 6929 Bytes. Also würde man tatsächlich 50% einsparen, wenn man statt 4x 256er ein einzelnes 512er Bild verwendet. :idea: 8-)

Der Effekt mit dem digitalem Zoom läßt sich prinzipiell auch auf die Vektorkarten ummünzen. Man könnte die Daten eines Tiles lesen, was eigentlich für eine niedrigere Zoomstufe gedacht ist und das einfach 2-fach gezoomt verwenden. Zeit-technisch ist das Laden einer niedrigeren Zoomstufe (z.B. 14) länger als einer größeren Zoomstufe (z.B.15). Da man diese Ladezeit aber vierfach verwenden kann, spart man doch wieder ein. 4x 15 dauert länger als 1x 14.
Man verliert aber eventuell Details, weil die 15 mehr Details mitgebracht hätte.
olimic
maaloo Developer
 
Beiträge: 527
Registriert: Sa 10. Nov 2012, 18:26
Wohnort: Dresden / Germany

Re: (Digital-) Zoom für .gemf Karten

Beitragvon Thorsten » Do 13. Aug 2015, 10:07

Dateianhänge
512-14-zoom.png
512-14-zoom.png (142.12 KiB) 1549-mal betrachtet
256-16.png
256-16.png (230.35 KiB) 1549-mal betrachtet
512-14.png
Zoom 14 512er Tiles
512-14.png (125.26 KiB) 1549-mal betrachtet
Thorsten
 
Beiträge: 196
Registriert: Di 11. Aug 2015, 09:18

Re: (Digital-) Zoom für .gemf Karten

Beitragvon Thorsten » Do 13. Aug 2015, 11:14

Zoomstufe 16 mit 256er Tiles und "Digitalzoom"

256-16-zoom.png
256-16-zoom.png (169.14 KiB) 1549-mal betrachtet


Wie man anhand der Beispiele sieht ist eine Zoomstufe für die Leserlichkeit nur bedingt besser geeignet.
Vergleicht man Zoom-Stufe 14 mit Zoom-Stufe 14 plus digitaler Vergrößerung ist der Text mit digi wesentlich größer und super scharf!

Ich behaupte jetzt einfach mal, dass ein Digizoom mindestens 3-4 Zoomstufen entspricht - der findige Rechner kann das gerne mal bezogen auf die Dateigröße hochrechnen.

Tip: die Bilder auf das Handy runterladen und dort anschauen - wie gesagt am PC-Monitor sieht es nicht ganz so scharf aus.

Jetzt wäre nur noch die Frage wie groß der Aufwand wäre:

1. 256er und 512er Tiles anzuzeigen - wobei ich bei der Gelegenheit gleich auch 768er Tiles in Betracht ziehen würde auf Grund der hochauflösenden Handydisplays von > 2k

2. Bezüglich Digitalzoom - hier würde ich der einfachheitshalber einfach den Fingerzoom beibehalten und mir den Basiszoom merken. Bei drücken des Plus- oder Minus-Buttons wird der Basiszoom wieder dargestellt.

Weitere Denkansätze:

Soweit ich Oliver verstehe sollen 512 er Tiles in 4 * 256er Tiles zerlegt werden welches wahrscheinlich einfacher zu realisieren ist als wenn man das Programm auf XXXer -Tiles umprogrammiert.

Was die Performance angeht denke ich aber das größere Tiles wesentlich schneller geladen und angezeigt werden können als 256er und die Prozessorleistung geringer bei der Verwaltung ist welches dem Akkuverbrauch zu gute kommen würde.

Ziel sollte natürlich die volle Unterstützung von Vektorkarten sein - allerdings sehe ich hier Performance-Probleme bei der Darstellung - einfach wird das nicht werden.

Gut, letztendlich ist es schön wenn der Benutzer die Wahl hat.

Liebe Grüße
Thorsten
Thorsten
 
Beiträge: 196
Registriert: Di 11. Aug 2015, 09:18

Re: (Digital-) Zoom für .gemf Karten

Beitragvon Thorsten » Do 13. Aug 2015, 12:01

Noch etwas für die Statistik bezogen auf bereits komprimierte .png's auf den gleichen Kartenausschnitt:

Zoom 14 mit 512er Tiles = 35 .png Dateien - die .gemf Karte = 1,34 mb groß
Zoom 18 mit 256er Tiles = 6930 .png Dateien - die .gemf Karte = 19 mb groß
Thorsten
 
Beiträge: 196
Registriert: Di 11. Aug 2015, 09:18

Re: (Digital-) Zoom für .gemf Karten

Beitragvon olimic » So 16. Aug 2015, 21:56

Klingt vielversprechend. Kannst du ein Link auf ein oder mehrere 512er Gemf Dateien spendieren bitte. Dann könnt ich mir das mal näher anschauen.

Bei der Erstellung dieser Dateien wird es mit Mobac schwierig werden, der macht nur 256?

Wie kann man das dann flächendeckend anbieten?
olimic
maaloo Developer
 
Beiträge: 527
Registriert: Sa 10. Nov 2012, 18:26
Wohnort: Dresden / Germany

Re: (Digital-) Zoom für .gemf Karten

Beitragvon Thorsten » Mo 17. Aug 2015, 08:22

Hi,
ich bin immer noch am testen ... Man ist das kompliziert... den Mittelweg zwischen Kartengröße und guter Darstellung zu finden.. da werde ich mich hier noch melden.

So wie es aussieht scheint es in Outdoor einen Bug zu geben was die Darstellung von .gemf Karten basierend auf .png Kacheln angeht d.h. manche Kacheln erscheinen in Outdoor als graues Tile mit Eieruhr.
Jetzt bin ich auf die Idee gekommen es mal mit .jpg Kacheln zu probieren bei 70% Qualität. Zwar sieht man letztendlich Komprimierungsartefakte aber die Darstellung ist trotzdem noch gut und die Karten richtig klein ;-)
.jpg scheinen immer mindestens 50% kleiner als .png zu sein - und Outdoor kommt bei der Darstellung wirklich richtig zum Fliegen.

Wenn ich fertig bin stelle ich dir gerne via Email Downloads zur Verfügung.

Bezüglich Mobac bzw. wie man solche Kacheln erstellt:

Das Kartenmaterial wird von geofarbik.de runter geladen und mit osmosis dann ein Ausschnitt erstellt.
Dieser Ausschnitt wird dann in Maperitive geladen, via Rules angepasst und dann die Tiles mit 256, 512 oder 768 in den entsprechenden Zoom-Stufen generiert. Diese werden dann in Mobac geladen und als .gemf exportiert. Mobac nimmt keine Änderungen vor! D.h. hat Maperitive 512er Tiles generiert erzeugt auch Mobac 512er Tiles in der .gemf.

Ich teste gerade .jpg's Mobac kann direkt die .png's in .jpg's umwandeln und das richtig schnell.
Von daher ist das wirklich eine Lösung die jeder selber machen kann - und keinen Downloadserver benötigt.

Müsste hier dann eine Anleitung geschrieben werden - eine gibt es ja schon - die halt leicht geändert und darauf hingewiesen werden - z.bsp in der App-Beschreibung im Shop.
Thorsten
 
Beiträge: 196
Registriert: Di 11. Aug 2015, 09:18

Re: (Digital-) Zoom für .gemf Karten

Beitragvon Thorsten » Mo 17. Aug 2015, 17:49

So, geschafft!

Hier mal ein bisschen Futter für dich:

http://www62.zippyshare.com/v/r6jNChCd/file.html
http://www62.zippyshare.com/v/aF0aeEF3/file.html

http://www98.zippyshare.com/v/fMiDij13/file.html
http://www98.zippyshare.com/v/At0RI88j/file.html
http://www98.zippyshare.com/v/2k328jLY/file.html
http://www98.zippyshare.com/v/ITFgH2QR/file.html

http://www54.zippyshare.com/v/yYbaNva7/file.html
http://www54.zippyshare.com/v/sZXI8h3G/file.html

Wenn alles runter geladen und entzippt solltest du 4 .gemf Karten haben.
Dateinamenformat:
Gebiet-Minzoom-Maxzoom-Tilegröße-Tileformat.

Ich habe hier bewusst Wert darauf gelegt eine möglichst kleine Schriftart 6 Punkt durch Digital-Zoom gerade noch leserlich darzustellen - zumindest bei den 512er Tiles.

Schau mal in Neu-Anspach in die Straßen links vom Bahnhof.

Teilweise werden Schriften auch "gedrückt" und sind kleiner als 6 Punkt - hier habe ich versucht in Maperitive alle Register zu ziehen.

Bei der 512er .png Karte solltest du das Problem sehen, dass die Tiles in Outdoor nicht dargestellt werden - graues Maaloo-Tile mit Eieruhr... warum weißt nur du.

Alle Karten stellen den gleichen Ausschnitt dar.

Krass ist der Unterschied der Kartengröße zwischen der 512er jpg (128.870 kb) und der 512er png (688366 kb)

Gerne schicke ich dir auch beliebige andere Karten - melde dich halt wenn es nicht reicht.

Liebe Grüße Thorsten
Thorsten
 
Beiträge: 196
Registriert: Di 11. Aug 2015, 09:18

Re: (Digital-) Zoom für .gemf Karten

Beitragvon olimic » Mo 17. Aug 2015, 20:59

Krass. Ich bin begeistert!!! :o :)
Gestochen scharf. die Qualität ist echt super.

Die Schrift ist ungezoomt ja recht mini. Aber beim hereinzoomen taucht sie dann hoch, ohne gleich pixelig zu werden, sondern um eher zu ihrer eigentlichen Ausgangsgröße zu kommen. Sehr schön.

Warum machen wir das nicht schon viel eher so :lol:

Die Artefakte beim jpg sind nicht so schlimm. Wenn man noch bissl am 70 oder 80% dreht, kann man das vielleicht noch etwas verbessern.

Falls du sowas für Dresden (Stadtgebiet oder dem nördlichen Wald Heide) machen kannst wäre ich dir sehr dankbar. Auch in der Version 10 bis 16 512 jpg. Bitte, bitte.
Wenn es maaloo dann mal kann mit dem digitalen Zoom, müsste man ja immer nur jede 2-te Zoomstufe in die Datei packen oder gar nur jede 3-te.

Interessant wird vielleicht noch, wie es mit Höhenlinien ist, die stören vielleicht den Pack-Algorithmus.
olimic
maaloo Developer
 
Beiträge: 527
Registriert: Sa 10. Nov 2012, 18:26
Wohnort: Dresden / Germany

Re: (Digital-) Zoom für .gemf Karten

Beitragvon Thorsten » Di 18. Aug 2015, 09:24

Schön, dass es dir gefällt ;-)
Mit der jeden 2. Zoomstufe reinpacken ist an sich eine schöne Idee - aber ich denke nicht wirklich effektiv!
Begründung: die kleinen Zoomstufen sind von der Kartengröße her vernachlässigbar - eigentlich geht's erst mit Stufe 15 los - ab 16 gut erkennbar und alles was danach kommt kostet wieder richtig Platz - denn hier soll der Digitalzoom ansetzen - ab Stufe 15/16 um die höheren Stufen 17-19 einzusparen.

Generell wäre es aber begrüßbar - weil ichs selbst schon getestet habe - das Outdoor eine Zoomstufe überspringt wenn diese überhaupt nicht in der Karte ist ;-) Erspart dann das Staunen über die Eieruhr-Tiles beim hin und her springen von z.Bsp 13 zu 15 - wenn 14 nicht vorhanden ist ;-)

So, hier erst mal deine gewünschte Karte mit Höhenlinien und Hillshading in 512 jpg Stufe 10-16:

http://www41.zippyshare.com/v/F0UQh1EA/file.html

Ich habe auch mal ein paar Testkartengerendert bezüglich deiner Bedenken dass die Komprimierung nicht mehr so gut greifen würde... stimmt quasi auch - aber vernachlässigbar - muss jeder für sich entscheiden ob er das möchte oder nicht.

Gleicher Kartenausschnitt wie obige Datei in den gleichen Zoomstufen:

Mit Höhenlinien und Hillshading: 176034 kb
Mit Hillshading ohne Höhenlinien: 168703 kb
Ohne Hillshading mit Höhenlinien: 177351 kb
Ohne Hillshading ohne Höhenlinien 146569 kb

Ich render gerade noch einmal Dresden mit Subpixel=3 Parameter - mal sehen ob du hier dann einen Unterschied erkennst... auf jeden Fall ist der Rechner beschäftigt ;-)
Thorsten
 
Beiträge: 196
Registriert: Di 11. Aug 2015, 09:18

Nächste

Zurück zu Verbesserungen / Vorschläge für maaloo Outdoor

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron