Treinradar

Een demonstratie van live geodata

De treinradar toont een implementatie van live geodata. Het toont de actuele posities van alle treinen van Nederlandse Spoorwegen. De naam van deze demo is een knipoog naar het welbekende Flightradar24. Andere soortgelijke diensten tonen bijvoorbeelde de posities van schepen. De databron voor treinradar is het het NDOV Loket, een organisatie die zoveel mogelijk informatie over het openbaar vervoer in Nederland als open data beschikbaar stelt.

Voorbeeld treinradar

Structuur treinradar

De frontend van treinradar maakt gebruik van de Geoloep Geoviewer. De stream met actuele treinposities heeft niet een formaat dat rechtstreeks kan worden ingelezen. Dankzij de modulaire opzet van de viewer kan daar gelukkig eenvoudig een nieuwe bouwsteen voor worden gemaakt. Om de overhead bij het doorgeven van alle treinpositie's laag te houden wordt hierbij gebruik gemaakt van een websocket. Een techniek gegevens actief naar een webapplicatie worden gestuurd.

Attribuutinformatie wordt niet bij elke positieupdate meegestuurd. Zodra je op een trein klikt wordt die opgevraagd bij een wfs webservice die draait op een geoserver installatie. Samen met de websocket wordt deze tweede databron door dezelfde backend gevoed.

Net als op Flighradar wordt ook op treinradar het pad dat een trein heeft afgelegd getoond. De symbologie van dat pad geeft in dit geval natuurlijk niet de hoogte van het voertuig aan, maar in plaats daarvan de snelheid. Bij elke treinupdate wordt een lijn getrokken tussen tussen de laatst bekende en huidige positie van de trein. Die lijn wordt samen met de snelheid over dat traject opgeslagen in een PostGIS-database en opnieuw via geoserver en het wfs-protocol beschikbaar gesteld voor de frontend.