Verschlagwortet: OSMC:SYMBOLS theme HiLo
- AutorBeiträge
- August 26, 2016 um 12:34 Uhr #12195LocusUser1Teilnehmer
Hallo Christian,
vielen Dank für die neuen Tags der Wanderwegemarkierungen.
Ich habe das mal in mein Theme eingebaut und funktioniert auch soweit
Ich habe jetzt erstmal alles doppelt drin 1x für OAM, 1x für LoMaps.Ein Problem ist jetzt nur noch wie kann man feststellen wenn ein foreground verwendet wurde und trotzdem noch ein text angezeigt werden soll?
Es gibt wege da ist backgroung & foreground & text richtig und es gibt Wege da ist nur background & foreground richtig, der text würde das Symbol dann zerstören.Außerdem fällt hier wieder auf das man mit Mapsforge nicht 100% die Darstellung kontrollieren kann 🙁
grüße
FrankAugust 26, 2016 um 14:28 Uhr #12198LocusUser1TeilnehmerAugust 27, 2016 um 07:45 Uhr #12216ChristianKAdministratorHallo Frank,
Danke das Du die Symbole mit aufgenommen hast.
Zum E8: Der hat, als Hauptroute, eigentlich gar kein Symbol – auch in der Lonvia ist das so.
Hier die Relationen die ich in der NRW-Karte im Log gefunden habe (kann natürlich auch ein Bug sein):Line 2108: hiking:1175728:iwn:E8:European long distance path E8::::::::0 Line 3516: hiking:1675756:rwn:E8:Europäischer Fernwanderweg E8, Rheinland-Pfalz:yes:green:black::::green#black#E8#white:1 Line 3517: hiking:1675758:iwn:E8:Europäischer Fernwanderweg E8, Nordrhein-Westfalen:yes:green:black::E8:white:green#black##E8#white:2 Line 3517: hiking:1675758:iwn:E8:Europäischer Fernwanderweg E8, Nordrhein-Westfalen:yes:green:black::E8:white:green#black##E8#white:2 Line 4324: hiking:1981022:iwn:E8:European long distance path E8 - part Netherlands::::::::0 Line 4325: hiking:1981030:iwn:E8:Europäischer Fernwanderweg E8, Deutschland::::::::0
Wobei immer die höchste Relation gilt. Welche ID hat denn die red:white::E8:red Relation?
Es gibt wege da ist backgroung & foreground & text richtig und es gibt Wege da ist nur background & foreground richtig, der text würde das Symbol dann zerstören.
Einen TEXT validieren geht leider nicht, wenn da Blödsinn drinnen steht dann ist das leider so – wobei ich den :text: auf 4 Zeichen kürze womit das Ganze auch im Zweifelsfall harmlos ausgeht.
Prinzipiell habe ich mit alle Relationen mit dem OSMC:SYMBOL aus dem europe-latest rausgefiltert und den tag nach libre-office-calc übernommen und analysiert.
Das grösste Problem ist der :color: subtag, da stehen wirklich erstaunlliche Dinge drin, deswegen auch die validierung dieses sub:Tag. Wenn :color: und :background: richtig ist passt idR auch der Rest, Deswegen erlaube ich auch bei unkorrekten :foregrounds: die Anzeige des Symbols nur als Background und hoffe das sich jemand erbarmt der das Symbol in OSM repariertVG
ChristianAugust 27, 2016 um 18:43 Uhr #12222LocusUser1TeilnehmerHallo Christian,
du hast vollkomen recht, auf diesem Stück hat der E8 gar kein OSMC:SYMBOL Tag,
ich hab ein zufällig anderes Stück gefunden (ID=1385350) welches getagt ist und dachte das der Weg damit durchgängig getagt ist. Mein Fehler.Wie gesagt der rest funktioniert gut, nur das Text und foreground Symbol gleichzeitig angezeigt werden ist noch unschön. Könnte man nicht wenn background + foreground gleich sind den foreground auf „“ setzen.
z.B: osmc:symbol=red:black:black_rectangle:R:white würde dann zu osmc:symbol=red:black::white
(http://www.openstreetmap.org/relation/32563)grüße
FrankAugust 28, 2016 um 12:31 Uhr #12230ChristianKAdministratorz.B: osmc:symbol=red:black:black_rectangle:R:white würde dann zu osmc:symbol=red:black::white
(http://www.openstreetmap.org/relation/32563)Diese Route liegt „hinter“ dem E8 = wird vom E8 überdeckt.
In OAM werden nur die jeweils höchstwertigen Relationen angezeigt womit hier das Symbol von REL 32563 überhaupt nicht gerendert wird – das ist leider so.
Wenn die Render-Reihenfolge im Theme passt (background/foreground müssen in Locus genau umgekehrt wie in ORUX gerendert werden) muss red:black:black_rectangle:R:white korrekt angezeigt werden, also schwarzes Rechteck mit weisser Schrift.
Das man bei gleichen Symbolen das foreground weglassen kann ist eine gute Idee, spart Platz und ist gut für die Renderperformance. Ich werde das in einer weiteren Evolutionsstufe mit einbeziehen.
Nur – wie gesagt – funktionieren müsste das trotzdem.VG
ChristianAugust 29, 2016 um 12:34 Uhr #12257LocusUser1TeilnehmerJa funktioniert schon so du beschrieben hast,
mein Ziel ist es nur dort den text anzeigen zu lassen wo kein foreground ist, wenn du es so wie beschrieben umsetzen kannst wäre mein Ziel damit erreicht und wir hätten die maximal erreichbare optimale Darstellung.grüße
FrankAugust 29, 2016 um 12:44 Uhr #12260ChristianKAdministratornur dort den text anzeigen zu lassen wo kein foreground ist
Das ist mit Vorsicht zu handhaben.
In Österreich gibt es zB jede Menge Routen mit
color:red:white_bar:text:textcolor
also Rot-Weiß-Rot mit zB „601“ „604“ … als Text zur Unterscheidung
Wenn Du also nur bei Symbolen ohne Foreground den Text renderst dann hast Du unzählige Rot-Weiß-Rote Wegmarkierungen ohne echten Informationsgehalt.VG
ChristianAugust 29, 2016 um 13:42 Uhr #12262LocusUser1TeilnehmerAugust 29, 2016 um 19:10 Uhr #12271ChristianKAdministratorIst sicher auch eine gangbare Variante, keine Frage.
August 30, 2016 um 09:37 Uhr #12273TobiasAdministratorMit Text wird das Symbol dann für mich unleserlich, ich zeige die Wegenummern lieber neben dem Weg an.
Die sind leider nicht immer identisch mit dem OSMC name tags.
Developer of Elevate mapstyle
August 30, 2016 um 18:47 Uhr #12283ChristianKAdministratorDie sind leider nicht immer identisch mit dem OSMC name tags.
So ist es, im Anhang das Log der Hike-Relations von Alps und Germany.
Am besten mit LibreOfficeCalc öffnen,
– delimiter = „:“
– charset = UTF8Grüsse, Christian
August 30, 2016 um 19:07 Uhr #12287ChristianKAdministratorHier noch eine Info zur Verteilung der Symbole.
Anfangs hatte ich für jeden Weg 1 Symbol, gesetzt zwischen inneren Nodes des Weges.
Ergebnis ein Symbolewald = unbrauchbar und ein PerformancebremseDann jeder 2te Weg = Innerstädtisch OK, in den Bergen gibt es viele Wege mit 2-300 Nodes und hier nur jeder 2te Weg war zu wenig.
Dezeitige Lösung (wird gerade gerendert und hochgeladen):
- Wege mit weniger als 5 Nodes erhalten kein Symbol. Das trifft vor allen Querstrassen und Verbindungswege im innerstädtischen Bereich, hier herrscht nun IMO eine gute Balance.
- Jeder zweite Weg zwischen 5 und 25 Nodes erhält ein Symbol.
- Wege über 25 Nodes erhalten immer ein Symbol
.
IMO gibt das schon eine gute Verteilung der Symbole bei brauchbarer Performance am Smartphone.
Das läßt sich in Zukunft, im Rahmen der Versionspflege, noch weiter Ausbauen – zB mehrere Symbole für lange Wege mit > 100 Nodes.
So in etwa: Symbolanzahl = int(nodes/50)+1Grüße, Christian
August 30, 2016 um 19:20 Uhr #12289TobiasAdministratorHallo Christian,
das klingt nach einer guten Idee, im Moment find ich es auch eher zuviel, auch mit den normalen refs der Wanderrouten. Dazu hab ich auch eine Idee – lassen die sich an die OSMC-nodes vererben, und lassen sich auch für alle Routen ohne OSMC auch entsprechende nodes berechnen? Dann könnte man bei OSMC-Routen deren names anzeigen, und bei nicht-OSMC die Routen-Refs.
Viele Grüße,
TobiasDeveloper of Elevate mapstyle
August 30, 2016 um 20:18 Uhr #12295ChristianKAdministratorDie Idee ist bestechend, ich denk darüber nach.
Was sicher geht ist die routen_ref in den „name“ tag des symbols zu schreiben wenn keine :text: portion vorhanden ist. Nur ist das heikel da oft in den OSMC:Symbols kein text vorgesehen ist weil auf den Symbols manchmal halt‘ auch einfach keiner hingehört.
Extra Label-Nodes zu fabrizieren wenn überhaupt kein OSMC:Symbol vorhanden ist….
… sollte gehen.
Im Prinzip macht das Sarah mit der Lonvia/Waymarkedtrails so.
Die Frage ist wie man dann die Farbgestaltung der Labels macht, wenn Du gemäss iwn..lwn codierung arbeitest brauchst Du in diesen LabelNodes auch das „Network“ und würdest mit 4 svg’s das Auslangen finden.Was langsam eine Notwendigkeit wäre: Ein „rectangle“ in der ThemeXSD, wie IMO bei Locus vorhanden – mit Farbcodierung der Fläche/des Randes
Ich probier das Ende September mal aus, ev.beschränkt auf IWN/NWN ??
Grund: es sind jetzt schon 94138 OSMC-Nodes in der Alps, mit den ref-labels wird das noch um einiges mehr.VG
ChristianAugust 30, 2016 um 22:54 Uhr #12302TobiasAdministratorHallo Christian,
danke für’s Nachdenken!Umgekehrt würde es auch gehen, wenn an den normalen Routen-ways auch ein osmc=osmc_yes (oder osmc=name_yes) hängen würde. Dann könnte ich die refs ausblenden, wenn OSMC vorhanden ist, und da entweder den Name oder den aus der Routen übernommen ref anzeigen.
Ich würde den ref nicht in dem name-tag der OSMC-nodes schreiben, da man den ggf. anders darstellen will, einfach als ref belassen ist da einfacher.Ich find nur die Sache mit den Nodes eleganter, da sowohl caption als auch pathText für ways problematischer als caption an (wie von Dir oben beschrieben) reduzierten Punkten das alte Problem der schlecht findbaren refs für Routen löst.
Die Farbgestaltung der Labels ist nicht so wichtig, das ist nur das Zuckerl. Es geht auch was neutrales, hatte ich früher auch.
Ein beliebiger Hintergrund geht schon in mapsforge, aber leider nicht so zuverlässig wie im Locus Fork, da es dort direkt an den Text gebunden ist.Zu der Node-Menge: so weit ich das mitgekriegt habe sind nodes im Vergleich zu ways harmloser, daher wäre es einen Versuch wert. Eine Andersbehandlung von IWN/NWN im Vergleich zu RWN/LWN ist schwierig, da das dann weiterhin zu unterschiedlicher Darstellung führt. Dann lieber an den normalen Routen-ways osmc=osmc_yes vermerken.
Viele Grüße,
TobiasDeveloper of Elevate mapstyle
- AutorBeiträge
- Sie müssen angemeldet sein, um zu diesem Thema eine Antwort verfassen zu können.