GTFS Schedule ارائه حملونقل برنامهریزی شده را شرح میدهد. GTFS Realtime، که اغلب GTFS-RT نامیده میشود، اطلاعات بهروزرسانی شده درباره سرویس را منتقل میکند. GBFS خدمات جابجایی اشتراکی، از جمله ایستگاهها و وسایل نقلیه موجود را بر اساس جریانهای منتشر شده توصیف میکند. فرمت را بر اساس سوالی که برنامه شما باید پاسخ دهد انتخاب کنید.
این فرمتها دادهها را سازمان میدهند؛ اما هیچ تضمینی برای در دسترس بودن در همه جا یا کیفیت هر جریان ندارند.
GTFS برای نمایش خدمات برنامهریزی شده
یک مجموعه GTFS Schedule شامل فایلهای جدولی است که بهخصوص اپراتورها، ایستگاهها، خطوط، سفرها و زمانهای عبور آنها را شرح میدهد. تقویمها روزهای مربوطه را مشخص میکنند. فایلها با شناسهها به هم مرتبط هستند. مراجع GTFS Schedule.
این فرمت به سوالاتی مانند «این ایستگاه کجاست؟» یا «چه گذری برای این سرویس برنامهریزی شده است؟» پاسخ میدهد. برای استفاده از جدول زمانی باید تقویم و روابط بین فایلها را تفسیر کنید.
فقط خواندن یک فهرست ایستگاهها برای بازسازی عبورها کافی نیست. برعکس، موقعیت یک ایستگاه میتواند بدون نمایش جداول زمانی هم مفید باشد.
GTFS-RT برای بهروزرسانی اطلاعات سرویس
GTFS Realtime میتواند بهروزرسانیهای سفر، موقعیت وسایل نقلیه و هشدارها را فراهم کند. بهروزرسانیهای سفر بهخصوص عبورها و تغییرات سرویس را شامل میشوند. جریانها از Protocol Buffers، یک فرمت ساختاری سریالسازی، استفاده میکنند. معرفی GTFS Realtime.
یک تولیدکننده میتواند بعضی دستهها را منتشر کند بدون اینکه همه را ارائه دهد. وجود جریان موقعیت تضمین نمیکند که برآوردهایی برای همه ایستگاهها وجود داشته باشد.
برای رابط کاربری تفاوت بین عبور برنامهریزی شده و برآورد بهروزرسانی شده را متمایز کنید. راهنمای ما جداول زمانی نظری و زمان واقعی این تفاوت را از دید کاربر توضیح میدهد.
GBFS برای جابجایی اشتراکی
GBFS از جریانهای JSON برای توصیف یک سرویس جابجایی اشتراکی استفاده میکند. بسته به سیستم و نسخه، این جریانها میتوانند ایستگاهها، وضعیت آنها، وسایل نقلیه و ویژگیهای دیگر سرویس را شرح دهند. مستندات بهخصوص اطلاعات ایستگاه و وضعیتهای دسترسی را از هم متمایز میکند. مستندات GBFS.
در برنامه خود مکانهای نسبتاً ثابت را از وضعیتهایی که سریع تغییر میکنند جدا کنید. هنگام تفسیر، نسخه فرمت و زمان ثبت مرتبط را نگه دارید.
جریان دسترسی یک API رزرو یا بازکردن قفل نیست. این کمک میکند تا عرضه را کشف کنید؛ عمل اجاره به عهده سرویس مربوطه است.
مقایسه بر اساس مورد استفاده
| نیاز | فرمت باید بررسی شود |
|---|---|
| توصیف ایستگاهها و خطوط برنامهریزی شده | GTFS Schedule |
| تفسیر گذرهای برنامهریزی شده و روزهای سرویسدهی | GTFS Schedule |
| بهروزرسانی گذرها یا دریافت اطلاعات سرویس | GTFS-RT، بسته به جریانهای منتشر شده |
| مکانیابی ایستگاهها یا وسایل نقلیه جابجایی اشتراکی | GBFS، بسته به دادههای منتشر شده |
مثال طراحی: یک نقشه ایستگاههای تراموا و ایستگاههای دوچرخه را نمایش میدهد. از دادههای ساختاری برای مکانها و وضعیتهای بهروزرسانی شده برای دسترسی دوچرخه استفاده میکند. هر دو لایه نیازهای متفاوتی به کش و بهروزرسانی دارند.
محدودیتهای هر منبع را پیشبینی کنید
نسخهها، فیلدهای اختیاری، پوشش و حقوق استفاده را بررسی کنید. یک شناسه فقط در زمینه خودش معنا دارد: دو تولیدکننده ممکن است رشتههای یکسان را برای موجودیتهای متفاوت استفاده کنند.
نیز دادههای گمشده یا منقضی شده را پیشبینی کنید. یک فهرست خالی از یک جریان در دسترسنبودن به منزله عدم سرویس نباید ارائه شود. از جایگزینی ناگهانی اطلاعات ناشناخته با صفر اجتناب کنید.
استفاده مستقیم از جریانها یا API
یک ادغام مستقیم مسئولیت جمعآوری، اعتبارسنجی و تفسیر منابع را بر عهده شما میگذارد. یک API میتواند یک قرارداد مشترک ارائه دهد؛ اما باید پوشش آن، هشدارها و شرایط آن را همیشه مطالعه کنید.
برای اولین مورد استفاده ROOTE، به چگونه با API ایستگاههای اطراف را جستجو کنیم مراجعه کنید. از نیاز رابط کاربری خود شروع کنید، سپس فیلدهای واقعاً موجود را بررسی نمایید.
خواندن بخشهایی از دادهها و انتخاب یک ساختار
در GTFS Schedule، یک بخش از stop_times.txt ارتباطی بین یک سفر، یک ایستگاه و یک توقف برنامهریزیشده را نشان میدهد. مثال کوتاه زیر آموزشی است: این یک مجموعه کامل GTFS نیست و شناسههای آن باید به trips.txt، stops.txt و تقویمها مرتبط شوند.
برای GTFS Realtime، موجودیت مفید را جستجو کنید: یک TripUpdate میتواند یک توقف را بهروزرسانی کند، یک VehiclePosition موقعیت یک وسیله نقلیه را توصیف میکند، و یک Alert اطلاعات خدماتی را منتقل میکند. موقعیت یک وسیله نقلیه لزوماً تخمین زمان رسیدن نیست. فرمت انتقال، Protocol Buffers است؛ نمایش JSON تشخیصی نمایندگی جریان باینری مرجع نیست.
در GBFS، station_information ایستگاهها را توصیف میکند در حالی که station_status وضعیت انتشار آنها را نشان میدهد. نام برخی شمارندهها و فایلهای موجود بسته به نسخه تغییر میکند. بخش JSON زیر GBFS نسخه ۲.۳ و فیلدهای num_bikes_available و num_docks_available را نشان میدهد؛ نسخه را قبل از استفاده از نمونه بررسی کنید.
یک نقشه مکانها میتواند با دادههای ساختاری شروع شود. صفحه نمایش توقفهای آینده نیازمند بهروزرسانیهای متناظر و یک طرح پشتیبان صریح است. صفحه نمایش دوچرخههای موجود باید شمارندهها، شرایط اجاره و اعتبار زمانی را مدیریت کند. این سه صفحه بهطور خودکار سیاست کش یکسانی ندارند.
# 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
}
قالببندی در دسترس بودن دوچرخه و تازگی آن
انتخاب API یا MCP برای محصول شما
سوالات متداول
آیا GTFS به طور خودکار شامل زمان واقعی است؟
خیر. GTFS Schedule ارائه برنامهریزی شده را نشان میدهد؛ اطلاعات بهروز مربوط به دیگر جریانها، بهخصوص GTFS-RT است.
آیا GBFS امکان باز کردن قفل دوچرخه را فراهم میکند؟
این فرمت سرویس و دادههای عمومی آن را شرح میدهد. اجاره از طریق قابلیتهای ارائه شده توسط اپراتور انجام میشود.
آیا یک فرمت استاندارد پوشش کامل را تضمین میکند؟
خیر. فرمت ساختار را تعریف میکند؛ پوشش و اطلاعات منتشر شده به منابع بستگی دارد.