NL style sheets, o.a. Verkeerborden in Josm etc.

De BB01 “nieuwe stijl” is ook aangemaakt, zoals op de foto van Jan te zien is.
Zie eigenlijk enkel nog maar deze borden staan met rechte pijl ipv schuin. Bovendien is rechte pijl gemakkelijker te maken dan een schuine :wink:

Als aan het stylesheet toegevoegd wordt:

node[traffic_sign^=“NL”][direction]
{
icon-rotation: eval(degree_to_radians(tag(direction)));
}

dan kun je de borden eventueel exact richten door een tag ‘direction’ toe te voegen en een getal voor aantal graden.

Vereist JOSM 8260 of nieuwer.

@HenkL
Is wel leuk, dus ik heb het toegevoegd. Ben er nou enkel niet over uit of het handig is aangezien de gebruiker achter het scherm de borden het best herkent als deze gewoon recht getoond worden.

JOSM cached de mapcss, dus als je niet direct resultaat ziet moet je handmatig even je cache leegmaken (in Windows: C:\Users<gebruiker>\AppData\Local\JOSM\cache).

Ale je wilt dat de borden gewoon recht blijven staan kun je via de map paint style setting (rechtsklik op de style en dan onder Style settings) dit gedrag uitzetten.

HenkL en of Sander H,
Hoe moet ik de graden bij bijv. "traffic_sign=NL:BB01 "
er bij zetten om deze in goede richting te krijgen?

Mvrgr. Jan.

Jan, Zie http://wiki.openstreetmap.org/wiki/Key:direction voor het gebruik van de direction tag.
Ik kreeg waarden als east, E, southwest, NE en dergelijke niet aan de praat, terwijl JOSM dat wel zou moeten snappen (3 letter richtingen werken sowieso niet). Numerieke waarden van 0 t/m 359 werken wel.

Sander, Ik begrijp niet wat ik doen moet.
Wil je eventueel eens kijken naar deze locatie http://mijndev.openstreetmap.nl/~ligfietser/fiets/?map=route&zoom=16&lat=51.48367&lon=3.82098&layers=B00000FFFFFFFFFFFFFFF om in JosM bij de 2 borden BB01 de juiste tag te zetten om de borden in de juiste richting te krijgen.
Bij voorbaat dank.
Mvrgr. Jan.

Het bord selecteren, dan bij tags kiezen voor toevoegen: sleutel ‘direction’ en waarde bv. ‘90’ (aanhalingstekens niet typen).
De waarden zijn graden en kunnen lopen van 0-359; ook negatieve waarden mogen, zoals -90.

Als je niet direct resultaat ziet, dan eerst even de ‘cache’ van JOSM leegmaken (zie post 29).

http://gk.historic.place/historische_objekte/translate/nl/index-nl.html?zoom=18&lat=51.48334&lon=3.81874&detail=2
Rechts boven + , zijscherm openen, bedieningselementen, kompasroos aanzetten.

Zo’n roos zouden we in JOSM moeten hebben om inschatting van graden te maken.

Dat bord in rijrichting naar het oosten zou dan ergens 82 graden zijn. Kijkrichting haaks op het bord.

Altrnatief om graden op te zoeken.
In Josm, tekenen, node maken, en rode lijn trekken naar volgende node, dan zie ondertussen, links onderaan zie je de graden verschijnen.

Ik heb de direction=82 en op andere plaatsen een paar andere graden toegevoegd.

Hoe lang kan het duren voordat het zichtbaar is.

Wat moet uit de cache verwijderd worden? er staat zoveel in.
De eerste 2 bestanden heb ik verwijderd.

Ik zie nog geen reactie.
Of doe ik iets niet goed.
Mvrgr Jan.

Ik zie net dat het nu direct prima werkt.
@Allroads de rode lijn werkt gemakkelijk.
Ieder bedankt voor de hulp.

Mvrgr Jan

Is het mogelijk de U-borden #25 ook zichtbaar te maken.
Dit in verband met de uitwijkroutes.

Mvrgr Jan.

Direction and traffic_sign

http://overpass-turbo.eu/s/cma uitvoeren drukken

Generieke (Uxx) plaatjes voor uitwijkroutes zijn gemaakt voor alle 10 de richtingen.
Wil eigenlijk nog even de mapcss aanpassen om de (Uxx) uit de naamgeving te slopen, maar dat wil nog niet echt lukken.

Op de mapcss wiki staat een regex voorbeeld en dat werkt best, maar een iets complexere regex lijkt ie niet te pakken.


*[traffic_sign =~ /.*\(.*\)/]
{
/* named groups lijkt sowieso niet te werken, maar geeft even het idee van de opsplitsing weer
 _match: regexp_match("((?<country>[a-zA-Z]+)(?:[:])(?<category>[a-zA-Z]+)(?:[0]?)(?<number>[0-9a-zA-Z-]+)(?:\()(?<suffix>.*?)(?:\)))", tag("traffic_sign")); 
dus dan maar zonder:*/
_match: regexp_match("((?[a-zA-Z]+)(?:[:])(?[a-zA-Z]+)(?:[0]?)(?[0-9a-zA-Z-]+)(?:\()(?.*?)(?:\)))", tag("traffic_sign"));

text: concat(get(prop("_match"),1), "::", get(prop("_match"),2));
}

maar de _match lijkt leeg te blijven, want ik krijg iig niks terug in de tekst bij een tag: traffic_sign=NL:BW207-B(U25) die uiteindelijk dus iets van http://…/NL_BW207-B.svg moet opleveren.

PS: Die text is even om te proberen voordat ik er een icon-image url van maak. Zo zie je tenminste gelijk resultaat in JOSM van de probeersels.

Iemand een ingeving?

Ik weet vrijwel niets van regex, maar in dit geval kun je dat volgens mij vermijden via iets als:

node[traffic_sign$=“(U25)”]
{
icon-image: eval(concat(“http://duinoord.home.xs4all.nl/OSM/JOSM/NL_traffic_signs/traffic_signs/NL/”, replace(replace(tag(traffic_sign),“(U25)”, “”),“:”, “_”), “.svg”));
}

Maar je hebt ook nog U01 t/U99 volgens de wiki: http://wiki.openstreetmap.org/wiki/WikiProject_Netherlands/Uitwijkroute, dus dat worden dan 100 nested replaces en ik wil het netter doen dan hele opsommingen op te lepelen…

OK, nieuwe poging:

node[traffic_sign*=“(U”]
{
_temp1: split(“(U”, tag(traffic_sign));
_temp2: get(prop(_temp1), 0);
_temp3: replace(prop(temp2), “:”, "");
_temp4: concat(“http://duinoord.home.xs4all.nl/OSM/JOSM/NL_traffic_signs/traffic_signs/NL/”, prop(_temp3), “.svg”);
icon-image: eval(prop(_temp4));
}

Maar even stap voor stap gedaan, vergemakkelijkt tussentijdse controle. Stappen samenvoegen kan altijd nog.

OK, verdient geen schoonheidsprijs, maar het werkt wel en uiteindelijk gaat het daar om :smiley:
Een nieuwe versie van de mapcss staat online.

Sander H,
Kan ik met die nieuwe versie van mapcss al iets?
Zo ja, hoe vind ik die.

Mvrgr Jan

http://duinoord.home.xs4all.nl/OSM/JOSM/NL_traffic_signs/Styles_Traffic_signs-style.mapcss
Even rechtsklikken, koppelingslocatie kopiëren, dan heb je de link, die je in JOSM kunt gebruiken.

Bedankt voor de info.

Maar er komen alleen witte vierkante vlakjes in plaats van de afbeeldingen.

Mvrgr Jan.