Skip to content

Instantly share code, notes, and snippets.

@fwrite
Last active December 27, 2015 20:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fwrite/7383273 to your computer and use it in GitHub Desktop.
Save fwrite/7383273 to your computer and use it in GitHub Desktop.
Example DVS (Dynamische Vertrekstaat) as acquired from the NDOV.
<ns0:PutReisInformatieBoodschapIn xmlns:ns0="urn:ndov:cdm:trein:reisinformatie:messages:3">
<ns1:ReisInformatieProductDVS xmlns:ns1="urn:ndov:cdm:trein:reisinformatie:data:2" Versie="6.2" TimeStamp="2013-11-09T08:08:13.695Z">
<ns1:RIPAdministratie>
<ns1:ReisInformatieProductID>1311090908132300001</ns1:ReisInformatieProductID>
<ns1:AbonnementId>54</ns1:AbonnementId>
<ns1:ReisInformatieTijdstip>2013-11-09T08:12:00Z</ns1:ReisInformatieTijdstip>
</ns1:RIPAdministratie>
<ns1:DynamischeVertrekStaat>
<ns1:RitId>3031</ns1:RitId>
<ns1:RitDatum>2013-11-09</ns1:RitDatum>
<ns1:RitStation>
<ns1:StationCode>ASS</ns1:StationCode>
<ns1:Type>5</ns1:Type>
<ns1:KorteNaam>Sloterdijk</ns1:KorteNaam>
<ns1:MiddelNaam>Sloterdijk</ns1:MiddelNaam>
<ns1:LangeNaam>Amsterdam Sloterdijk</ns1:LangeNaam>
<ns1:UICCode>8400059</ns1:UICCode>
</ns1:RitStation>
<ns1:Trein>
<ns1:TreinNummer>3031</ns1:TreinNummer>
<ns1:TreinSoort Code="IC">Intercity</ns1:TreinSoort>
<ns1:TreinFormule>3</ns1:TreinFormule>
<ns1:TreinStatus>2</ns1:TreinStatus>
<ns1:Vervoerder>NS</ns1:Vervoerder>
<ns1:Reserveren>N</ns1:Reserveren>
<ns1:Toeslag>N</ns1:Toeslag>
<ns1:NietInstappen>N</ns1:NietInstappen>
<ns1:AchterBlijvenAchtersteTreinDeel>N</ns1:AchterBlijvenAchtersteTreinDeel>
<ns1:RangeerBeweging>N</ns1:RangeerBeweging>
<ns1:SpeciaalKaartje>N</ns1:SpeciaalKaartje>
<ns1:TreinEindBestemming InfoStatus="Gepland">
<ns1:StationCode>NM</ns1:StationCode>
<ns1:Type>5</ns1:Type>
<ns1:KorteNaam>Nijmegen</ns1:KorteNaam>
<ns1:MiddelNaam>Nijmegen</ns1:MiddelNaam>
<ns1:LangeNaam>Nijmegen</ns1:LangeNaam>
<ns1:UICCode>8400470</ns1:UICCode>
</ns1:TreinEindBestemming>
<ns1:TreinEindBestemming InfoStatus="Actueel">
<ns1:StationCode>UT</ns1:StationCode>
<ns1:Type>6</ns1:Type>
<ns1:KorteNaam>Utrecht C</ns1:KorteNaam>
<ns1:MiddelNaam>Utrecht C.</ns1:MiddelNaam>
<ns1:LangeNaam>Utrecht Centraal</ns1:LangeNaam>
<ns1:UICCode>8400621</ns1:UICCode>
</ns1:TreinEindBestemming>
<ns1:VertrekTijd InfoStatus="Gepland">2013-11-09T08:12:00Z</ns1:VertrekTijd>
<ns1:VertrekTijd InfoStatus="Actueel">2013-11-09T08:12:00Z</ns1:VertrekTijd>
<ns1:ExacteVertrekVertraging>PT0S</ns1:ExacteVertrekVertraging>
<ns1:GedempteVertrekVertraging>PT0S</ns1:GedempteVertrekVertraging>
<ns1:TreinVertrekSpoor InfoStatus="Gepland">
<ns1:SpoorNummer>5</ns1:SpoorNummer>
</ns1:TreinVertrekSpoor>
<ns1:TreinVertrekSpoor InfoStatus="Actueel">
<ns1:SpoorNummer>5</ns1:SpoorNummer>
</ns1:TreinVertrekSpoor>
<ns1:VertrekRichting>B</ns1:VertrekRichting>
<ns1:AfstandPerronEindKopVertrekTrein>0</ns1:AfstandPerronEindKopVertrekTrein>
<ns1:VerkorteRoute InfoStatus="Gepland">
<ns1:Station>
<ns1:StationCode>ASD</ns1:StationCode>
<ns1:Type>6</ns1:Type>
<ns1:KorteNaam>A'dam C</ns1:KorteNaam>
<ns1:MiddelNaam>Amsterdam C.</ns1:MiddelNaam>
<ns1:LangeNaam>Amsterdam Centraal</ns1:LangeNaam>
<ns1:UICCode>8400058</ns1:UICCode>
</ns1:Station>
<ns1:Station>
<ns1:StationCode>ASA</ns1:StationCode>
<ns1:Type>4</ns1:Type>
<ns1:KorteNaam>Amstel</ns1:KorteNaam>
<ns1:MiddelNaam>Amstel</ns1:MiddelNaam>
<ns1:LangeNaam>Amsterdam Amstel</ns1:LangeNaam>
<ns1:UICCode>8400057</ns1:UICCode>
</ns1:Station>
<ns1:Station>
<ns1:StationCode>UT</ns1:StationCode>
<ns1:Type>6</ns1:Type>
<ns1:KorteNaam>Utrecht C</ns1:KorteNaam>
<ns1:MiddelNaam>Utrecht C.</ns1:MiddelNaam>
<ns1:LangeNaam>Utrecht Centraal</ns1:LangeNaam>
<ns1:UICCode>8400621</ns1:UICCode>
</ns1:Station>
<ns1:Station>
<ns1:StationCode>ED</ns1:StationCode>
<ns1:Type>5</ns1:Type>
<ns1:KorteNaam>Ede-Wag</ns1:KorteNaam>
<ns1:MiddelNaam>Ede-Wageningen</ns1:MiddelNaam>
<ns1:LangeNaam>Ede-Wageningen</ns1:LangeNaam>
<ns1:UICCode>8400200</ns1:UICCode>
</ns1:Station>
</ns1:VerkorteRoute>
<ns1:VerkorteRoute InfoStatus="Actueel">
<ns1:Station>
<ns1:StationCode>ASD</ns1:StationCode>
<ns1:Type>6</ns1:Type>
<ns1:KorteNaam>A'dam C</ns1:KorteNaam>
<ns1:MiddelNaam>Amsterdam C.</ns1:MiddelNaam>
<ns1:LangeNaam>Amsterdam Centraal</ns1:LangeNaam>
<ns1:UICCode>8400058</ns1:UICCode>
</ns1:Station>
<ns1:Station>
<ns1:StationCode>HVS</ns1:StationCode>
<ns1:Type>5</ns1:Type>
<ns1:KorteNaam>Hilversum</ns1:KorteNaam>
<ns1:MiddelNaam>Hilversum</ns1:MiddelNaam>
<ns1:LangeNaam>Hilversum</ns1:LangeNaam>
<ns1:UICCode>8400322</ns1:UICCode>
</ns1:Station>
</ns1:VerkorteRoute>
<ns1:TreinVleugel>
<ns1:TreinVleugelVertrekSpoor InfoStatus="Gepland">
<ns1:SpoorNummer>5</ns1:SpoorNummer>
</ns1:TreinVleugelVertrekSpoor>
<ns1:TreinVleugelVertrekSpoor InfoStatus="Actueel">
<ns1:SpoorNummer>5</ns1:SpoorNummer>
</ns1:TreinVleugelVertrekSpoor>
<ns1:TreinVleugelEindBestemming InfoStatus="Gepland">
<ns1:StationCode>NM</ns1:StationCode>
<ns1:Type>5</ns1:Type>
<ns1:KorteNaam>Nijmegen</ns1:KorteNaam>
<ns1:MiddelNaam>Nijmegen</ns1:MiddelNaam>
<ns1:LangeNaam>Nijmegen</ns1:LangeNaam>
<ns1:UICCode>8400470</ns1:UICCode>
</ns1:TreinVleugelEindBestemming>
<ns1:TreinVleugelEindBestemming InfoStatus="Actueel">
<ns1:StationCode>UT</ns1:StationCode>
<ns1:Type>6</ns1:Type>
<ns1:KorteNaam>Utrecht C</ns1:KorteNaam>
<ns1:MiddelNaam>Utrecht C.</ns1:MiddelNaam>
<ns1:LangeNaam>Utrecht Centraal</ns1:LangeNaam>
<ns1:UICCode>8400621</ns1:UICCode>
</ns1:TreinVleugelEindBestemming>
<ns1:StopStations InfoStatus="Gepland">
<ns1:Station>
<ns1:StationCode>ASD</ns1:StationCode>
<ns1:Type>6</ns1:Type>
<ns1:KorteNaam>A'dam C</ns1:KorteNaam>
<ns1:MiddelNaam>Amsterdam C.</ns1:MiddelNaam>
<ns1:LangeNaam>Amsterdam Centraal</ns1:LangeNaam>
<ns1:UICCode>8400058</ns1:UICCode>
</ns1:Station>
<ns1:Station>
<ns1:StationCode>ASA</ns1:StationCode>
<ns1:Type>4</ns1:Type>
<ns1:KorteNaam>Amstel</ns1:KorteNaam>
<ns1:MiddelNaam>Amstel</ns1:MiddelNaam>
<ns1:LangeNaam>Amsterdam Amstel</ns1:LangeNaam>
<ns1:UICCode>8400057</ns1:UICCode>
</ns1:Station>
<ns1:Station>
<ns1:StationCode>UT</ns1:StationCode>
<ns1:Type>6</ns1:Type>
<ns1:KorteNaam>Utrecht C</ns1:KorteNaam>
<ns1:MiddelNaam>Utrecht C.</ns1:MiddelNaam>
<ns1:LangeNaam>Utrecht Centraal</ns1:LangeNaam>
<ns1:UICCode>8400621</ns1:UICCode>
</ns1:Station>
<ns1:Station>
<ns1:StationCode>KLP</ns1:StationCode>
<ns1:Type>0</ns1:Type>
<ns1:KorteNaam>De Klomp</ns1:KorteNaam>
<ns1:MiddelNaam>De Klomp</ns1:MiddelNaam>
<ns1:LangeNaam>Veenendaal-De Klomp</ns1:LangeNaam>
<ns1:UICCode>8400637</ns1:UICCode>
</ns1:Station>
<ns1:Station>
<ns1:StationCode>ED</ns1:StationCode>
<ns1:Type>5</ns1:Type>
<ns1:KorteNaam>Ede-Wag</ns1:KorteNaam>
<ns1:MiddelNaam>Ede-Wageningen</ns1:MiddelNaam>
<ns1:LangeNaam>Ede-Wageningen</ns1:LangeNaam>
<ns1:UICCode>8400200</ns1:UICCode>
</ns1:Station>
<ns1:Station>
<ns1:StationCode>AH</ns1:StationCode>
<ns1:Type>5</ns1:Type>
<ns1:KorteNaam>Arnhem</ns1:KorteNaam>
<ns1:MiddelNaam>Arnhem</ns1:MiddelNaam>
<ns1:LangeNaam>Arnhem</ns1:LangeNaam>
<ns1:UICCode>8400071</ns1:UICCode>
</ns1:Station>
<ns1:Station>
<ns1:StationCode>NM</ns1:StationCode>
<ns1:Type>5</ns1:Type>
<ns1:KorteNaam>Nijmegen</ns1:KorteNaam>
<ns1:MiddelNaam>Nijmegen</ns1:MiddelNaam>
<ns1:LangeNaam>Nijmegen</ns1:LangeNaam>
<ns1:UICCode>8400470</ns1:UICCode>
</ns1:Station>
</ns1:StopStations>
<ns1:StopStations InfoStatus="Actueel">
<ns1:Station>
<ns1:StationCode>ASD</ns1:StationCode>
<ns1:Type>6</ns1:Type>
<ns1:KorteNaam>A'dam C</ns1:KorteNaam>
<ns1:MiddelNaam>Amsterdam C.</ns1:MiddelNaam>
<ns1:LangeNaam>Amsterdam Centraal</ns1:LangeNaam>
<ns1:UICCode>8400058</ns1:UICCode>
</ns1:Station>
<ns1:Station>
<ns1:StationCode>HVS</ns1:StationCode>
<ns1:Type>5</ns1:Type>
<ns1:KorteNaam>Hilversum</ns1:KorteNaam>
<ns1:MiddelNaam>Hilversum</ns1:MiddelNaam>
<ns1:LangeNaam>Hilversum</ns1:LangeNaam>
<ns1:UICCode>8400322</ns1:UICCode>
</ns1:Station>
<ns1:Station>
<ns1:StationCode>UT</ns1:StationCode>
<ns1:Type>6</ns1:Type>
<ns1:KorteNaam>Utrecht C</ns1:KorteNaam>
<ns1:MiddelNaam>Utrecht C.</ns1:MiddelNaam>
<ns1:LangeNaam>Utrecht Centraal</ns1:LangeNaam>
<ns1:UICCode>8400621</ns1:UICCode>
</ns1:Station>
</ns1:StopStations>
<ns1:Wijziging>
<ns1:WijzigingType>33</ns1:WijzigingType>
<ns1:WijzigingOorzaakKort>geplande werkzaamheden</ns1:WijzigingOorzaakKort>
<ns1:WijzigingOorzaakLang>geplande werkzaamheden</ns1:WijzigingOorzaakLang>
<ns1:WijzigingStation>
<ns1:StationCode>HVS</ns1:StationCode>
<ns1:Type>5</ns1:Type>
<ns1:KorteNaam>Hilversum</ns1:KorteNaam>
<ns1:MiddelNaam>Hilversum</ns1:MiddelNaam>
<ns1:LangeNaam>Hilversum</ns1:LangeNaam>
<ns1:UICCode>8400322</ns1:UICCode>
</ns1:WijzigingStation>
</ns1:Wijziging>
<ns1:Wijziging>
<ns1:WijzigingType>34</ns1:WijzigingType>
<ns1:WijzigingOorzaakKort>geplande werkzaamheden</ns1:WijzigingOorzaakKort>
<ns1:WijzigingOorzaakLang>geplande werkzaamheden</ns1:WijzigingOorzaakLang>
<ns1:WijzigingStation>
<ns1:StationCode>UT</ns1:StationCode>
<ns1:Type>6</ns1:Type>
<ns1:KorteNaam>Utrecht C</ns1:KorteNaam>
<ns1:MiddelNaam>Utrecht C.</ns1:MiddelNaam>
<ns1:LangeNaam>Utrecht Centraal</ns1:LangeNaam>
<ns1:UICCode>8400621</ns1:UICCode>
</ns1:WijzigingStation>
</ns1:Wijziging>
<ns1:MaterieelDeelDVS>
<ns1:MaterieelSoort>VIRM</ns1:MaterieelSoort>
<ns1:MaterieelAanduiding>6</ns1:MaterieelAanduiding>
<ns1:MaterieelLengte>16210</ns1:MaterieelLengte>
<ns1:MaterieelDeelEindBestemming InfoStatus="Gepland">
<ns1:StationCode>UT</ns1:StationCode>
<ns1:Type>6</ns1:Type>
<ns1:KorteNaam>Utrecht C</ns1:KorteNaam>
<ns1:MiddelNaam>Utrecht C.</ns1:MiddelNaam>
<ns1:LangeNaam>Utrecht Centraal</ns1:LangeNaam>
<ns1:UICCode>8400621</ns1:UICCode>
</ns1:MaterieelDeelEindBestemming>
<ns1:MaterieelDeelEindBestemming InfoStatus="Actueel">
<ns1:StationCode>UT</ns1:StationCode>
<ns1:Type>6</ns1:Type>
<ns1:KorteNaam>Utrecht C</ns1:KorteNaam>
<ns1:MiddelNaam>Utrecht C.</ns1:MiddelNaam>
<ns1:LangeNaam>Utrecht Centraal</ns1:LangeNaam>
<ns1:UICCode>8400621</ns1:UICCode>
</ns1:MaterieelDeelEindBestemming>
</ns1:MaterieelDeelDVS>
</ns1:TreinVleugel>
<ns1:Wijziging>
<ns1:WijzigingType>40</ns1:WijzigingType>
</ns1:Wijziging>
</ns1:Trein>
</ns1:DynamischeVertrekStaat>
</ns1:ReisInformatieProductDVS>
</ns0:PutReisInformatieBoodschapIn>
import zmq as _zmq;
from cStringIO import StringIO as _StringIO;
from gzip import GzipFile as _GzipFile;
ZmqContext = _zmq.Context();
ZmqSubscriber = ZmqContext.socket(_zmq.SUB);
ZmqSubscriber.connect('tcp://post.ndovloket.nl:7660');
ZmqSubscriber.setsockopt(_zmq.SUBSCRIBE, '/RIG/InfoPlusDVSInterface');
while True:
ZmqFrame = ZmqSubscriber.recv_multipart();
ZmqMessage = _GzipFile(None, 'r', 0, _StringIO(ZmqFrame[1])).read();
print len(ZmqMessage);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment