Überarbeitung von TMC / TPEG

In erster Linie aus Performancegründen ist meine TMC-Anwendung nun auf den OSM-Dev-Server umgezogen und läuft dort gleich wesentlich flüssiger (was sich vor allem bei langen Strecken wie der A 2 und A 7 bemerkbar macht). Hier ist die neue Adresse:

http://mhohmann.dev.openstreetmap.org/tmc/TMC.html

Als nächstes geplant ist eine Web-API, die RDS-Daten in einem geeigneten Rohformat nimmt, wie es z.B. aus einem RDS-Empfänger kommt, und daraus dann die TMC-Meldungen extrahiert, um sie z.B. auf einer Online-Karte anzuzeigen, oder die dann einfach die betroffenen OSM-Objekte liefert.

Das Erfassen von TMC-Punkten geht inzwischen auch einigermaßen voran, auch wenn es naturgemäß Zeit in Anspruch nimmt. Aber die Daten so nutzen zu können ist ja immer eine gute Motivation :wink:

Auf dem Dev-Server gibt es nun eine kleine Demo-Anwendung zur Decodierung von TMC-Meldungen und ihrer Lokalisierung mittels der in OSM gemappten Daten. Bisher ist sie noch sehr arm an Features (mehr ein “proof of concept”), wird aber noch ausgebaut. Ideen und Vorschläge sind natürlich immer gerne gesehen. Den Quelltext dazu gibt es auch, ebenso den Quelltext zum TMC Viewer.

Zunächst einmal gibt es einen RDS-Parser. Diesen kann man mit RDS-Datengruppen füttern - eine Datengruppe hat 4 Blöcke zu je 16 Bit. Angeben kann man die Daten z.B. im Hex-Format, eine Gruppe pro Zeile. Leerzeichen spielen keine Rolle. Das kann also z.B. so aussehen:

d321 4401 bb9f 3ec0
d321 8408 0865 27d5

Alternativ kann man auch eine Datei hochladen, auch andere Formate sind möglich. Als Ergebnis bekommt man dann eine Liste von decodierten RDS-Daten. Ausgewertet werden hier die Gruppen 4A (Zeitangabe) und 8A (TMC-Daten). Im Beispiel oben ist die erste Gruppe eine Zeitangabe und die zweite entspricht einer kompletten (Single Group) TMC-Meldung. Die Daten werden als Tabelle angezeigt. Die Zeitstempel werden benutzt, um festzustellen, wann genau eine Meldung empfangen wurde, da die Zeitangaben in der Meldung relativ zu diesem Zeitpunkt sind.

Klickt man nun auf den Event-Code (erste Spalte) einer Meldung, erhält man die decodierte Meldung - alle Daten in lesbare Form übersetzt und interpretiert. Im Beispiel werden sie auch auf der Karte angezeigt. Das ist allerdings noch nicht für alle Events implementiert (tatsächlich habe ich es im Moment nur für Code 101 = “stationary traffic” aktiviert), daran arbeite ich noch. (Man möchte ja auch z.B. Ein- und Ausfahrten oder Parkplätze finden.) Natürlich klappt das auch nur da, wo schon etwas nach dem neuen TMC-Schema gemappt ist - so z.B. für Stau in der Gegenrichtung.

Als nächstes werde ich das für weitere Events aktivieren und dann auch noch etwas hübscher machen, z.B. mit verschiedenen Farben für Staus, Baustellen, Unfälle…

EDIT: Inzwischen ist das für alle Events und mehrfarbig implementiert!

Dieser 11-seitige Faden wird langsam etwas unhandlich, zumal hier auch sehr viele technische Informationen vergraben sind.

was hier irgendwie zu kurz kommt, bzw. untergeht:

Wie sollen denn die TMC-Locations gemappt werden?
Muss sich jeder, der hier den einen oder anderen TMC-Punkt mappen will, die TMC-Liste selbst besorgen, oder ist die bereits irgendwo für OSM-Members-verlinkt?
Verbleiben die Version 9 Daten in der Datenbank oder sollen sie durch die v13 - Daten ersetzt werden oder läuft das alles parallel?

Wie schon gesagt, etwas unübersichtlich das Ganze und manchmal etwas viel Prosa.

Vieleicht sollte auf dem Eingangspost eine Art von Zusammenfassung erscheinen, mit Proposal-Links oder allem was dem Mappen zweckdienlich ist. Diese Zusammenfassung sollte dann auch aktualisiert werden.
Oder das ganze gleich in einen Wiki-Artikel hinterlegen…

Bis da noch etwas mehr Stuktur reinkommt, bleibt mir nichts anderes übrig, als das TMC-Mapping mangels Durchblick zu ignorieren.

Ja, da hast du leider Recht.

Die Liste mit den TMC-Punkten findest du für OSM-Members / Mapper aufbearbeitet im TMC-Viewer:
http://mhohmann.dev.openstreetmap.org/tmc/TMC.html
Dort sind die kompletten Location Code Tabellen für 8 Länder hinterlegt, auch für Deutschland. Für das Mappen gibt es dort auch fertige Tools, d.h. du kannst die Daten z.B. direkt in JOSM oder Merkaartor importieren, mittels der Remote-Control-Funktion. Außerdem wird angezeigt, ob die Daten schon gemappt sind.

Derzeit bleiben die Version 9 Daten noch in der Datenbank, weil sie noch (u.a. vom BR für seine Staumeldewebseite) genutzt werden. Erst wenn die Version 13 Daten weit genug gemappt sind und man sich auch dort auf die neuen Daten eingerichtet hat, die alten also nicht mehr genutzt werden, kann da etwas gelöscht werden, aber nicht vorher.

Ja, das ist eine gute Idee. Das hatte ich mir auch schon überlegt, der Eingangspost stammt ja von wambacher, und wenn wir ihn dazu motivieren könnten, wäre das eine tolle Sache. Zumindest ein fetter Link zum Wiki in der Form “hier gibt es alles wichtige” wäre gut, dann kann man alles weitere dort hinterlegen.

Das ist die beste Lösung. Etwas habe ich ja schon eingebaut, siehe dazu:
http://wiki.openstreetmap.org/wiki/TMC

Wer Struktur möchte, der soll Struktur bekommen :wink: Ich werde auf jeden Fall mal die Proposals und wichtigen Wiki-Seiten, die es bisher schon zu TMC gibt, auf obiger TMC-Wiki-Hauptseite verlinken.

Edit: So, jetzt sieht die Wiki-Seite doch schon übersichtlicher und hilfreicher aus.
@wambacher: Könntest du die bitte im Eingangspost verlinken, mit einem dicken fetten “Hier gibt es die Infos zu TMC und alles wichtige zum Mappen von TMC aus diesem Thread kompakt im Wiki.” oder so ähnlich? Danke!

Update zum RDS-Parser: Unter http://mhohmann.dev.openstreetmap.org/rds/RDS.html kann man jetzt RDS-Daten in verschiedenen Formaten eingeben, entweder per Copy & Paste, als URL oder als Datei. Außerdem kann man angeben, welche Location Code Tabelle benutzt werden soll, um die Location Codes zuzuordnen.

Hier mal ein Beispiel aus Frankreich:
http://mhohmann.dev.openstreetmap.org/rds/rdsparse.php?cid=16&tabcd=32&format=byte&input=url&url=http://rds-surveyor.sourceforge.net/samples/rds/20091120_Autoroute_Info.rds

Außerdem erkennt der TMC-Message-Decoder jetzt deutlich mehr Event-Codes und färbt die Meldungen auf der Karte auch danach ein:
http://mhohmann.dev.openstreetmap.org/rds/tmcmsgmap.php?ecd=1584&lcd=10517&ext=4&dir=1&div=0&dur=0&time=1399404060

Habe mich innerhalb meines Großraumes mal ein bisschen durch die Liste geklickt, und mit der Suchfunktion gespielt…

kann es sein, das die

Liste rechtschreibtechnisch Fehler enthält ?

http://mhohmann.dev.openstreetmap.org/tmc/tmcview.php?cid=58&tabcd=1&lcd=32409

Hier lese ich Lainburg, muss aber 100%ig Leinburg heissen…

Ja, das kann gut sein, ich bin auch schon über einige gestolpert. Das sind offenbar Rechtschreibfehler in den Daten vom BASt. Teilweise sind die Koordinaten auch etwas weiter weg als sie sein sollten - da muss man dann die richtige Stelle zuerst suchen…

In OSM ist auch Leinburg drin.

Finnland hat eine neue Location Code Liste (Version 2.1) herausgegeben - die Daten sind auch schon im TMC-Viewer importiert.

Da mich KonB darauf aufmerksam gemacht hat, dass die Dokumentation im Wiki dem Tagging etwas hinterherhinkt, habe ich mich mal daran gemacht, das etwas aufzuarbeiten. Auf der tmc:point-Wikiseite habe ich jetzt einen Abschnitt mit Beispielen angelegt. Da kann ich sicher noch weitere Beispiele einbauen (Kreisverkehr, Rastplatz?). Insbesondere ging es um die Frage, dass im Wiki bisher nur vom Erfassen von Nodes die Rede war, dass die derzeit gemappten TMC-Relationen aber auch Ways enthalten und dass letzteres bisher nicht dokumentiert war. Das sei hiermit nachgeholt - danke nochmal für den Hinweis!

Vieleicht sollte man das mal als Wochen/Monatsaufgabe vorschlagen, damit da mal was vorwärts geht…

Ja, das wäre eine Idee. Ich komme leider in letzter Zeit generell wenig zum mappen, schaue aber regelmäßig in http://mhohmann.dev.openstreetmap.org/tmc/points_stats.html und http://mhohmann.dev.openstreetmap.org/tmc/links_stats.html rein und fixe Bugs, wenn ich dort welche finde. Vor ein paar Wochen war ich in Finnland, habe dort ein wenig gemappt und mit einem USB-Radioempfänger + SDR (“software defined radio”, d.h. Demodulation erfolgt per Software im Computer) das RDS-Signal rausgesucht und darin auch TMC-Meldungen gefunden. Die Location Codes sind in Finnland zwar verschlüsselt, aber die Schlüssel kann man mehr oder weniger “raten”, wenn man genug Daten hat. Ziel dieser Aktion war aber vor allem, den Empfang von RDS- und insbesondere TMC-Daten in der Praxis zu testen. Die Sender in Estland haben zwar auch RDS, aber eben kein TMC.

Ich werde auch noch mal mit dem BR Kontakt aufnehmen und dort anfragen, ob man ein paar Live-Daten für eine Demo bereitstellen könnte, um zu schauen, wie es mit den bisher in Bayern gemappten Daten aussehen würde / könnte. Ein paar Autobahnen (auf die beziehen sich ja die meisten Meldungen) haben wir dort ja schon drin. Es ist immer eine gute Motivation, wenn man Fortschritte auch sehen kann. Die Daten könnte man z.B. in meinen RDS-TMC-Web-Viewer packen und dürfte dann Staumeldungen auf der Karte sehen, sofern die TMC Locations schon gemappt sind.

Seit dem letzten Post hat der RDS-TMC-Viewer einige Updates erhalten. Inzwischen beherrscht er alle Event Codes, zeigt Meldungen je nach Schwere des Problems in anderer Farbe an, frisst andere Datentypen als Eingabe und hat ein paar Bugs weniger. Siehe auch die History bei GitHub.

nö, ich würde das ganz sanft einschlafen lassen.

duck & weg
walter

Du hast hier schon mehr als einmal deine Meinung dazu kundgetan und mitgeteilt was du tun würdest. Das hilft aber in keiner Weise bei dem hier diskutierten Projekt, weshalb solche Beiträge wie deiner von oben nur als Spam und Störung des Diskussionsverlaufs zu werten sind.

Das ist der einzige sinnvolle und positive Teil deines Beitrags.

Jo, stimmt.

Herrscht hier Meinungsverbot? Oder lässt du nur Meinungen durchgehen, die dir in den Kram passen?

Nun denn, schaun 'mer mal. Ich halt mich mal wieder einige Monate raus.

Gruss
walter

Es ist nichts verboten, sondern nur hinderlich, wenn jemand das Thema einer Diskussion dadurch stört, dass er mehrfach den gleichen kontraproduktiven Inhalt wiederholt. Der wurde schon beim ersten Mal gelesen, ihn noch weiter zu propagieren bringt niemandem etwas.

Ich poste auch nicht in deinen Threads zum Thema Residentials Map, dass das Mappen von Ortsschildern doch irrelevanter Unfug ist und man solche Sachen wie die Auswertung dessen sterben lassen sollte, und das nicht obwohl, sondern gerade weil es mir schlichtweg egal ist, wenn jemand seine Zeit mit so einem Thema verbringen will oder nicht. Wer sich an diesem Thread aktiv beteiligt, verbringt seine Zeit eben mit TMC und der Nutzung von OSM in Verbindung mit Verkehrsmeldungen, und dessen Nutzen ist mir persönlich eher ersichtlich als der von Ortsschildern.

Du kannst gerne zur Diskussion beitragen, wenn du etwas hilfreiches dazu beizutragen hast - egal ob das nun heute, nächste Woche oder in ein paar Monaten sein soll. Das muss nichts sein, dass mit meiner Meinung übereinstimmt, wir sind hier schließlich keine Diktatur, es sollte nur konstruktiv sein und kein “Lasst euren Mist doch sein”, wie in deinen letzten Beiträgen hier. Wenn das dagegen eine Ankündigung sein soll, in ein paar Monaten wieder den gleichen Spam zu posten, dann kannst du es auch gleich endgültig sein lassen und dich komplett raushalten, damit würdest du dann ebenfalls helfen.

Hier mal zwischendurch eine kleine Overpass-Query, die den aktuellen Status des TMC-Mappings innerhalb des gewählten Bildschirmausschnitts zeigt:
http://overpass-turbo.eu/s/5HU
Für ganz Deutschland bekommt man da 30MB an Daten, da man einige Autobahnen komplett bekommt. Die reinen TMC-Relationen nehmen natürlich viel weniger Platz in Anspruch (aber ohne ihre Member sieht man eben nichts auf der Karte).

Wegen eines Rollbacks der Overpass-API sind obige Overpass-Abfrage sowie die Auswertungen unter http://mhohmann.dev.openstreetmap.org/tmc/points_stats.html und http://mhohmann.dev.openstreetmap.org/tmc/links_stats.html derzeit nicht aktuell, sondern auf dem Stand vom 22. Oktober, werden aber wieder auf den neusten Stand gebracht.

da ergibt sich aber dann das Problem, dass in den Statusauswertungen z.B.
http://mhohmann.dev.openstreetmap.org/tmc/tmcroads.php?cid=58&tabcd=1&lcd=7159
es so erscheint, als wären die link u. point-relationen noch nicht angelegt.
das kann dann unter Umständen zu doppelten Relationen führen, bis das Problem beseitigt ist…

Stimmt, guter Punkt. Ich habe den Overpass-Server in meinen Abfrage-Skripten auf die Instanz http://api.openstreetmap.fr/oapi/ umgestellt, die von dem Rollback nicht betroffen ist. Jetzt sollten alle TMC-Skripte wieder aktuelle Daten anzeigen. Die Auswertung ist jetzt auch wieder auf dem neuesten Stand, ich habe sie gerade einmal durchlaufen lassen.

Heute Abend habe ich die aktuelle TMC Location Code Tabelle 2.9 für Belgien bekommen und auch gleich in die Datenbank übernommen. Dabei habe ich auch gleich Italien auf die neueste Version 3.3 gebracht.