Porównanie i opis harmonogramu GTFS w Google Transit

Na tej stronie opisano główne różnice między oficjalnym harmonogramem GTFS a implementacją specyfikacji w Google Transit w tych obszarach:

  • Zignorowane oficjalne specyfikacje: te pola są częścią oficjalnej specyfikacji GTF. Google Transit pobiera te dane bezbłędnie, ale nie używa ich aktywnie.

  • Inna interpretacja: te pola obejmują części oficjalnego GTFS, które Google Transit interpretuje inaczej niż definicja GTFS tych części.

  • Obsługa w wersji eksperymentalnej: te pola są w wersji eksperymentalnej w ramach implementacji Google Transit. Jeśli chcesz wdrożyć nowe pole eksperymentalne, skontaktuj się z zespołem Google Transit.

  • Rozszerzenie obsługiwane przez Google Transit: to rozszerzenie nie jest częścią oficjalnego GTFS. Rozszerzenie obsługiwane przez Google Transit obejmuje zarówno rozszerzenia publiczne, jak i rozszerzenia specyficzne dla Google Transit. Każdy partner może przesyłać te informacje do Transitu w swoim pliku danych.

Statyczne informacje o transporcie

W następnych sekcjach opisaliśmy główne różnice między oficjalnym GTFS a implementacją pliku danych statycznych przez Google Transit.

Ignorowanie oficjalnych specyfikacji w plikach danych statycznych

Niektóre oficjalne specyfikacje, które są ignorowane przez Transit, są eksperymentalne. Aby dowiedzieć się więcej, wejdź na gtfs.org.

Tabela 1 zawiera pliki GTFS, które nie są obsługiwane przez Transit w plikach danych statycznych. Ponadto Transit nie obsługuje żadnych pól zdefiniowanych w tych plikach.

Tabela 1. Nieobsługiwane pliki GTFS w plikach danych statycznych
areas.txt
fare_leg_rules.txt
fare_products.txt
fare_transfer_rules.txt
levels.txt
stop_areas.txt

Tabela 2 zawiera wszystkie pola zdefiniowane przez GTFS, które są ignorowane przez Transit w plikach danych statycznych.

Tabela 2. Pomijane pola GTFS w plikach danych statycznych
Nazwa pliku Ignorowane pole zdefiniowane w GTFS Typ pola
fare_attributes.txt payment_method Typ wyliczeniowy
feed_info.txt default_lang Kod języka
feed_info.txt feed_publisher_name Tekst
pathways.txt max_slope Liczba zmiennoprzecinkowa
routes.txt continuous_drop_off Typ wyliczeniowy
routes.txt continuous_pickup Typ wyliczeniowy
routes.txt network_id Identyfikator
routes.txt route_desc Tekst
routes.txt route_sort_order nieujemna liczba całkowita,
stops.txt level_id Identyfikator
stops.txt stop_desc Tekst
stops.txt stop_url URL
stops.txt tts_stop_name Tekst
trips.txt bikes_allowed Typ wyliczeniowy

Inna interpretacja w przypadku plików danych statycznych

Chociaż Transit akceptuje niektóre pola zdefiniowane w GTFS, interpretuje je inaczej niż GTFS.

Tabela 3 zawiera pola w plikach danych statycznych, które Transit wdraża inaczej niż opisano w GTFS.

Tabela 3. Różne implementacje pól statycznych w pliku danych
Nazwa pliku Pole zdefiniowane w GTFS Typ pola Wymagane przez Google Transit? Szczegóły implementacji Google Transit
fare_attributes.txt transfers Typ wyliczeniowy Wymagane

rozszerzenie Google Transit;

Publiczna usługa danych GTFS ogranicza wartości do zakresu 02. Google Transit akceptuje wartości od 0 do 5.

W tym polu możesz ustawić maksymalną liczbę dozwolonych przejazdów w ramach taryfy. Nie obejmuje to przenoszeń bloków, czyli przenoszeń w siedzącym miejscu. Jeśli nie chcesz ustawiać limitów liczby przelewów w przypadku danej ceny, pozostaw pole transfers puste.

pathways.txt pathway_mode Typ wyliczeniowy Opcjonalnie Jeśli pole pathway_mode jest puste, Google Transit traktuje je jako nieznane.
stop_times.txt arrival_time Godzina Wymagane warunkowo Liczba godzin jest ograniczona do wartości od 00 do 99, co w zupełności wystarcza na 3-dniowe podróże.
transfers.txt transfer_type Typ wyliczeniowy Wymagane

Wartości 45 nie są obsługiwane i są ignorowane.

Google Transit obsługuje wartości 0, 1, 2 i 3.

trips.txt block_id Identyfikator Opcjonalnie Więcej informacji znajdziesz w sekcji Przykład blokowania przesyłania.

Obsługa eksperymentalna w plikach danych statycznych

Jeśli potrzebujesz pomocy w integracji nowych pól eksperymentalnych w tej kategorii, skontaktuj się z Google Transit.

Rozszerzenia obsługiwane przez Google Transit w plikach danych statycznych

Tabela 4 zawiera informacje o rozszerzeniach Google Transit. Te pola nie są częścią oficjalnego GTFS.

Tabela 4. Obsługiwane rozszerzenia statycznych plików danych
Nazwa pliku Pole Typ pola Wymagane przez Google Transit? Szczegóły implementacji Google Transit
fare_attributes.txt ic_price Liczba zmiennoprzecinkowa Opcjonalnie

To rozszerzenie Google Transit jest dostępne tylko dla partnerów w Japonii.

Pole ic_price to kwota zniżki na zapłatę za tę cenę za pomocą karty inteligentnej. Jeśli w przypadku tej ceny nie ma żadnych zniżek lub karta inteligentna nie jest obsługiwana, wartość pola ic_price musi wynosić -1.

fare_rules.txt contains_route_id Identyfikator Opcjonalnie

rozszerzenie Google Transit;

Ta cena ma zastosowanie tylko do podróży, które obejmują dokładny zestaw tras określony przez wartość route_id we wszystkich wierszach w przypadku tej kombinacji kolumn fare_id, origin_id i destination_id.

Jeśli brakuje kolumny contains_route_id lub wszystkie jej wartości dotyczące tej ceny są puste, oznacza to, że cena nie jest ograniczona w tym parametrze. Jeśli w przypadku ceny podano pole contains_route_id, pole route_id musi być puste.

routes.txt checkin_duration Liczba całkowita Opcjonalnie

rozszerzenie Google Transit;

Pole checkin_duration określa, ile sekund przed planowanym odlotem pasażer powinien się pojawić na lotnisku, aby móc się zameldować i wsiąść na pokład.

Jeśli pasażer dołącza do przejazdu po przesiadce, dowolny zdefiniowany czas przesiadnięcia zastąpi wartość checkin_duration.

Wartość checkin_duration to tylko rekomendacja, którą zwykle podaje operator transportu. Nie musi to być absolutnie ostatni możliwy moment, w którym pasażer może dotrzeć do pojazdu.

routes.txt route_type Typ wyliczeniowy Wymagane

rozszerzenie Google Transit,

Aby dowiedzieć się, jak Google Transit rozszerza opcje wartości route_typeakceptowane przez GTFS, przeczytaj artykuł Rozszerzone typy tras GTFS.

stop_times.txt stop_direction_name Tekst Opcjonalnie

rozszerzenie Google Transit,

Pole stop_direction_name określa kierunek podróży w zględzie na pasażerów. Kierunek jest przechowywany jako wartość direction_nameodjazdu z tego przystanku.

Jeśli pole stop_direction_name jest puste, używane jest zamiast tego pole trip_direction_name obsługiwane przez funkcję tranzytową. Jeśli pola trip_direction_name i stop_direction_name są puste, importer tranzytowy pozostawia je puste. W takim przypadku partnerzy mogą użyć wartości stop_headsign lub trip_headsign. Wartości pola stop_direction_name są normalizowane pod względem wielkości liter.

stops.txt signposted_as Tekst Opcjonalnie

rozszerzenie Google Transit,

Pole signposted_as zawiera dosłowny tekst na tablicy platformy. Przykłady to „W kierunku centrum” i „Wschodnia strona i Brooklyn”.

Pola GTFS platform_code i Transit-supported signposted_as mogą być ustawiane jednocześnie.

Różnice między polami platform_code i signposted_as:

  • Długość. Pole platform_code zawiera zwykle cyfrę lub literę, np. 2 lub C.
  • Język. Pole platform_code nie ma języka, ale wartości signposted_as mogą mieć tłumaczenia.
  • Stabilność. Wartość pola platform_code zmienia się znacznie rzadziej niż wartość pola signposted_as.
stops.txt vehicle_type Liczba całkowita Opcjonalnie

rozszerzenie Google Transit;

Pole vehicle_type określa typ pojazdów, które są używane na przystanku. To pole akceptuje hierarchiczny typ pojazdu (HVT) typy tras. Wartości te pochodzą ze standardu TPEG (European Transport Protocol Experts Group).

agency.txt ticketing_deep_link_id Identyfikator Opcjonalnie

rozszerzenie Google Transit do sprzedaży biletów.

W pliku agency.txt pole ticketing_deep_link_id reprezentuje precyzyjny link, który służy do kupowania biletów na przejazdy w danej agencji.

routes.txt ticketing_deep_link_id Identyfikator Opcjonalnie

rozszerzenie Google Transit do sprzedaży biletów.

W pliku routes.txt pole ticketing_deep_link_id to precyzyjny link używany do zakupu biletów na przejazdy na tej trasie.

stop_times.txt ticketing_stop_time_id Identyfikator Opcjonalnie

rozszerzenie Google Transit do sprzedaży biletów.

Jeśli w pliku stop_times.txt jest obecne, pole ticketing_stop_time_id zastępuje identyfikator, który reprezentuje czas zakończenia sprzedaży biletów z precyzyjnymi linkami.

stop_times.txt ticketing_type Typ wyliczeniowy Opcjonalnie

rozszerzenie Google Transit do sprzedaży biletów.

Pole ticketing_type określa typ biletu, który ma zastosowanie do tego czasu postoju.

Google Transit akceptuje te wartości:

  • Empty. Domyślna – zgodnie z definicją podróży.
  • 0. Dostępne tylko wtedy, gdy agencja lub trasa ma włączony precyzyjny link do rezerwacji.
  • 1 Niedostępny.
ticketing_deep_links.txt android_intent_uri Identyfikator URI Opcjonalnie

rozszerzenie Google Transit do sprzedaży biletów.

Pole android_intent_uri to identyfikator URI intencji, który służy do tworzenia precyzyjnych linków na Androidzie.

ticketing_deep_links.txt ios_universal_link_url URL Opcjonalnie

rozszerzenie Google Transit do sprzedaży biletów.

Pole ios_universal_link_url to uniwersalny URL linku, który służy do tworzenia precyzyjnych linków na iOS.

ticketing_deep_links.txt ticketing_deep_link_id Identyfikator Wymagane

rozszerzenie Google Transit do sprzedaży biletów.

Pole ticketing_deep_link_id to identyfikator precyzyjnego linku.

ticketing_deep_links.txt web_url URL Opcjonalnie

rozszerzenie Google Transit do sprzedaży biletów.

Pole web_url to adres URL używany do tworzenia precyzyjnych linków w internecie.

ticketing_identifiers.txt agency_id Identyfikator Wymagane

rozszerzenie Google Transit do sprzedaży biletów.

Aby określić agencję przystanku, dla którego zdefiniowano domyślne pole ticketing_stop_id, pole agency_id zawiera identyfikator z pliku GTFS agency.txt.

ticketing_identifiers.txt stop_id Identyfikator Wymagane

rozszerzenie Google Transit do sprzedaży biletów.

Aby określić przystanek, dla którego zdefiniowano domyślne pole ticketing_stop_id, pole stop_id zawiera identyfikator z pliku GTFS stops.txt.

ticketing_identifiers.txt ticketing_stop_id Identyfikator Wymagane

rozszerzenie Google Transit do sprzedaży biletów.

Pole ticketing_stop_id zawiera identyfikator biletu zastosowany na przystanku. Opcjonalnie agencja może zakwalifikować identyfikator.

trips.txt exceptional Typ wyliczeniowy Opcjonalnie

To pole wskazuje wyjątkowe przejazdy. kursują poza zwykłym rozkładem jazdy lub są odwodzone z planowanej trasy z powodu specjalnych wydarzeń lub planowanych przerw w poruszaniu się (np. prac na torach).

Google akceptuje te opcje wartości:

  • 0. Usługi regularne
  • 1 Wyjątek dotyczący usługi. Na przykład usługi dodane z powodu specjalnych wydarzeń lub usługi zmieniające zwykłą trasę z powodu planowanych przerw.
trips.txt ticketing_trip_id Identyfikator Opcjonalnie

rozszerzenie Google Transit do sprzedaży biletów.

Jeśli pole ticketing_trip_id jest obecne, jego wartość zastępuje pole trip_id, aby zidentyfikować podróż do wystawienia biletu za pomocą linków bezpośrednich.

trips.txt ticketing_type Typ wyliczeniowy Opcjonalnie

rozszerzenie Google Transit do sprzedaży biletów.

Pole ticketing_type określa typ biletu, który ma zastosowanie w przypadku tej podróży.

Google Transit akceptuje te wartości:

  • 0 Domyślnie. Dostępne tylko wtedy, gdy agencja lub trasa ma włączony precyzyjny link do sprzedaży biletów.
  • 1 Niedostępny.
translations.txt lang Kod języka Opcjonalnie

rozszerzenie Google Transit;

Pole lang nie należy do oficjalnego GTFS, ale Google Transit używa tej wartości, jeśli jest obecna.

Aby określić tłumaczenie wyrażenia, użyj pola lang. Jego wartość nie może być pusta ani und (niezdefiniowany język).

translations.txt trans_id Identyfikator Opcjonalnie

rozszerzenie Google Transit;

Pole trans_id nie należy do oficjalnego GTFS, ale Google Transit używa tej wartości, jeśli jest obecna.

Aby określić token tożsamości wyrażenia, dla którego ma być dostępny przekład, użyj pola trans_id. Każdy wiersz tabeli translations.txt oznacza, że w języku lang wyrażenie trans_id jest tłumaczone na translation.

trips.txt original_trip_id Identyfikator Opcjonalnie

rozszerzenie Google Transit;

Jeśli jest obecny w pliku trips.txt, wartość original_trip_id zastępuje wartość trip_id, która jest używana przez inne systemy. Przykładem jest dopasowanie w czasie rzeczywistym.

trips.txt trip_direction_name Tekst Opcjonalnie

rozszerzenie Google Transit;

Pole trip_direction_name określa kierunek podróży w zględzie na pasażerów. Wartość w tym polu jest przechowywana jako wartość direction_namekażdej podróży.

Jeśli wartość stop_direction_name w tabeli stop_times zmieni się w trakcie podróży, może zastąpić wartość trip_direction_name

Wartości w polu trip_direction_name są normalizowane pod względem wielkości liter.

trips.txt vehicle_category_id Identyfikator Opcjonalnie

rozszerzenie Google Transit,

W pliku trips.txt pole vehicle_category_id identyfikuje pojazd przypisany do tej podróży. Jeśli to pole znajduje się w pliku trips.txt, jego wartość zastąpi wartość vehicle_category_id w pliku routes.txt.