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 specyficzne dla Google Transit. Każdy partner może przesyłać te informacje do Transitu w swoim pliku danych.

Statyczne informacje o transporcie publicznym

W następnych sekcjach opisaliśmy główne różnice między oficjalnym GTFS a plikiem danych statycznych implementowanym 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

Różna interpretacja w plikach 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 wersja 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 przejazdów blokowych, czyli przejazdów w 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 Opcjonalny 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 Opcjonalny Więcej informacji znajdziesz w artykule 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 Opcjonalny

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

Pole ic_price to kwota zniżkowa do zapłaty za tę cenę przy użyciu karty inteligentnej. Jeśli nie ma żadnych zniżek dla tej ceny lub karta inteligentna nie jest obsługiwana, wartość pola ic_price musi wynosić -1.

fare_rules.txt contains_route_id Identyfikator Opcjonalny

rozszerzenie Google Transit,

Ta cena dotyczy tylko 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 Opcjonalny

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 z przesiadką, dowolny zdefiniowany czas przesiadki zastąpi wartość checkin_duration.

Wartość checkin_duration to tylko zalecenie, które 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 Opcjonalny

rozszerzenie Google Transit,

Pole stop_direction_name określa kierunek podróży w stosunku do 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 niego pole trip_direction_name obsługiwane przez tranzyt. Jeśli pola trip_direction_name i stop_direction_name są puste, importer tranzytu 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 Opcjonalny

rozszerzenie Google Transit,

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

Pola GTFS platform_code i Wspierane przez transport publiczny 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 Opcjonalny

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 HVT są oparte na standardzie TPEG (European Transport Protocol Experts Group).

agency.txt ticketing_deep_link_id Identyfikator Opcjonalny

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 rezerwacji przejazdów w danej agencji.

routes.txt ticketing_deep_link_id Identyfikator Opcjonalny

rozszerzenie Google Transit do sprzedaży biletów.

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

stop_times.txt ticketing_stop_time_id Identyfikator Opcjonalny

rozszerzenie Google Transit do sprzedaży biletów.

Jeśli jest obecny w pliku stop_times.txt, 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 Opcjonalny

rozszerzenie Google Transit do sprzedaży biletów.

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

Google Transit akceptuje te wartości:

  • Empty Domyślny – 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 Opcjonalny

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 Opcjonalny

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 Opcjonalny

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 Opcjonalny

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 Opcjonalny

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 Opcjonalny

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 rezerwacji.
  • 1 Niedostępny.
translations.txt lang Kod języka Opcjonalny

rozszerzenie Google Transit,

Pole lang nie jest częścią 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 Opcjonalny

rozszerzenie Google Transit,

Pole trans_id nie jest częścią oficjalnego GTFS, ale Google Transit używa tej wartości, jeśli jest obecne.

Aby określić token tożsamości wyrażenia, dla którego podano tłumaczenie, 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 Opcjonalny

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 Opcjonalny

rozszerzenie Google Transit,

Pole trip_direction_name określa kierunek podróży w stosunku do 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 Opcjonalny

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.

vehicle_categories.txt vehicle_category_id Identyfikator Wymagane

rozszerzenie Google Transit,

Identyfikuje kategorię pojazdu.

vehicle_categories.txt vehicle_amenity_id Identyfikator Opcjonalny

rozszerzenie Google Transit,

Określa zestaw udogodnień dostępnych dla wszystkich pasażerów w danej kategorii pojazdu. Jeśli w ramach tej samej kategorii pojazdów dostępne są różne zestawy udogodnień, zapoznaj się z informacjami w sekcji vehicle_category_amenities.txt .

vehicle_amenities.txt vehicle_amenity_id Identyfikator Wymagane

rozszerzenie Google Transit,

Identyfikuje zestaw udogodnień.

vehicle_amenities.txt ac_availability Typ wyliczeniowy Opcjonalny

rozszerzenie Google Transit,

Określa, czy klimatyzacja jest dostępna.

Google akceptuje te wartości:

  • 0 Domyślnie. Nieznany.
  • 1 Dostęp w każdej chwili, gdziekolwiek jesteś.
  • 2 Niedostępny.
vehicle_amenities.txt toilet_availability Typ wyliczeniowy Opcjonalny

rozszerzenie Google Transit,

Określa, czy w pojazdach jest dostępna toaleta.

Google akceptuje te wartości:

  • 0 Domyślnie. Nieznany.
  • 1 Dostęp w każdej chwili, gdziekolwiek jesteś.
  • 2 Niedostępny.
vehicle_amenities.txt gender_accessibility Typ wyliczeniowy Opcjonalny

rozszerzenie Google Transit,

Określa, czy obowiązują ograniczenia dotyczące płci.

Google akceptuje te wartości:

  • 0 Domyślnie. Nieznany.
  • 1. Brak ograniczeń związanych z płcią.
  • 2.Dostępna tylko dla kobiet.
  • 3.Ograniczona do mężczyzn.
vehicle_amenities.txt seat_type Typ wyliczeniowy Opcjonalny

rozszerzenie Google Transit,

Określa typ miejsca.

Google akceptuje te wartości:

  • 0 Domyślnie. Siedzenie (nie składane, może być odchylane).
  • 1. Łóżko nierozkładane (nie można go odchylić jak siedzenia).
  • 2 Fotel z możliwością odchylania oparcia.
vehicle_amenities.txt service_class Typ wyliczeniowy Opcjonalny

rozszerzenie Google Transit,

Określa klasę miejsca.

Google akceptuje te wartości:

  • 0 Domyślnie. Nieznany.
  • 1 Pierwsza klasa.
  • 2 Druga klasa.
  • 3 Trzecia klasa.
  • 4 Business.
  • 5 Klasa ekonomiczna premium.
  • 6. Ekonomia.
vehicle_amenities.txt service_class_code Ciąg znaków Opcjonalny

rozszerzenie Google Transit,

Określa skrócony kod klasy (np. 1A dla pierwszej klasy klimatyzowanej). To pole jest bardziej szczegółową wersją pola class, w którym można określić klasy niedostępne w enumeracji class.

vehicle_amenities.txt seat_plug Typ wyliczeniowy Opcjonalny

rozszerzenie Google Transit,

Określa, czy w miejscu siedzenia jest dostępna wtyczka elektryczna lub USB (dowolnego typu).

Google akceptuje te wartości:

  • 0 Domyślnie. Nieznany.
  • 1 Dostępne na wszystkich miejscach.
  • 2 Niedostępny.
vehicle_amenities.txt row_layout_summary Ciąg znaków Opcjonalny

rozszerzenie Google Transit,

Określa liczbę miejsc siedzących lub łóżek w jednym rzędzie pojazdu. Przykłady: „2” (2 miejsca w rzędzie, ale nie wiadomo, czy są oddzielone czy obok siebie), „1+1” (2 osobne miejsca w rzędzie), „2+2” (4 miejsca w rzędzie z przedziałem pośrodku).

vehicle_amenities.txt row_leg_space Typ wyliczeniowy Opcjonalny

rozszerzenie Google Transit,

Określa, czy rzędy mają dodatkowe miejsce na nogi.

Google akceptuje te wartości:

  • 0 Domyślnie. Nieznana / nie dotyczy.
  • 1. Standardowa przestrzeń na nogi.
  • 2 Dodatkowe miejsce na nogi.
vehicle_category_amenities.txt vehicle_category_id Identyfikator Wymagane

rozszerzenie Google Transit,

Identyfikuje kategorię pojazdu. Ta sama kategoria pojazdu może mieć wiele zestawów udogodnień, jeśli wartość tego pola jest powtarzana w wielu wierszach. Jest to zwykle przydatne, gdy kategoria pojazdu ma różne klasy usług.

vehicle_category_amenities.txt vehicle_amenity_id Identyfikator Wymagane

rozszerzenie Google Transit,

Określa zestaw udogodnień dostępnych dla wszystkich pasażerów w danej kategorii pojazdu.