Spotplot

Spotplot 1.0 is een no-nonsense programmaatje voor de spotter die snel een overzicht wil hebben van de treinen die op een bepaald traject rijden. Aan de hand van de ingevoerde dienstregeling maakt Spotplot voor elke gewenste tijdsduur een grafische weergave in BMP-formaat van alle treinen die in die periode op het traject rijden.

Wat heb ik nodig om Spotplot te kunnen gebruiken?

Spotplot heeft zelf genoeg aan een MS-DOS machine, eventuele GUI's als Windows'95 of '98 worden getolereerd, maar niet gebruikt. Daarnaast is voor het bewerken van de dienstregelingen een teksteditor wel handig, ikzelf kan Ultra-Edit aanraden. Tenslotte heb je nog iets nodig om de BMP's die worden gemaakt te kunnen bekijken, ACDSee is een goede viewer maar als het echt niet anders kan, kun je je ook met MS-Paint behelpen.



Een *DOS* programma ?!?!?

Wees blij, het programma is maar 56kB groot, draait zonder dat het eerst geinstalleerd hoeft te worden, vernielt je registry niet en heeft niet allerlei malle DLL's nodig. Boze tongen beweren dat het programma niet MS-compliant is omdat het weigert regelmatig te crashen.



Hoe kom ik aan Spotplot ?

Wellicht is het het eenvoudigste om het programma te downloaden (56kB) vanaf deze pagina.



OK, hoe gebruik ik Spotplot ?

Het grappige is dat Spotplot hoegenaamd *geen* user-interface heeft, dus de bediening is in principe simpel zat:

SPOTPLOT <drgl-file>
"Drgl-file" is hierbij een tekstfile met daarin de gegevens van de treinen en de stations op het traject, evenals begin- en eindtijd en gegevens m.b.t. tot de grootte die de BMP-file moet krijgen. Verderop staat een beschrijving van het formaat van de file, en ook enkele voorbeelden om te downloaden.

Na op 'Enter' gedrukt te hebben wordt de BMP-file aangemaakt, dit zal meestal slechts enkele seconden duren. Het kan zijn dat het scherm daarbij even zwart wordt, dit is normaal. Als het programma klaar is, is een file aangemaakt met dezelfde naam als de drgl-file maar dan met de extentie .BMP; deze kun je vervolgens bekijken en afdrukken met je favoriete viewer.

Hoe maak ik een drgl-file ?

Een drgl-file bestaat uit drie gedeelten:

- instellingen voor het tekenen.
- kilometerstanden van alle stations en eventuele andere punten.
- de eigenlijke dienstregelingen.

Hieronder staat een voorbeeld van een file die een overzicht geeft van de treinen die Oostnet/Syntus/weetikveel 's-ochtends laat rijden tussen Aml en Mrb (download deze file om zelf te testen).



#begintijd=05:30
#eindtijd=10:20
#dpkm=12                                       Instellingen
#dphr=200
#hspiegel=0

Aml       27.2
Vz        20.8
Da        16.3                                 Kilometerstanden
Vhp       14.4
Gdk       12.3
Mrb        8.4


@           x       5x60
Aml      V06:45   V06:05
Vz        06:52    06:13                       Alle benodigde tijden...
Da        06:57    06:18
Vhp       07:02    06:23
Gdk         |      06:26
Mrb      A07:09   A06:31
Mrb      V07:15   V06:34
Gdk         |      06:39
Vhp       07:23    06:43
Da        07:27    06:46
Vz        07:33    06:52
Aml      A07:41   A06:59


@             x
Aml        V07:45
Vz          07:52
Da          07:57
Vhp        A08:01
Vhp        V08:05
Da          08:08
Vz          08:15
Aml        A08:22

Instellingen:

Elke file begint met een aantal regels die elk met een # beginnen, hier kunnen een aantal gegevens worden veranderd om het eindresultaat te beinvloeden:
#begintijd=05:30
#eindtijd=10:20
Het lijkt me wel duidelijk wat hiermee bedoeld wordt. Vul de tijd altijd in 24-uur formaat in, en gebruik altijd 2 cijfers voor de uren. Wil je de eindtijd voorbij middernacht plaatsen, tel dan gewoon door: 01:30 wordt dan bijvoorbeeld 25:30! In het overzicht wordt dit automatisch weer als 01:30 weergegeven.
#dpkm=12
#dphr=200
#hspiegel=0
dpkm staat voor 'dots per kilometer', dphr voor 'dots per uur'. Het is een beetje experimenteren wat de beste waarden zijn in een bepaald geval. Als je de boel met een printer wilt afdrukken kun je bijvoorbeeld gerust wat grotere waarden nemen zodat je de zaagtanden van de schuine lijnen niet meer ziet. Erg grote waarden leiden natuurlijk wel tot erg grote BMP's, maar het programma heeft in ieder geval geen problemen met BMP's van enkele duizenden pixels breed en/of hoog. Alleen worden de tijden en stationsnamen dan verhoudingsgewijs wel erg klein...
Als hspiegel=0, komt het station met de laagste kilometerstand (zie hieronder) aan de bovenkant van de tijdtafel te staan. Als je een andere waarde dan nul invult, komt dat station juist onderaan te staan. Het is maar net wat in een bepaald geval het handigst is. De instellingen *MOETEN* afgesloten worden met tenminste één lege regel.


Kilometerstanden:

Aml       27.2
Vz        20.8
Da        16.3
Vhp       14.4
Gdk       12.3
Mrb        8.4
Dit lijkt me ook wel duidelijk, links staat de naam van een station of ander punt (mag, maar hoeft niet de NS-verkorting te zijn!), rechts de bijbehorende kilometerstand. Dit hoeft niet perse hetzelfde te zijn als wat op de kilometerpaaltjes staat aangegeven, belangrijk is alleen dat de volgorde en de afstanden tussen de stations kloppen. Let wel op als je de afstanden uit het spoorboekje haalt: soms is deze op nul gesteld, wat niet echt overeenkomt met de situatie in het veld...
Het blokje kilometerstanden moet ook weer worden afgesloten door een of meer lege regels.


Tijden:

Nu wordt het leuk! Om zinnige resultaten weer te kunnen geven moet Spotplot wel weten wanneer de treinen rijden, en dat staat allemaal in dit blok. De basis zal iedereen wel kennen: links staan de namen van stations (gebruik *exact* dezelfde benaming als bij de kilometerstanden!), rechts de tijden. Er zijn hierbij enkele verschillende mogelijke aanduidingen:
V12:00     De trein vertrekt om 12:00
 12:00     De trein vertrekt om 12:00, en kwam 1 minuut eerder aan (tenslotte rijden
             de treinen op de aangegeven tijden in het spoorboekje niet langs het
             station, maar moeten ze eerst nog stoppen.)
D12:00     De trein rijdt om 12:00 door het station zonder stoppen
A12:00     De trein komt om 12:00 in het station aan
   |       Laat het programma de doorkomsttijd berekenen
Het is overigens niet verplicht om voor alle stations tijden in te vullen:
Aml      V12:00   V13:00
Vz          |     A13:14
Da       A12:20               
In het eerste geval heeft het programma wel door dat de trein wel door Vriezenveen komt, maar dat er geen tijd bekend is. In het tweede geval gaat Spotplot er van uit dat de trein gewoon niet verder rijdt dan Vriezenveen. Merk verder op dat in het blok met tijden een volledige slag Aml-Mrb-Aml is opgenomen, waarbij de trein onderweg van richting wisselt en stations meerdere keren in de lijst voorkomen. Hiervoor geldt weer: het mag, het kan maar is niet verplicht; het programma slikt het in ieder geval wel.

Boven de stationsnamen staat een regel die met een @ begint, en waarin boven elke kolom met tijden een 'x' staat boven de dubbele punt van de tijden. Deze regel en de x'en erin moeten er beslist staan, anders negeert het programma de tijden! Als er alleen maar 'x' boven de kolom staat, wil dat zeggen dat de trein maar 1x rijdt, op de aangegeven tijden. Staat er echter bv 5x60, dan wil dat zeggen dat er op de aangegeven tijden een trein rijdt, maar exact 60, 120, 180, 240, en 300 minuten later rijdt er ook nog een. Dit is een makkelijke manier om een hele reeks treinen die volgens een bepaald patroon rijden in één keer in te voeren. Nog een voorbeeld:
@       3x15                       @        x       x       x       x
Aml   V12:00    is hetzelfde als:  Aml   V12:00  V12:15  V12:30  V12:45
Mrb   A12:30                       Mrb   A12:30  A12:45  A13:00  A13:15
Let op: 3x15 betekent dus dat er in totaal VIER treinen rijden! Dat dit toch met een 3 wordt aangegeven lijkt onlogisch, maar is in praktijk toch wel makkelijk: eerste trein rijdt om 12:00, laatste om 12:45 met tussenpozen van 15 minuten: (12:45-12:00)/0:15 = 3 !
Een blok tijden wordt weer afgesloten met tenminste één lege regel, waarna er nog een willekeurig aantal blokken met tijden mogen volgen, elk afgesloten met een lege regel.



Ik snap het, geloof ik...

Het voorgaande klinkt erg ingewikkeld, maar als je een paar voorbeelden bekijkt en zelf gewoon een paar dingen uitprobeert zal blijken dat het in feite doodsimpel is.

- Almelo-Mariënberg   Volledige dienstregeling (door de week, buiten de vakanties), met een paar goederentreinen als bonus.

- De 766 op Emmen-Zwolle   Zie hoe de 766 zich op 22 mei jl op dit grotendeels enkelsporige baanvak tussen de andere treinen door wrong. Angstaanjagend!

- Zutphen-Oldenzaal   De dienstregeling op Zp-Odz, met de eigenaardige korte slag Odz-Hgl.

- Nijmegen-Roermond   Het is opmerkelijk om te zien wat er allemaal nog langs elkaar kan rijden op de enkelsporige Maaslijn!



Veel plezier ermee, stuur voor vragen, opmerkingen en suggesties gerust een emailtje!