Felaktiga shape_dist_traveled i shapes.txt i GTFS Regional
Nästan alla shapes har shape_dist_traveled=0 både för den första och andra punkten på respektive shape. Detta innebär att avståndet mellan den första och andra punkten ska vara 0, vilket är orimligt eftersom koordinaterna för den första och andra punkten är olika. För de resterande punkterna verkar det som om shape_dist_traveled är avståndet från den andra punkten, och inte avståndet från den första punkten. Detta gäller för SL och Skåne, har inte kollat de andra men det kan vara samma fel även där.
Följ inlägget
0
följare
Vi utreder och fixar detta, tack för tipsen!
Hälsningar,
Bert
Så ser den ut så här om vi kombinerar stop_times.txt med stops.txt:
trip_id,stop_sequence,shape_dist_traveled,stop_lat,stop_lon
14010000506639046,1,0.00,59.477599,17.750964
14010000506639046,2,1061.01,59.478614,17.740045
14010000506639046,3,1478.04,59.480043,17.733243
Om vi tittar på motsvarande shape så ser den ut såhär:
shape_id,shape_pt_sequence,shape_pt_lat,shape_pt_lon,shape_dist_traveled
1777,1,59.477599,17.750964,0.00
1777,2,59.477618,17.750913,0.00
1777,3,59.477726,17.751259,23.04
...
1777,53,59.478418,17.740815,1012.49
1777,54,59.478587,17.740026,1061.01
1777,55,59.478614,17.740045,1061.01
1777,56,59.478587,17.740026,1061.01
1777,57,59.478652,17.739728,1079.38
...
1777,60,59.479314,17.736547,1274.12
1777,61,59.480017,17.733224,1478.04
1777,62,59.480043,17.733243,1478.04
Som synes är det ett återkommande fenomen att flera punkter har samma shape_dist_traveled precis vid hållplatserna, inte bara där turen startar. Det verkar som att det vid varje hållplats finns två olika punkter som båda har samma shape_dist_traveled. Den ena punkten är samma som koordinaterna i stops.txt. Jag antar att den punkten är där själva hållplatsen är placerad (vid trottoaren), och så är den andra punkten, den som bara finns i shapes.txt, där själva bussen stannar (i körbanan). Då är frågan om det verkligen är korrekt att båda dessa punkter ska vara med i shapes.txt? Snarare är det väl så att shapes.txt ska visa vägen som själva bussen kör, och att bara den senare punkten, den där själva bussen stannar, ska vara med i shapes.txt?
Vi har nu gjort en ny release där vi städar bort en del överlappande shapes. Shapes som har samma koordinater räknas som överlappande.
Så från ditt tidigare exempel:
...
1777,53,59.478418,17.740815,1012.49
1777,54,59.478587,17.740026,1061.01
1777,55,59.478614,17.740045,1061.01
1777,56,59.478587,17.740026,1061.01
1777,57,59.478652,17.739728,1079.38
...
borde nu se ut såhär:
...
1777,53,59.478418,17.740815,1012.49
1777,54,59.478587,17.740026,1061.01
1777,55,59.478652,17.739728,1079.38
...
Vi städar bara undan shapes i fallet då koordinaterna är exakt lika.
Vi har inte hanterat fallet då koordinaterna är nära varandra (men ej exakt samma) och avståndet (shape_dist_traveled) mellan dem är 0 meter. Det får bli en framtida förbättring.
Det nya datat borde vara tillgängligt imorgon.
Hälsningar,
Robin
1267,14,59.339380,17.692639,228.53
1267,15,59.339304,17.692431,243.06
1267,16,59.339342,17.692371,243.06
1267,17,59.339304,17.692431,243.06
1267,18,59.339294,17.692399,245.19
I den nya filen ser det ut så här:
1275,14,59.339380,17.692639,228.53
1275,15,59.339304,17.692431,243.06
1275,16,59.339294,17.692399,245.19
Så här långt ser allting bra ut. Men om vi istället tittar på hållplatsen där stop_sequence=7 och shape_dist_traveled=3047.17 har ett nytt problem uppstått. I den gamla filen såg det ut så här:
1267,166,59.325209,17.714113,3019.56
1267,167,59.325168,17.714242,3028.2
1267,168,59.325062,17.714283,3047.17
1267,169,59.325168,17.714242,3047.17
1267,170,59.325135,17.714323,3053.1
I den nya filen ser det ut så här:
1275,156,59.325209,17.714113,3019.56
1275,157,59.325168,17.714242,3028.2
1275,158,59.325135,17.714323,3053.1
Notera att det inte finns någon shape_point där shape_dist_traveled är samma som i stop_times.txt (3047.17). Detta är ett problem eftersom det inte längre går att mappa mellan shapes.txt och stop_times.txt för att kunna se var på shapen som bussen stannar. Jag vill inte använda koordinaterna i stops.txt för de ligger utanför shapen och verkar visa där själva hållplatsstolpen står och inte där bussen stannar.
Värt att notera är att notera är att shape_dist_traveled var fel även i den gamla filen eftersom det ser ut som att bussen åker 18.97 meter mellan 3028.2 och 3047.17 när den i själva verket står stilla, och alla efterföljande shape_dist_traveled är 18.97 för mycket, både i shapes.txt och i stop_times.txt. Detta var dock inget problem eftersom felet var samma både i shapes.txt och i stop_times.txt. I den nya filen är det samma problem (3053.1 ska egentligen vara 3034.13, alltså är det 18.97 för mycket). Samma sak i stop_times.txt, där ska alltså 3047.17 egentligen vara 18.97 mindre, alltså 3028.2. Här uppstår alltså mappningsproblemet eftersom shapes.txt innehåller det rätta värdet men inte stop_times.txt.
Tack för din detaljerad beskrivning. Du har rätt i att du inte vill använda hållplatskoordinater, det är stop_times.txt som måste definiera avståndet korrekt. Jag skapar ett internt ärende och vi fixar detta så snart som möjligt.
Hälsningar,
Bert
Nu har vi fixat problemet med avståndet som du beskrev. Det går nu också att hitta rätt shape point i shapes.txt med hjälp av shape_dist_traveled i stop_times.txt.
Det nya datat finns tillgängligt imorgon.
Trevlig sommar!
Hälsningar,
Robin