Home
Softono
osm-traffic-sign-tool

osm-traffic-sign-tool

Open source TypeScript
32
Stars
7
Forks
41
Issues
3
Watchers
1 week
Last Commit

About osm-traffic-sign-tool

osm-traffic-sign-tool is a proof of concept web application that helps OpenStreetMap contributors select the correct trafficsign tag for a location and suggests complementary tags for the road where the sign applies. It includes an interactive website where users can browse and combine traffic signs using country-prefixed sign IDs with optional encoded values such as speed limits or time restrictions, and preview the resulting tags. A companion traffic sign converter package provides functionality for converting traffic sign IDs to OSM tags and suggesting a trafficsign tag based on existing OSM tags. The project, licensed under GNU AGPLv3, was originally developed for German signs and demonstrates a workflow for both fundamental and modifier signs, including combinations like no-entry exceptions combined with weight or time restrictions. It also offers tooling scripts for adding new signs with images and integrates with Netlify for branch previews and Cursor-based QA automation through GitHub Actions.

Platforms

Web Self-hosted

Languages

TypeScript

OSM Traffic Sign Tools

App: Traffic Sign Tool

Website to compile traffic signs and recieve OpenStreetMap tagging recommendations.

README – Learn more…

Package: Traffic Sign Converter

Convert traffic sign IDs to OSM tags; suggest a traffic_sign-tag based on OSM tags.

README – Learn more…

Helper: Data

Licence: GNU AGPLv3

LICENCELearn more on choosealicense.com

Glossar

Traffic Sign Tag Examples:

Glossar:

  • traffic_signOSM KeyWiki
  • DECountry prefix – Each main sign has a country code. Modifier signs get one when they stand alone.
  • 274, 244.1, 1022-10Sign ID – The official sign number/identifier.
  • 274[60], 1040-30[16-18], 244.1, 1022-10OSM Sign Value Part – The Sign ID together with encoded values.
  • 60 (km/h), 16-18 (h) – OSM Sign Value – The encoded value of the sign

Workflows

Adding a sign with new image

Run bun script-new-data.ts from the root folder to update the svgs, data and run the app.

Alternatively, the script lists the separate commands

LLM Cloud Workflows

  • Branch previews are generated with Netlify. Admin UI
  • QA pages → Cursor automation — GitHub issues from QA pages (cursor-qa and per-page labels) trigger a Cursor cloud agent via GitHub Actions