Tài liệu tham khảo và điểm 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 triển khai quy cách trong các phần sau:

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

  • 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 khác với định nghĩa GTFS của 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 hỗ trợ Google Transit: Tiện ích này không thuộc GTFS chính thức. Tiện ích hỗ trợ Phương tiện công cộng bao gồm cả tiện ích công cộng 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 Phương tiện công cộng trong nguồn cấp dữ liệu của họ.

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

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

Bỏ qua quy cách 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 bị Phương tiện công cộng bỏ qua đang trong giai đoạn 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 mà phương tiện công cộng không hỗ trợ trong nguồn cấp dữ liệu tĩnh. Ngoài ra, phương tiện công cộng không hỗ trợ các trường được xác định trong những tệp này.

Bảng 1. Các 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 sẽ bị Transit 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 Liệt kê
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 Liệt kê
routes.txt continuous_pickup Liệt kê
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
stops.txt bikes_allowed Liệt kê

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

Mặc dù Transit chấp nhận một số trường do GTFS xác định, nhưng Transit sẽ hiểu các trường này 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 khác nhau
Tên tệp Trường được xác định trong GTFS Loại trường Google Transit bắt buộc? Thông tin chi tiết về việc triển khai Google Transit
fare_attributes.txt transfers Liệt kê Bắt buộc

Tiện ích Google Transit.

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

Dùng trường này để đặt số lượt chuyển tối đa được phép cùng với giá vé. Phương pháp này không bao gồm chuyển khối (còn gọi là chuyển tại chỗ ngồi). Nếu bạn không muốn đặt giới hạn về số lần chuyển một giá vé, hãy để trống trường transfers.

pathways.txt pathway_mode Liệt kê Không bắt buộc Khi trường pathway_mode được chỉ định, nếu trường này bị để 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 Giờ chỉ áp dụng cho 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 Liệt kê Bắt buộc

Cá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 bài viết Ví dụ về cách chặn yêu cầu chuyển.

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

Nếu bạn cần 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ề các tiện ích của Google Transit. Các trường này không thuộc GTFS chính thức.

Bảng 4. Các phần mở rộng về nguồn cấp dữ liệu tĩnh được hỗ trợ
Tên tệp Trường Loại trường Google Transit bắt buộc? 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 này của Google Transit 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 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 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.

Giá vé này chỉ áp dụng cho những chuyến đi vào một nhóm tuyến đường 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 cột fare_id, origin_iddestination_id này.

Nếu thiếu cột contains_route_id hoặc tất cả giá trị của cột đó cho giá vé này đều rỗng, thì giá vé 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 thời gian sớm nhất định mà một hành khách nên đến trước giờ khởi hành theo lịch trình để làm thủ tục và lên máy bay.

Nếu hành khách dùng phương thức chuyển tuyến để kết nối với điểm khởi hành, thì thời gian vận chuyển đã xác định sẽ ghi đè giá trị checkin_duration.

Giá trị checkin_duration chỉ là một đề xuất thường do nhà vận hành phương tiện công cộng cung cấp. Giá trị 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 nơi và vẫn lên xe.

routes.txt route_type Liệt kê 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 bài viết 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 đi của chuyến đi cho hành khách. Thông tin đường đi đượ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 hỗ trợ Phương tiện công cộng sẽ được dùng. Nếu cả hai trường trip_direction_namestop_direction_name đều trống, thì trình nhập chuyển đổi sẽ để trống các trường này. 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á 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 của nền tảng. Ví dụ: "Hướng về trung tâm" và "Đường 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ởi Transit.

Sau đây là sự khác biệt giữa các trường platform_codesignposted_as:

  • Độ 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 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 xe dùng tại một điểm dừng. Trường này chấp nhận loại tuyến đường của loại xe phân cấp (HVT). Các giá trị HVT lấy từ tiêu chuẩn của Nhóm chuyên gia về giao thức truyề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é 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 để bán vé cho các chuyến đi của công ty quảng cáo 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é 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 để bán vé cho các chuyến đi trong 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é 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 thể hiện thời gian ngừng bán vé bằng các đường liên kết sâu.

stop_times.txt ticketing_type Liệt kê Không bắt buộc

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

Trường ticketing_type chỉ định loại bán vé áp dụng cho thời gian ngừ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ỉ dùng được nếu đại lý hoặc tuyến đường có đường liên kết sâu để bán vé được bật.
  • 1. Không có.
ticketing_deep_links.txt android_intent_uri URI Không bắt buộc

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

Trường android_intent_uri đại diện cho URI ý định 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é Google Transit.

Trường ios_universal_link_url đại diện cho URL liên kết chung được 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é 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é 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é Google Transit.

Để chỉ định đại lý 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 trong 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é 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é Google Transit.

Trường ticketing_stop_id chứa mã bán vé áp dụng cho điểm dừng đó. Nếu muốn, một đại lý sẽ đủ điều kiện được cấp mã này.

trips.txt exceptional Liệt kê Không bắt buộc

Trường này biểu thị những chuyến đi đặc biệt. Xe này hoạt động ngoài lịch trình thông thường hoặc được chuyển hướng khỏi tuyến đường thông thường do các sự kiện đặc biệt hoặc tình trạng gián đoạn theo kế hoạch (chẳng hạn như công việc trên đường đua, v.v.).

Google chấp nhận các lựa chọn giá trị sau:

  • 0. Các dịch vụ thông thường
  • 1. Trường hợp ngoại lệ của dịch vụ. Ví dụ: những dịch vụ được thêm do các sự kiện đặc biệt hoặc dịch vụ chuyển hướng khỏi tuyến đường thông thường do 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é Google Transit.

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

trips.txt ticketing_type Liệt kê Không bắt buộc

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

Trường ticketing_type xác đị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ó sẵn nếu đại lý hoặc tuyến đường có đường liên kết sâu để bán vé được bật.
  • 1. Không có.
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ẽ sử dụng giá trị này nếu 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ữ không 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ẽ sử dụng giá trị này nếu có.

Để chỉ định mã thông báo giá trị 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 sang 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, thì giá trị original_trip_id sẽ ghi đè giá trị trip_id để các hệ thống khác sử dụng. Một ví dụ là tính năng 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 đi 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á 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 sẽ 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 này sẽ ghi đè giá trị vehicle_category_id trong tệp routes.txt.