QGIS Verkeersborden style

Tijdens de FOSS4G BE+NL 2024 heb ik afgelopen vrijdag een QGIS-stijl voor verkeersborden van het NDW ontwikkeld. Tijdens de codesprint hebben verschillende mensen geholpen om het werkend te krijgen. De dataset bevat ook svg-bestanden van bijna alle Nederlandse verkeersborden. Hartelijk dank aan iedereen voor hun inzet en ondersteuning! Het resultaat is sinds vandaag beschikbaar op GitHub: QGIS Verkeersborden Style.

Tot nu toe is het nog niet gelukt om de snelheid in de SVG van het verkeersbord afhankelijk te maken van de variabele ‘blackCode’ (zoals 30 km/h) in de dataset. Dit is beschreven in de documentatie op QGIS Symbol Selector onder het kopje “Parametrizable SVG”.

Naast deze punten zijn er ongetwijfeld meer verbeteringen mogelijk. Voel je vrij om de repository te fork’en of feedback te geven in dit topic!

4 likes

Klas Karlsson schreef recent ook over parametrized svg’s, op zijn blog. Toen dacht ik nog dat het niet zo vaak toepasbaar zou zijn, tot ik dit topic las :slight_smile:

https://geosupportsystem-se.translate.goog/2024/09/06/parameterstyrd-svg-i-qgis/?_x_tr_sl=sv&_x_tr_tl=en&_x_tr_hl=en

@Anton
Dank voor de verwijzing. Deze uit het Zweeds vertaalde uitleg helpt om het werkend te krijgen.
In het voorbeeld wordt de status van het bord geplot (‘Placed’).

De basis werkt.

1 like

Mocht er iemand zijn die mij een snelcursus svg aanpassen willen geven, stuur me dan even een PM:

  1. ik zou graag willen centreren
  2. lettergrote willen aanpassen aan de tekstlengte, vooral handig voor bebouwde kom borden
  3. SVG willen spiegelen (zoals bord D5 )

Wat tips uit de losse pols:

  1. Blader even door SVG Tutorial :slight_smile:
  2. Bij opslaan van een SVG vanuit Inkscape (of andere programma’s) opslaan als “normal SVG” of zelfs “optimized SVG”. Dan wordt je SVG ontdaan van allerlei overtollige Inkscape-specifieke info.
  3. Het SVG-“text”-element kent een “textLength” die je kunt instellen op een vaste lengthe (in pixels, points etc.) of op een percentage
  4. Verticale uitlijning lukt me nog niet; suggesties welkom
  5. De A1-SVG (en andere ronde borden) die je hebt gemaakt komen me wat complex voor, met een transform en een path. Dit:
    <circle id="witte cirkel met rode rand" cx="50" cy="50" r="30" fill="param(fill)" stroke="#ff0000" stroke-width="10pt"/>
    zou voldoende moeten zijn om een cirkel te tekenen.