Heb je ArcGIS met Network Analyst?
Anders kan je simpel een matrix output genereren op basis van de kortste routes. Dan is het alleen nog maar een kwestie van de station-tot-station output er uit te filteren.
Ik heb hier een bestand, maar volgens mij mis ik een paar stations.
Anyhow, van alle stationspunten kan je die als een Origin (O) en Destination (D) invoeren. Vanuit daar wordt zonder enige restrictie via een (versimpelde) lijn de afstand berekend. Omdat je dus ALLE stations als zowel O als D gebruikt, krijg je dus per station laten we zeggen 475 output punten. Uiteraard zijn alleen de
n dichtstbijzijnde stations van belang, bijvoorbeeld:
Vlissingen Souburg > Vlissingen
Vlissingen Souburg > Middelburg
Vlissingen Souburg > Arnemuiden etc. zou niet van belang zijn.
Natuurlijk zijn er bij splitsingsstations meer dan alleen maar de twee dichtstbijzijnde (Utrecht C > Zuilen/Leidsche Rijn/Vaartsche Rijn/Overvecht), dus heb ik een filter toegepast op alleen de 15 kortste afstanden (lijkt mij veilig genoeg).
Eerste voorbeeld:
Code: Selecteer alles
31757 Polyline Bnn - Bnn 69 69 1 0
31758 Polyline Bnn - Bnc 69 67 2 2651.970584
31759 Polyline Bnn - Sto 69 359 3 7480.701144
31760 Polyline Bnn - Hvl 69 214 4 9595.58489
31761 Polyline Bnn - Ltn 69 253 5 9874.599932
31762 Polyline Bnn - Amfs 69 18 6 14914.21676
31763 Polyline Bnn - Edc 69 125 7 15617.88562
1e waarde (31757) is een ID waarde die automatisch gegenereerd is (kan genegeerd worden dus)
2e waarde (polyline) zegt alleen wat over de geometrie, en kan je ook negeren
3e waarde (Bnn - ...) is om van waar naar waar het betrekking heeft.
4e waarde (69) wilt zeggen: dit is het inputnummer van het vertrekstation. Zou ik eruit kunnen laten.
5e waarde (69) wilt zeggen: dit is het inputnummer van het aankomststation. Zou ik ook eruit kunnen laten.
6e waarde (1) wilt zeggen: rangnummer van kort naar lang
7e waarde (0) wilt zeggen: afstand in meters
Let op dat ik restricties (U-turns/keringen op splitspunten) niet heb uitgeschakeld, omdat je aannemelijk alleen de afstand tussen stations wilt hebben. Tijd speelt dan niet echt een rol. In de realiteit reis je meestal door naar het eerstvolgende station in de oorspronkelijke reisrichting.
In dit geval zegt de output hierboven dat de kortste afstanden van Barneveld Noord zijn:
1. zichzelf (0 km, logisch)
2. Barneveld Centrum (2.65 km)
3. Stroe (7.48 km -- maar dat betekent dus dat op Barneveld Aansluiting de trein dus direct zou kunnen keren, wat dus niet praktisch zou zijn. Zelfde geldt voor de afstand naar Amersfoort Schothorst!)
4. Hoevelaken (9.60 km)'
Tweede voorbeeld:
Code: Selecteer alles
43899 Polyline Ddzd - Ddzd 95 95 1 0
43900 Polyline Ddzd - Ddr 95 93 2 2476.489058
43901 Polyline Ddzd - Zwd 95 465 3 4579.27221
43902 Polyline Ddzd - Ddrs 95 94 4 5018.797284
43903 Polyline Ddzd - Sdtb 95 341 5 9292.109761
43904 Polyline Ddzd - Sdt 95 340 6 11908.20113
43905 Polyline Ddzd - Zlw 95 447 7 11981.36134
De naburige stations van Dordrecht Zuid zijn Dordrecht en Lage Zwaluwe. Echter is de afstand Dordrecht Zuid-Lage Zwaluwe zodanig groot dat in afstand per spoor naar Sliedrecht nog altijd 80 meter korter is dan naar Lage Zwaluwe. Vandaar de "veiligheidsclausule" van de 15 eerstvolgende stations.
Tot slot een
derde voorbeeld van de volledige output van Utrecht, gekeken naar de eerste 15 resultaten:
Code: Selecteer alles
175126 Polyline Ut - Ut 376 376 1 0
175127 Polyline Ut - Utvr 376 383 2 1470.860678
175128 Polyline Ut - Utzl 376 384 3 2183.476773
175129 Polyline Ut - Uto 376 381 4 3169.410726
175130 Polyline Ut - Utlr 376 379 5 3463.199919
175131 Polyline Ut - Utl 376 378 6 3561.659264
175132 Polyline Ut - Utm 376 380 7 3818.542437
175133 Polyline Ut - Utt 376 382 8 5115.44337
175134 Polyline Ut - Bnk 376 68 9 6997.830703
175135 Polyline Ut - Mas 376 260 10 7429.958866
175136 Polyline Ut - Htn 376 211 11 7442.119256
175137 Polyline Ut - Vtn 376 409 12 7473.449997
175138 Polyline Ut - Bhv 376 56 13 9054.070211
175139 Polyline Ut - Htnc 376 212 14 9416.16458
175140 Polyline Ut - Db 376 91 15 11462.77416
Natuurlijk is de nauwkeurigheid op 100 meter discutabel. Wie heeft tenslotte ooit het markeringspunt aangelegd? En is dat het middelpunt van het station, of is dat het einde van een bepaalde perron? En in het geval van toekomstige stations, klopt het gekozen punt? Het lijkt mij daarom het veiligst om het af te ronden op 100 meter, en niet op 10 of 1 meter.
Laat me even weten als je geïnteresseerd bent.
Overigens zou de hele matrix (dus geen filtering) iets van 210000 records bevatten.
En voor de nieuwsgierigen onder ons: de langste afstand is Delfzijl-Vlissingen met 414 km over het spoor, met de kortste mogelijke afstand methode (zie mijn aantekening over keringen op splitspunten, wat in de praktijk natuurlijk niet gebeurd), en dat is via Zwolle-Amersfoort-Utrecht-Rotterdam. Ter vergelijking: via Lelystad en HSL is dit 440 km, en via Lelystad en Leiden is dat 450 km.
Hierna volgt Vlissingen-Roodeschool (100 meter korter) en Vlissingen-Stavoren (nog eens 100 meter korter) :').