Tài liệu tham khảo và sự khác biệt về lịch trình GTFS của Google Transit

Trang này mô tả những điểm khác biệt chính giữa Lịch trình GTFS chính thức và cách Google Transit triển khai thông số kỹ thuật trong các lĩnh vực sau:

  • Bỏ qua thông số kỹ thuật chính thức: Các trường này là một phần của GTFS chính thức. Google Transit nhập dữ liệu này mà không gặp lỗi nhưng không chủ động sử dụng dữ liệu.

  • Cách diễn giải khác: Các trường này bao gồm các phần của GTFS chính thức mà Google Transit diễn giải theo cách khác với định nghĩa của GTFS về các phần đó.

  • Hỗ trợ thử nghiệm: Các trường này đang trong giai đoạn thử nghiệm trong quá trình triển khai Google Transit. Nếu bạn muốn triển khai một trường thử nghiệm mới, hãy liên hệ với Nhóm Google Transit.

  • Tiện ích được Google Transit hỗ trợ: Tiện ích này không thuộc GTFS chính thức. Tiện ích được hỗ trợ cho phương tiện công cộng bao gồm cả tiện ích công khai và tiện ích dành riêng cho Google Transit. Mọi đối tác đều có thể gửi thông tin này đến Transit trong nguồn cấp dữ liệu của họ.

Phương tiện công cộng ở dạng tĩnh

Các phần sau đây trình bày những điểm khác biệt chính giữa việc triển khai nguồn cấp dữ liệu tĩnh của GTFS chính thức và Google Transit.

Bỏ qua thông số kỹ thuật chính thức trong nguồn cấp dữ liệu tĩnh

Một số thông số kỹ thuật chính thức mà Transit bỏ qua là thông số thử nghiệm. Để tìm hiểu thêm, hãy truy cập vào gtfs.org.

Bảng 1 liệt kê các tệp GTFS không được Dịch vụ vận tải hỗ trợ trong nguồn cấp dữ liệu tĩnh. Ngoài ra, Transit không hỗ trợ bất kỳ trường nào được xác định trong các tệp này.

Bảng 1. Tệp GTFS không được hỗ trợ trong nguồn cấp dữ liệu tĩnh
areas.txt
fare_leg_rules.txt
fare_products.txt
fare_transfer_rules.txt
levels.txt
stop_areas.txt

Bảng 2 liệt kê tất cả các trường do GTFS xác định mà Dịch vụ vận tải công cộng bỏ qua trong nguồn cấp dữ liệu tĩnh.

Bảng 2. Bỏ qua các trường GTFS trong nguồn cấp dữ liệu tĩnh
Tên tệp Trường bị bỏ qua được xác định trong GTFS Loại trường
fare_attributes.txt payment_method Enum
feed_info.txt default_lang Mã ngôn ngữ
feed_info.txt feed_publisher_name Văn bản
pathways.txt max_slope Số thực dấu phẩy động
routes.txt continuous_drop_off Enum
routes.txt continuous_pickup Enum
routes.txt network_id Mã nhận dạng
routes.txt route_desc Văn bản
routes.txt route_sort_order Số nguyên không âm
stops.txt level_id Mã nhận dạng
stops.txt stop_desc Văn bản
stops.txt stop_url URL
stops.txt tts_stop_name Văn bản
trips.txt bikes_allowed Enum

Cách diễn giải khác nhau trong nguồn cấp dữ liệu tĩnh

Mặc dù chấp nhận một số trường do GTFS xác định, nhưng Transit diễn giải các trường đó khác với GTFS.

Bảng 3 cho thấy các trường trong nguồn cấp dữ liệu tĩnh mà Transit triển khai khác với mô tả trong GTFS.

Bảng 3. Các trường nguồn cấp dữ liệu tĩnh được triển khai theo cách khác nhau
Tên tệp Trường được xác định trong GTFS Loại trường Google Transit có yêu cầu không? Thông tin chi tiết về việc triển khai Google Transit
fare_attributes.txt transfers Enum Bắt buộc

Tiện ích Google Transit.

GTFS công khai giới hạn các giá trị trong khoảng từ 0 đến 2. Google Transit chấp nhận các giá trị từ 0 đến 5.

Sử dụng trường này để đặt số lượt chuyển tối đa được phép cùng với giá vé. Số liệu này không bao gồm các lượt chuyển khối, còn gọi là lượt chuyển chỗ ngồi. Nếu bạn không muốn đặt giới hạn về số lượt chuyển đổi cho một mức giá, hãy để trống trường transfers.

pathways.txt pathway_mode Enum Không bắt buộc Khi bạn chỉ định trường pathway_mode, nếu trường này để trống, Google Transit sẽ chấp nhận và coi trường này là không xác định.
stop_times.txt arrival_time Thời gian Bắt buộc có điều kiện Số giờ được giới hạn ở các giá trị từ 00 đến 99, đủ cho các chuyến đi kéo dài 3 ngày.
transfers.txt transfer_type Enum Bắt buộc

Giá trị của 45 không được hỗ trợ và sẽ bị bỏ qua.

Google Transit hỗ trợ các giá trị 0, 1, 23.

trips.txt block_id Mã nhận dạng Không bắt buộc Để tìm hiểu thêm, hãy xem Ví dụ về việc chuyển khối.

Hỗ trợ thử nghiệm trong nguồn cấp dữ liệu tĩnh

Nếu bạn cần được hỗ trợ để tích hợp các trường thử nghiệm mới trong danh mục này, hãy liên hệ với Google Transit.

Các tiện ích được Google Transit hỗ trợ trong nguồn cấp dữ liệu tĩnh

Bảng 4 cung cấp thông tin về tiện ích Google Transit. Các trường này không thuộc GTFS chính thức.

Bảng 4. Các tiện ích nguồn cấp dữ liệu tĩnh được hỗ trợ
Tên tệp Trường Loại trường Google Transit có yêu cầu không? Thông tin chi tiết về việc triển khai Google Transit
fare_attributes.txt ic_price Số thực dấu phẩy động Không bắt buộc

Tiện ích Google Transit này chỉ dành cho các đối tác ở Nhật Bản.

Trường ic_price thể hiện số tiền chiết khấu phải trả cho giá vé này bằng thẻ thông minh. Nếu không có chiết khấu nào được cung cấp cho giá vé này hoặc thẻ thông minh không được hỗ trợ, thì giá trị của trường ic_price cần phải là -1.

fare_rules.txt contains_route_id Mã nhận dạng Không bắt buộc

Tiện ích Google Transit.

Mức giá này chỉ áp dụng cho chuyến đi đến một nhóm tuyến chính xác được xác định bằng giá trị route_id trong tất cả các hàng cho tổ hợp này của cột fare_id, origin_iddestination_id.

Nếu cột contains_route_id bị thiếu hoặc tất cả giá trị của cột này cho mức giá này đều rỗng, thì mức giá này sẽ không bị hạn chế trong thông số này. Nếu bạn cung cấp trường contains_route_id cho giá vé, thì trường route_id phải trống.

routes.txt checkin_duration Số nguyên Không bắt buộc

Tiện ích Google Transit.

Trường checkin_duration chỉ định số giây mà hành khách nên đến trước giờ khởi hành theo lịch để làm thủ tục và lên máy bay.

Nếu hành khách kết nối với chuyến khởi hành bằng chuyến bay chuyển tiếp, thì mọi thời gian chuyển tiếp đã xác định sẽ ghi đè giá trị checkin_duration.

Giá trị checkin_duration chỉ là một đề xuất thường do nhà điều hành phương tiện công cộng cung cấp. Thời điểm này có thể không phản ánh thời điểm cuối cùng tuyệt đối mà hành khách có thể đến và vẫn lên được xe.

routes.txt route_type Enum Bắt buộc

Tiện ích Google Transit.

Để tìm hiểu cách Google Transit mở rộng các tuỳ chọn giá trị route_type được chấp nhận theo GTFS, hãy xem phần Các loại tuyến GTFS mở rộng.

stop_times.txt stop_direction_name Văn bản Không bắt buộc

Tiện ích Google Transit.

Trường stop_direction_name xác định hướng của chuyến đi cho hành khách. Hướng được lưu trữ dưới dạng giá trị direction_name của điểm khởi hành từ điểm dừng này.

Nếu trường stop_direction_name trống, thì trường trip_direction_name được hỗ trợ chuyển đổi sẽ được sử dụng. Nếu cả trường trip_direction_namestop_direction_name đều trống, thì trình nhập quá cảnh sẽ để trống các trường đó. Trong trường hợp đó, đối tác có thể sử dụng giá trị stop_headsign hoặc trip_headsign. Các giá trị của trường stop_direction_name được chuẩn hoá theo chữ hoa chữ thường.

stops.txt signposted_as Văn bản Không bắt buộc

Tiện ích Google Transit.

Trường signposted_as chứa văn bản nguyên văn được viết trên bảng hiệu cho nền tảng. Ví dụ: "Hướng đến trung tâm" và "Phía đông và Brooklyn".

Bạn có thể đặt đồng thời trường platform_code của GTFS và trường signposted_as được hỗ trợ bằng phương tiện công cộng.

Sau đây là những điểm khác biệt giữa trường platform_codesignposted_as:

  • Chiều dài. Trường platform_code thường chứa một số hoặc chữ cái như 2 hoặc C.
  • Ngôn ngữ. Trường platform_code không có ngôn ngữ, nhưng các giá trị signposted_as có thể có bản dịch.
  • Độ ổn định. Trường platform_code thay đổi ít thường xuyên hơn nhiều so với trường signposted_as.
stops.txt vehicle_type Số nguyên Không bắt buộc

Tiện ích Google Transit.

Trường vehicle_type chỉ định loại phương tiện được sử dụng tại một điểm dừng. Trường này chấp nhận các loại tuyến đường loại xe phân cấp (HVT). Các giá trị HVT được lấy từ tiêu chuẩn Nhóm chuyên gia về giao thức vận tải châu Âu (TPEG).

agency.txt ticketing_deep_link_id Mã nhận dạng Không bắt buộc

Tiện ích bán vé của Google Transit.

Trong tệp agency.txt, trường ticketing_deep_link_id đại diện cho đường liên kết sâu dùng để đặt vé cho các chuyến đi của công ty này.

routes.txt ticketing_deep_link_id Mã nhận dạng Không bắt buộc

Tiện ích bán vé của Google Transit.

Trong tệp routes.txt, trường ticketing_deep_link_id đại diện cho đường liên kết sâu dùng để đặt vé cho các chuyến đi của tuyến đường này.

stop_times.txt ticketing_stop_time_id Mã nhận dạng Không bắt buộc

Tiện ích bán vé của Google Transit.

Nếu có trong tệp stop_times.txt, trường ticketing_stop_time_id sẽ ghi đè giá trị nhận dạng đại diện cho thời gian dừng để mua vé bằng đường liên kết sâu.

stop_times.txt ticketing_type Enum Không bắt buộc

Tiện ích bán vé của Google Transit.

Trường ticketing_type chỉ định loại vé áp dụng cho thời gian dừng này.

Google Transit chấp nhận các giá trị sau:

  • Empty. Mặc định – do chuyến đi xác định.
  • 0. Chỉ có sẵn nếu đại lý hoặc tuyến đường có đường liên kết sâu đến trang đặt vé đã được bật.
  • 1. Không có sẵn.
ticketing_deep_links.txt android_intent_uri URI Không bắt buộc

Tiện ích bán vé của Google Transit.

Trường android_intent_uri đại diện cho URI ý định được dùng để liên kết sâu trên Android.

ticketing_deep_links.txt ios_universal_link_url URL Không bắt buộc

Tiện ích bán vé của Google Transit.

Trường ios_universal_link_url đại diện cho URL đường liên kết phổ quát dùng để liên kết sâu trên iOS.

ticketing_deep_links.txt ticketing_deep_link_id Mã nhận dạng Bắt buộc

Tiện ích bán vé của Google Transit.

Trường ticketing_deep_link_id đại diện cho giá trị nhận dạng của đường liên kết sâu.

ticketing_deep_links.txt web_url URL Không bắt buộc

Tiện ích bán vé của Google Transit.

Trường web_url đại diện cho URL dùng để liên kết sâu trên web.

ticketing_identifiers.txt agency_id Mã nhận dạng Bắt buộc

Tiện ích bán vé của Google Transit.

Để chỉ định công ty vận tải của điểm dừng mà trường ticketing_stop_id mặc định được xác định, trường agency_id sẽ chứa mã nhận dạng từ tệp agency.txt của GTFS.

ticketing_identifiers.txt stop_id Mã nhận dạng Bắt buộc

Tiện ích bán vé của Google Transit.

Để chỉ định điểm dừng mà trường ticketing_stop_id mặc định được xác định, trường stop_id sẽ chứa mã nhận dạng từ tệp stops.txt của GTFS.

ticketing_identifiers.txt ticketing_stop_id Mã nhận dạng Bắt buộc

Tiện ích bán vé của Google Transit.

Trường ticketing_stop_id chứa mã vé được áp dụng cho điểm dừng. Một cơ quan có thể xác định giấy tờ tuỳ thân (không bắt buộc).

trips.txt exceptional Enum Không bắt buộc

Trường này cho biết các chuyến đi đặc biệt. Các chuyến tàu này hoạt động ngoài giờ biểu định kỳ hoặc bị chuyển hướng khỏi tuyến đường thông thường do các sự kiện đặc biệt hoặc sự cố theo kế hoạch (chẳng hạn như công việc sửa chữa đường ray, v.v.).

Google chấp nhận các tuỳ chọn giá trị sau:

  • 0. Dịch vụ thông thường
  • 1. Ngoại lệ dịch vụ. Ví dụ: các dịch vụ được thêm do sự kiện đặc biệt hoặc dịch vụ bị chuyển hướng khỏi tuyến đường thông thường do sự gián đoạn theo kế hoạch.
trips.txt ticketing_trip_id Mã nhận dạng Không bắt buộc

Tiện ích bán vé của Google Transit.

Nếu có trường ticketing_trip_id, thì giá trị của trường này sẽ ghi đè trường trip_id để xác định chuyến đi cho việc mua vé bằng đường liên kết sâu.

trips.txt ticketing_type Enum Không bắt buộc

Tiện ích bán vé của Google Transit.

Trường ticketing_type chỉ định loại vé áp dụng cho chuyến đi này.

Google Transit chấp nhận các giá trị sau:

  • 0. Mặc định. Chỉ có thể sử dụng nếu công ty quảng cáo hoặc tuyến đường có đường liên kết sâu đến trang mua vé đã được bật.
  • 1. Không có sẵn.
translations.txt lang Mã ngôn ngữ Không bắt buộc

Tiện ích Google Transit.

Trường lang không thuộc GTFS chính thức, nhưng Google Transit sử dụng giá trị này khi có.

Để chỉ định bản dịch của một cụm từ, hãy sử dụng trường lang. Giá trị của thuộc tính này không được để trống hoặc und (một ngôn ngữ chưa xác định).

translations.txt trans_id Mã nhận dạng Không bắt buộc

Tiện ích Google Transit.

Trường trans_id không thuộc GTFS chính thức, nhưng Google Transit sử dụng giá trị này khi có.

Để chỉ định mã thông báo nhận dạng của cụm từ được cung cấp bản dịch, hãy sử dụng trường trans_id. Mỗi hàng của bảng translations.txt có nghĩa là trong ngôn ngữ lang, cụm từ trans_id sẽ dịch thành translation.

trips.txt original_trip_id Mã nhận dạng Không bắt buộc

Tiện ích Google Transit.

Nếu có trong tệp trips.txt, giá trị original_trip_id sẽ ghi đè giá trị trip_id để các hệ thống khác sử dụng. Ví dụ: so khớp theo thời gian thực.

trips.txt trip_direction_name Văn bản Không bắt buộc

Tiện ích Google Transit.

Trường trip_direction_name xác định hướng của chuyến đi cho hành khách. Giá trị trong trường này được lưu trữ dưới dạng giá trị direction_name của mỗi chuyến đi.

Nếu giá trị stop_direction_name trong bảng stop_times thay đổi trong suốt chuyến đi, thì giá trị này có thể ghi đè giá trị trip_direction_name.

Các giá trị trong trường trip_direction_name được chuẩn hoá theo chữ hoa chữ thường.

trips.txt vehicle_category_id Mã nhận dạng Không bắt buộc

Tiện ích Google Transit.

Trong tệp trips.txt, trường vehicle_category_id xác định xe được phân bổ cho chuyến đi này. Khi trường này nằm trong tệp trips.txt, giá trị của trường sẽ ghi đè giá trị vehicle_category_id trong tệp routes.txt.