Ej standardiserade kolumner i transfers.txt
Hej, varför har ni icke standardiserade kolumner i transfers.txt?
from_trip_id och to_trip_id är inte specificerade i standarden och det gör att filen inte kan importeras av t.ex. Home Assistant då ni också har flera rader där övriga fält är identiska och det tolkas som att filen är korrupt.
from_trip_id och to_trip_id är inte specificerade i standarden och det gör att filen inte kan importeras av t.ex. Home Assistant då ni också har flera rader där övriga fält är identiska och det tolkas som att filen är korrupt.
Följ inlägget
0
följare
Detta är en del av Trip-to-trip transfers, en förlängning av GTFS standarden: https://developers.google.com/transit/gtfs/reference/gtfs-extensions#TripToTripTransfers
Sen är det så att det är tillåten enligt standarden att ha extra kolumner med data, det är parser:n som ska ignorera dessa kolumner.
(Källa: https://gtfs.org/reference/static/changes)
Säg gärna till om vi kan hjälpa med något mer.
Hälsningar,
Bert
Exempel, alla dessa reader är identiska så när som på from_trip_id,to_trip_id:
from_stop_id,to_stop_id,transfer_type,min_transfer_time,from_trip_id,to_trip_id
9022005000194002,9022005000194003,1,,55700000060689168,55700000059886520
9022005000194002,9022005000194003,1,,55700000060689218,55700000059886557
9022005000194002,9022005000194003,1,,55700000060689268,55700000059886594
9022005000194002,9022005000194003,1,,55700000059894663,55700000059886594
9022005000194002,9022005000194003,1,,55700000059894563,55700000059886520
9022005000194002,9022005000194003,1,,55700000059894613,55700000059886557
Så följden blir att det inte är bakåtkompatibelt med parsers som inte kan tolka de kolumnerna.
Enligt specen är det fortfarande okej. Det finns ingen krav på att frop_stop_id/to_stop_id kombinationer ska vara unikt, och Googles feedvalidator kommer inte heller klaga på detta. Sen är frågan bara om det finns fall där den skulle kunna "tappa" information om det båda finns en allmänt transfer time och några trip-to-trip transfers. Vilken parser är det som inte klarar detta?
Hälsningar,
Bert
Vi har nyligen lyckats att få dessa kolumner in i GTFS standarden, så nu borde det inte längre ge problem så länge att biblioteken följer standarden. Vi har skapat en pull request på pygtfs (https://github.com/jarondl/pygtfs/pull/63) vilken som fixar problemet där, fast vi har inte fått en respons på den än. Detta borde iaf ge dig möjligheten att peka ut detta för utvecklaren av HA-integrationen.
Hälsningar,
Bert
Nu fick pygtfs en ny release som fixar problemet.
Hälsningar,
Bert
Den där patchen i senaste versionen löser faktiskt absolut ingenting. Problemet är fortfarande inte de extra kolumnerna i sig, utan att det fallerar på att det finns flera rader med identiskt innehåll i transfers.txt.
När pygtfs försöker översätta GTFS till en SQL-database så har den satt UNIQUE attribute på databas-fälten transfers.feed_id, transfers.from_stop_id, transfers.to_stop_id. Så när det finns flera rader i transfers.txt där dessa fälten är identiska så kan den inte skapa databasen.
pygtfs måste skrivas om så att den kan tolka dessa fälten för att det ska fungera, det hjälper inte att ignorera dem (vilket gjorts hela tiden, även innan patchen).
Det är patchad och testad i PyGTFS sen november, som sakt är dessa extra kolumner del av specen och är det PyGTFS som måste hantera detta.
Själva PR finns här https://github.com/jarondl/pygtfs/pull/63/files, och den släpptes som PyGtfs 0.1.7. Där kollar PyGTFS på alla 6 kolumner.
Om jag dock kollar i Home Assistents källkoden så verkar det som att den fortfarande använder PyGTFS 0.1.6:
https://github.com/home-assistant/core/blob/dev/homeassistant/components/gtfs/manifest.json
Dessa extra kolumner är del av standarden och alla 6 är definierad som composite primary key. Se https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#transferstxt för hela standarden.
Hälsningar,
Bert
Så jag trodde 0.1.6 var den senaste.
Så det får bli en manuell download för att testa då...
Route type 717 var tidigare taxi men stöds inte längre av Google. Vi har uppmärksammat detta tidigare och kommer fixa detta inom kort genom att byta ut 717 med 1501. Utskicket angående det följer senare i veckan.
Hälsningar,
Bert