GTFS Schedule mô tả dịch vụ vận tải đã được lập kế hoạch. GTFS Realtime, thường gọi là GTFS-RT, truyền tải thông tin dịch vụ được cập nhật. GBFS mô tả dịch vụ di chuyển chia sẻ, bao gồm các trạm và phương tiện có sẵn theo các luồng được công bố. Hãy chọn định dạng dựa trên vấn đề mà ứng dụng của bạn cần giải quyết.
Các định dạng này tổ chức dữ liệu; chúng không đảm bảo dữ liệu luôn có ở mọi nơi hoặc chất lượng của từng luồng.
GTFS để mô tả dịch vụ theo kế hoạch
Một bộ GTFS Schedule tập hợp các tệp bảng mô tả các nhà khai thác, các điểm dừng, tuyến đường, chuyến đi và thời gian đi qua. Các lịch biểu chỉ ra các ngày áp dụng. Các tệp được liên kết bằng các định danh. Tham khảo GTFS Schedule.
Nó cho phép trả lời các câu hỏi như “điểm dừng này nằm ở đâu?” hoặc “chuyến xe nào được dự kiến cho dịch vụ này?”. Để sử dụng lịch trình, bạn cần hiểu lịch biểu và mối quan hệ giữa các tệp.
Chỉ đọc danh sách điểm dừng thì không đủ để xây dựng lại các chuyến đi. Ngược lại, vị trí điểm dừng có thể hữu ích ngay cả khi không hiển thị lịch trình.
GTFS-RT để cập nhật thông tin dịch vụ
GTFS Realtime có thể cung cấp cập nhật chuyến đi, vị trí phương tiện và cảnh báo. Cập nhật chuyến đi bao gồm các thời gian đi qua và thay đổi dịch vụ. Các luồng sử dụng Protocol Buffers, một định dạng tuần tự hóa có cấu trúc. Giới thiệu GTFS Realtime.
Nhà sản xuất có thể công bố một số loại thông tin mà không cần tất cả các loại khác. Việc tồn tại luồng vị trí không đảm bảo có dự báo cho tất cả các điểm dừng.
Đối với giao diện, hãy phân biệt giữa thời gian dự kiến theo lịch và ước lượng cập nhật. Hướng dẫn của chúng tôi lịch trình lý thuyết và thời gian thực giải thích sự khác biệt này từ góc nhìn người dùng.
GBFS cho di chuyển chia sẻ
GBFS sử dụng các luồng JSON để mô tả dịch vụ di chuyển chia sẻ. Tùy hệ thống và phiên bản, có thể bao gồm thông tin trạm, trạng thái trạm, phương tiện và các đặc tính khác của dịch vụ. Tài liệu đặc biệt phân biệt thông tin về trạm và trạng thái sẵn có. Tài liệu GBFS.
Trong ứng dụng của bạn, hãy tách riêng vị trí tương đối ổn định với trạng thái thay đổi nhanh. Lưu phiên bản định dạng và dấu thời gian liên quan khi phân tích dữ liệu.
Luồng sẵn có không phải là API đặt chỗ hay mở khóa. Nó giúp bạn tìm hiểu dịch vụ; việc thuê xe nằm trong phạm vi dịch vụ của nhà cung cấp.
So sánh theo trường hợp sử dụng
| Nhu cầu | Định dạng cần xem xét |
|---|---|
| Mô tả điểm dừng và tuyến đường đã lên kế hoạch | GTFS Schedule |
| Diễn giải các chuyến đi dự kiến và ngày phục vụ | GTFS Schedule |
| Cập nhật chuyến đi hoặc nhận thông tin dịch vụ | GTFS-RT, tùy các luồng được công bố |
| Xác định vị trí các trạm hoặc phương tiện di chuyển chia sẻ | GBFS, tùy dữ liệu được công bố |
Ví dụ thiết kế: một bản đồ hiển thị các điểm dừng xe điện và các trạm xe đạp. Nó dùng dữ liệu cấu trúc để định vị và trạng thái cập nhật để theo dõi khả dụng của xe đạp. Hai lớp này có nhu cầu khác biệt về bộ nhớ đệm và cập nhật.
Dự kiến giới hạn của mỗi nguồn dữ liệu
Kiểm tra phiên bản, các trường tuỳ chọn, phạm vi và quyền sử dụng. Mã định danh chỉ có ý nghĩa trong ngữ cảnh; hai nhà cung cấp có thể dùng chuỗi giống nhau cho các thực thể khác nhau.
Cũng dự kiến dữ liệu thiếu hoặc lỗi thời. Danh sách rỗng từ luồng không sẵn có không nên hiển thị như không có dịch vụ. Tránh thay thế im lặng thông tin không biết bằng giá trị 0.
Sử dụng luồng trực tiếp hay API
Tích hợp trực tiếp bạn phải tự thu thập, kiểm tra và phân tích nguồn. API có thể cung cấp hợp đồng chung, nhưng bạn vẫn cần đọc phạm vi, cảnh báo và điều kiện của nó.
Đối với trường hợp sử dụng đầu tiên của ROOTE, xem cách tìm điểm dừng gần nhất với API. Bắt đầu từ nhu cầu giao diện, rồi kiểm tra các trường có thực sự sẵn có.
Đọc các trích đoạn và chọn một kiến trúc
Trong GTFS Schedule, một trích đoạn của file stop_times.txt liên kết một chuyến đi, một điểm dừng và một thời gian dự kiến qua. Ví dụ thu nhỏ dưới đây mang tính giáo dục: nó không phải là bộ dữ liệu GTFS đầy đủ và các định danh phải được liên kết với trips.txt, stops.txt và các lịch trình.
Đối với GTFS Realtime, tìm kiếm thực thể hữu ích: một TripUpdate có thể cập nhật thời gian đi qua, một VehiclePosition mô tả vị trí, và một Alert truyền tải thông tin dịch vụ. Vị trí của một phương tiện không tự động là ước tính thời gian đến. Định dạng truyền tải là Protocol Buffers; một biểu diễn JSON để chẩn đoán không phải là luồng nhị phân chuẩn tham chiếu.
Trong GBFS, station_information mô tả các trạm trong khi station_status mô tả trạng thái được công bố của chúng. Tên của một số bộ đếm và các file có sẵn thay đổi theo phiên bản. Trích đoạn JSON dưới đây minh họa GBFS 2.3 với các trường num_bikes_available và num_docks_available; hãy kiểm tra phiên bản trước khi sử dụng ví dụ.
Một bản đồ địa điểm có thể bắt đầu với dữ liệu cấu trúc. Màn hình các chuyến đi sắp tới sau đó cần các cập nhật tương ứng và một kế hoạch dự phòng rõ ràng. Màn hình xe đạp có sẵn phải quản lý các bộ đếm, điều kiện thuê và tính hợp lệ theo thời gian. Ba màn hình này không tự động dùng chung chính sách bộ nhớ đệm giống nhau.
# Extrait pédagogique de stop_times.txt
trip_id,arrival_time,departure_time,stop_id,stop_sequence
trip_demo,08:10:00,08:10:00,stop_demo,1
# Extrait pédagogique de station_status en GBFS 2.3
{
"station_id": "station_demo",
"num_bikes_available": 3,
"num_docks_available": 7,
"is_installed": true,
"is_renting": true,
"is_returning": true,
"last_reported": 1720000000
}
Định dạng khả năng sẵn có của xe đạp và độ mới của dữ liệu
Chọn API hoặc MCP cho sản phẩm của bạn
Câu hỏi thường gặp
GTFS có tự động bao gồm thời gian thực không?
Không. GTFS Schedule thể hiện dịch vụ theo kế hoạch; thông tin cập nhật thuộc các luồng khác như GTFS-RT.
GBFS có cho phép mở khóa xe đạp không?
Nó mô tả dịch vụ và dữ liệu công khai. Việc thuê xe được thực hiện bởi nhà điều hành cung cấp dịch vụ.
Định dạng chuẩn có đảm bảo phủ sóng đầy đủ?
Không. Định dạng chỉ định cấu trúc; phạm vi và thông tin được công bố phụ thuộc vào nguồn cung cấp.