مرجع GTFS في الوقت الفعلي

تتيح خلاصة "الوقت الفعلي" في هيئة النقل العام (GTFS) لمؤسسات النقل العام تزويد المستهلكين بمعلومات في الوقت الفعلي عن انقطاع الخدمة (المحطات المغلقة، والخطوط التي لا تعمل، والتأخيرات المهمة، وما إلى ذلك) والموقع الجغرافي لمركباتهم وأوقات الوصول المتوقّعة.

تتم مناقشة الإصدار 2.0 من مواصفات الخلاصة وتوثيقها على هذا الموقع الإلكتروني.

تعريفات المصطلحات

حقل مطلوب

في الإصدار 2.0 والإصدارات الأحدث من مواصفات الخلاصة العامة للنقل العام (GTFS)، يوضّح العمود حقل مطلوب الحقول التي يجب أن يقدّمها المنتج حتى تكون بيانات النقل العام صالحة ومفهومة للتطبيق المستخدَم.

يتم استخدام القيم التالية في الحقل حقل مطلوب:

  • مطلوبة: يجب تقديم هذا الحقل من قِبل مُنتج خلاصة GTFS في الوقت الفعلي.
  • مطلوب بشروط: هذا الحقل مطلوب بشروط معيّنة، وتم توضيحها في حقل الوصف. خارج هذه الشروط، يكون الحقل اختياريًا.
  • اختياري: هذا الحقل اختياري ولا يحتاج إلى تنفيذه من قِبل المنتجين. في حال توفّر البيانات في أنظمة تحديد المواقع الجغرافية التلقائية للمركبات (مثل VehiclePosition timestamp ننصح المنتجين بتقديم هذه الحقول الاختيارية إن أمكن.

ملاحظة: لم يتم تحديد المتطلبات الدلالية في الإصدار 1.0 من مواصفات GTFS في الوقت الفعلي، وبالتالي قد لا تستوفي الخلاصات التي تتضمّن gtfs_realtime_version من 1 هذه المتطلبات (اطّلِع على اقتراح المتطلبات الدلالية للحصول على التفاصيل).

عدد العناصر في الحقل

يمثّل عدد العناصر في الحقل عدد العناصر التي يمكن توفيرها لحقل معيّن مع القيم التالية:

عليك دائمًا الإشارة إلى حقلَي مطلوب والوصف لمعرفة الحالات التي يكون فيها الحقل مطلوبًا أو مطلوبًا بشكل مشروط أو اختياري. يُرجى الاطّلاع على gtfs-realtime.proto لعدد العناصر في الحقل المخصّص لمنصّة البروتوكول.

أنواع بيانات المخزن المؤقت للبروتوكول

يتم استخدام أنواع بيانات المخزن المؤقت للبروتوكولات التالية لوصف عناصر الخلاصة:

  • الرسالة: نوع معقّد
  • تعداد: قائمة القيم الثابتة

الحقول التجريبية

تجدر الإشارة إلى أن الحقول المصنّفة على أنها تجريبية تخضع للتغيير ولم يتم استخدامها رسميًا بعد في المواصفات. قد يتم استخدام الحقل تجريبي رسميًا في المستقبل.

فهرس العنصر

العناصر

الرسالة من MessageFeed

محتوى رسالة الخلاصة يتم الحصول على كل رسالة في ساحة المشاركات كاستجابة لطلب HTTP مناسب. GET يتم تعريف خلاصة الوقت الفعلي دائمًا بالنسبة إلى خلاصة GTFS حالية. يتم التعامل مع جميع أرقام تعريف الكيانات في ما يتعلق بخلاصة GTFS.

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
header FeedHeader حقل مطلوب واحد البيانات الوصفية حول هذه الخلاصة ورسالة الخلاصة
entity FeedEntity مطلوب بشكل مشروط عدد كبير محتوى الخلاصة إذا كانت هناك معلومات في الوقت الفعلي متوفّرة لشركة النقل العام، يجب تقديم هذا الحقل. وإذا كان هذا الحقل فارغًا، على المستهلكين أن يفترضوا عدم توفّر معلومات في الوقت الفعلي للنظام.

رسالة عنوان الخلاصة

البيانات الوصفية حول الخلاصة المضمّنة في رسائل الخلاصة

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
gtfs_realtime_version string حقل مطلوب واحد تمثّل هذه السمة إصدار مواصفات الخلاصة. الإصدار الحالي هو 2.0.
incrementality Incrementality حقل مطلوب واحد
timestamp uint64 حقل مطلوب واحد يحدّد هذا الطابع الزمني اللحظة التي تمّ فيها إنشاء محتوى هذه الخلاصة (بتوقيت الخادم). وقت POSIX (أي عدد الثواني منذ 1 كانون الثاني (يناير) 1970 00:00:00 بالتوقيت العالمي المنسّق). لتجنّب انحراف الوقت بين الأنظمة التي تنتج المعلومات وتستهلكها في الوقت الفعلي، ننصحك بشدة باستخراج timestamp من خادم الوقت. من المقبول تمامًا استخدام خوادم Stratum 3 أو حتى طبقات الطبقات الأدنى نظرًا لأن الاختلافات في الوقت تصل إلى بضع ثوانٍ.

التعداد

يحدِّد هذا الإعداد ما إذا كان عملية الجلب الحالية متزايدة أم لا.

  • FULL_DATASET: سيحلّ تعديل الخلاصة هذا محلّ جميع المعلومات السابقة التي تخصّ الخلاصة في الوقت الفعلي. وبالتالي، من المتوقع أن يقدم هذا التحديث نبذة كاملة عن جميع المعلومات المعروفة في الوقت الفعلي.
  • DIFFERENTIAL: هذا الوضع غير متوافق حاليًا والسلوك غير محدّد في الخلاصات التي تستخدم هذا الوضع. هناك مناقشات في القائمة البريدية لـ GTFS في الوقت الفعلي حول تحديد سلوك وضع DIFFERENTIAL بالكامل وسيتم تعديل المستندات عند الانتهاء من هذه المناقشات.

القيم

القيمة
FULL_DATASET
DIFFERENTIAL

رسالة FeedEntity

تعريف (أو تحديث) كيان في خلاصة النقل العام. في حال لم يتم حذف الكيان، يجب تعبئة حقل واحد بالضبط من trip_update وvehicle وalert.

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
id string حقل مطلوب واحد المعرّف الفريد للخلاصة لهذا الكيان لا يتم استخدام أرقام التعريف إلا لتقديم دعم متزايد. يجب أن يتم تحديد الكيانات الفعلية التي تشير إليها الخلاصة بواسطة أدوات اختيار صريحة (اطّلع على EntitySelector أدناه للحصول على مزيد من المعلومات).
is_deleted bool إجراء اختياري واحد ما إذا كان سيتم حذف هذا الكيان يجب تقديم هذه الخلاصة فقط للخلاصات التي تتضمن Incrementality من DIFFERENTIAL، ويجب عدم تقديم هذا الحقل للخلاصات التي تحتوي على Incrementality من FULL_DATASET.
trip_update TripUpdate مطلوب بشكل مشروط واحد بيانات عن تأخير المغادرة في الوقت الفعلي للرحلة يجب تقديم حقل واحد على الأقل من الحقول trip_update أو vehicle أو alert، ولا يمكن أن تكون هذه الحقول فارغة.
vehicle VehiclePosition مطلوب بشكل مشروط واحد بيانات عن الموضع الفعلي للمركبة يجب تقديم حقل واحد على الأقل من الحقول trip_update أو vehicle أو alert، ولا يمكن أن تكون هذه الحقول فارغة.
alert Alert مطلوب بشكل مشروط واحد بيانات حول التنبيه في الوقت الفعلي يجب تقديم حقل واحد على الأقل من الحقول trip_update أو vehicle أو alert، ولا يمكن أن تكون هذه الحقول فارغة.

الرسالة: TripUpdate

آخر المعلومات المتعلقة بالوقت الفعلي لمدى تقدّم مركبة معيّنة على متنها يُرجى أيضًا الرجوع إلى المناقشة العامة بشأن الكيانات المتعلّقة برحلات الرحلات.

بناءً على قيمة ScheduleRelationship، يمكن أن يحدِّد TripUpdate ما يلي:

  • رحلة تتم خلال الجدول الزمني.
  • رحلة تتم على طول مسار، ولكن بدون جدول زمني ثابت
  • الرحلات التي تمت إضافتها أو إزالتها في ما يتعلق بالجدول الزمني.

ويمكن أن تكون التعديلات للأحداث القادمة أو المتوقّعة للوصول أو المغادرة أو للأحداث السابقة التي حدثت. في معظم الحالات، تكون المعلومات عن الأحداث السابقة هي قيمة تم قياسها، لذا ننصح بأن تكون قيمة عدم التأكّد 0. وعلى الرغم من أنه قد تكون هناك حالات لا تحتفظ بها، إلا أنّه يُسمح باستخدام قيمة غير مؤكّدة مختلفة عن 0 للأحداث السابقة. إذا لم يتم التأكّد من أنّ معلومات التعديل 0، هذا يعني أنّ التحديث عبارة عن توقّع تقريبي لرحلة لم تكتمل أو أنّ عملية القياس غير دقيقة أو أنّ التعديل كان توقّعًا في الماضي لم يتم التحقّق منه بعد وقوع الحدث.

يُرجى العِلم أنّه يمكن أن يصف التعديل أنّ الرحلة قد اكتملت.ولتحقيق هذه الغاية، يكفي تقديم تعديل بشأن المحطة الأخيرة من الرحلة. إذا كان وقت الوصول في المحطة الأخيرة يقع في الماضي، سيستنتج العميل أنّ الرحلة بأكملها في الماضي (يمكن، على الرغم من أنّ ذلك، غير ممكن، تقديم تعديلات بشأن المحطات السابقة). يكون هذا الخيار أكثر ملاءمةً للرحلة التي اكتملت قبل الموعد المحدّد، ولكن وفقًا للجدول الزمني، لا تزال الرحلة مستمرة في الوقت الحالي. يمكن أن تؤدي إزالة التعديلات المتعلقة بهذه الرحلة إلى افتراض أن الرحلة لا تزال قيد التنفيذ. ملاحظة: يُسمح لمزوّد الخلاصة، وهو ليس مطلوبًا، بإزالة التحديثات السابقة نهائيًا، وهذه هي الحالة المفيدة في هذه الحالة.

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
trip TripDescriptor حقل مطلوب واحد الرحلة التي تنطبق عليها هذه الرسالة. يمكن أن يكون هناك كيان TripUpdate واحد على الأكثر لكل مثيل رحلة. إذا لم يكن هناك أي توقّعات، يعني ذلك أنّه لا تتوفّر أي معلومات قائمة على التوقّعات. ولا يعني ذلك أنّ الرحلة قيد التقدّم وفقًا لجدول زمني.
vehicle VehicleDescriptor إجراء اختياري واحد معلومات إضافية حول المركبة التي تعرض هذه الرحلة
stop_time_update StopTimeUpdate مطلوب بشكل مشروط عدد كبير تعديلات على StopTimes للرحلة (سواء في المستقبل، أو عبارات بحث مقترحة، وفي بعض الحالات، أي أحداث سابقة، أي تلك التي حدثت سلفًا). يجب ترتيب التعديلات حسب stop_sequence، كما سيتم تطبيقها على المحطات التالية من الرحلة حتّى stop_time_update التالية. يجب توفير stop_time_update واحد على الأقل للرحلة ما لم تكن قيمة trip.schedule_relationship هي CANCELED - في حال إلغاء الرحلة، لا يلزم تقديم stop_time_updates.
timestamp uint64 إجراء اختياري واحد اللحظة التي تم فيها قياس مستوى التقدّم في الوقت الفعلي للمركبة بتوقيت POSIX (أي عدد الثواني منذ 1 كانون الثاني (يناير) 1970 00:00:00 حسب التوقيت العالمي المنسق).
delay int32 إجراء اختياري واحد انحراف الجدول الزمني الحالي للرحلة. يجب تحديد السمة delay فقط عندما تكون عبارة البحث المقترحة مقترَحة لبعض الجداول الزمنية الحالية في مواصفات الخلاصة العامة للنقل العام (GTFS).
يمكن أن تكون السمة delay (بالثواني) إيجابية (أي أنّ المركبة متأخرة) أو سالبة (أي أنّ المركبة يسبق الجدول الزمني). تعني القيمة delay من 0 أنّ المركبة في الوقت المناسب تمامًا.
تؤدّي معلومات التأخير في StopTimeUpdates إلى الحصول على معلومات التأخير على مستوى الرحلة فقط، بحيث لا يتم نشر هذا التأخير على مستوى الرحلة إلا بعد التوقّف التالي على طول الرحلة باستخدام قيمة delay delay محدَّدة.
ويتم تشجيع موفّري الخلاصات بشدة على توفير قيمة TripUpdate.timestamp تشير إلى وقت آخر تعديل للقيمة delay، وذلك بهدف تقييم مدى حداثة البيانات. تنبيه: هذا الحقل لا يزال قيد التجربة.
StopTimeUpdate وقد يتم اعتماده رسميًا في المستقبل.

الرسالة إيقاف TimeTime

معلومات التوقيت لحدث واحد متوقع (إما عند الوصول أو المغادرة). يشمل التوقيت التأخير و/أو الوقت المقدَّر وعدم اليقين.

  • يجب استخدام delay عندما يتم تقديم التوقّع مقارنةً ببعض الجداول الزمنية الحالية في GTFS.
  • يجب منح time ما إذا كان هناك جدول زمني متوقّع أم لا. في حال تحديد كل من time وdelay، ستكون الأولوية للسياسة time (ولكن على الرغم من ذلك، يجب أن يساوي محتوى time الوقت المحدّد للرحلة المجدولة في GTFS + التأخير).

تنطبق حالة عدم اليقين على كل من الوقت والتأخير. عدم التيقّن يحدّد تقريبًا الخطأ المتوقّع في التأخير الصحيح (ولكن يُرجى العلم أننا لم نحدّد حتى الآن معنى إحصائيه الدقيق). ويمكن أيضًا أن تكون حالة عدم اليقين 0، على سبيل المثال، بالنسبة إلى القطارات التي يتم التحكم فيها وفقًا للتحكّم في توقيت جهاز الكمبيوتر.

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
delay int32 مطلوب بشكل مشروط واحد يمكن أن يكون الحقل delay (بالثواني) موجبًا (أي أنّ المركبة متأخرة) أو سالب (أي أنّ المركبة مُسبقة). تعني الحالة delay من أصل 0 أنّ المركبة في الوقت الفعلي تمامًا. يجب إدخال إما delay أو time ضمن StopTimeEvent، ولا يمكن ترك الحقلين فارغين.
time int64 مطلوب بشكل مشروط واحد الحدث كوقت مطلق وقت POSIX (أي عدد الثواني منذ 1 كانون الثاني (يناير) 1970 00:00:00 بالتوقيت العالمي المنسّق). يجب إدخال إما delay أو time ضمن StopTimeEvent، ولا يمكن ترك الحقلين فارغين.
uncertainty int32 إجراء اختياري واحد وفي حال عدم التأكّد، يتم تفسيره على أنه غير معروف. لتحديد عبارة بحث مقترحة معيّنة تمامًا، اضبط حالة عدم اليقين على 0.

Message (الإيقاف)

تعديل في الوقت الفعلي لأحداث الوصول و/أو المغادرة خلال محطة محدّدة يُرجى أيضًا الرجوع إلى المناقشة العامة حول آخر المعلومات المتعلقة بوقت التوقّف في مستندَي TripDescriptor وآخر الأخبار حول الرحلات.

يمكنك تقديم التعديلات للأحداث السابقة والمستقبلية. على الرغم من أنّ المنتج غير مسموح به، يُسمح بإسقاط الأحداث السابقة. يرتبط التعديل بمحطة معيّنة إما من خلال stop_sequence أو stop_id، لذا يجب ضبط أحد هذين الحقلَين بالضرورة. إذا تمت زيارة stop_id نفسها أكثر من مرة في رحلة واحدة، يجب تقديم stop_sequence في كل StopTimeUpdates لتلك stop_id في تلك الرحلة.

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
stop_sequence uint32 مطلوب بشكل مشروط واحد يجب أن يكون العنوان هو نفسه المدرَج في stop_times.txt في خلاصة GTFS المقابلة. يجب إدخال إما stop_sequence أو stop_id ضمن StopTimeUpdate، ولا يمكن ترك الحقلين فارغين. إنّ stop_sequence مطلوب للرحلات التي تزور stop_id نفسها أكثر من مرة (مثل تكرار) بغرض إيقاف توقّع التوقّعات.
stop_id string مطلوب بشكل مشروط واحد يجب أن يكون العنوان هو نفسه المدرَج في stops.txt في خلاصة GTFS المقابلة. يجب إدخال إما stop_sequence أو stop_id ضمن StopTimeUpdate، ولا يمكن ترك الحقلين فارغين.
arrival StopTimeEvent مطلوب بشكل مشروط واحد إذا كان schedule_relationship فارغًا أو SCHEDULED، يجب تقديم arrival أو departure في StopTimeUpdate - لا يمكن أن يكون كلا الحقلين فارغين. قد تكون قيمة arrival وdeparture فارغة عند ضبط schedule_relationship على SKIPPED. إذا كانت قيمة schedule_relationship هي NO_DATA، يجب ترك حقلَي arrival وdeparture فارغَين.
departure StopTimeEvent مطلوب بشكل مشروط واحد إذا كان schedule_relationship فارغًا أو SCHEDULED، يجب تقديم arrival أو departure في StopTimeUpdate - لا يمكن أن يكون كلا الحقلين فارغين. قد تكون قيمة arrival وdeparture فارغة عند ضبط schedule_relationship على SKIPPED. إذا كانت قيمة schedule_relationship هي NO_DATA، يجب ترك حقلَي arrival وdeparture فارغَين.
schedule_relationship ScheduleRelationship إجراء اختياري واحد العلاقة التلقائية هي SCHEDULED.

تعداد الجدول الزمني للعلاقة

العلاقة بين StopTime والجدول الثابت

القيم

القيمة التعليق
SCHEDULED تسير المركبة وفقًا للجدول الزمني الثابت للتوقف، على الرغم من أنّه ليس بالضرورة وفقًا لأوقات الجدول الزمني. وهذا هو الخيار التلقائي. ويجب تقديم سمة واحدة على الأقل من arrival وdeparture.
SKIPPED تم تخطّي محطة التوقف، أي لن تتوقّف المركبة عند هذه المحطة. ويكون الحقلان arrival وdeparture اختياريَين.
NO_DATA لا يتم تقديم بيانات لهذه المحطة. ويشير ذلك إلى عدم توفّر معلومات في الوقت الفعلي. عند ضبط NO_DATA، يتم نشر هذا الإعداد من خلال المحطات اللاحقة، وهذه هي الطريقة المقترَحة لتحديد المحطة التي لا تتوفّر لديك معلومات عنها في الوقت الفعلي. عند ضبط NO_DATA، يجب عدم تقديم arrival أو departure.

message موضع المركبة

معلومات عن موضع المركبة في الوقت الفعلي

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
trip TripDescriptor إجراء اختياري واحد الرحلة التي يتم عرضها فيها هذه المركبة يمكن أن يكون فارغًا أو جزءًا منه إذا تعذّر تحديد المركبة باستخدام حالة رحلة معيّنة.
vehicle VehicleDescriptor إجراء اختياري واحد معلومات إضافية حول المركبة التي تعرض هذه الرحلة يجب أن يكون لكل إدخال رقم تعريف مركبة فريد.
position Position إجراء اختياري واحد الموضع الحالي لهذه المركبة
current_stop_sequence uint32 إجراء اختياري واحد فهرس تسلسل الإيقاف للمحطة الحالية ويحدّد current_status معنى current_stop_sequence، أي المحطة التي يشير إليها. ويتم افتراض القيمة IN_TRANSIT_TO في حال عدم توفّر السمة current_status.
stop_id string إجراء اختياري واحد تحديد المحطة الحالية يجب أن تكون القيمة هي نفسها في stops.txt في خلاصة GTFS المقابلة.
current_status VehicleStopStatus إجراء اختياري واحد الحالة الدقيقة للمركبة في ما يتعلّق بالمحطة الحالية يتم تجاهل السياسة إذا لم يتم إدخال current_stop_sequence.
timestamp uint64 إجراء اختياري واحد اللحظة التي تم فيها قياس موضع المركبة وقت POSIX (أي عدد الثواني منذ 1 كانون الثاني (يناير) 1970 00:00:00 بالتوقيت العالمي المنسّق).
congestion_level CongestionLevel إجراء اختياري واحد
occupancy_status OccupancyStatus إجراء اختياري واحد درجة إشغال المركبة،
تنبيه: لا يزال هذا الحقل تجريبيًا ويخضع للتغيير. وقد يتم اعتماده رسميًا في المستقبل.

عدد

القيم

القيمة التعليق
INCOMING_AT المركبة على وشك الوصول إلى المحطة (على شاشة عرض المحطة، ويومض عادةً رمز المركبة)
STOPPED_AT وَقَفَتِ الْمَرْكَبَة فِي الْمَحَطَّة.
IN_TRANSIT_TO الْمَرْكَبَة غَادِرِتْ مِنِ الْمَحَطَّة الْلِّي قَبْلْ كِدَهْ وِ فِي مَرْحَلِةْ عَمَلْيَة.

تعداد مستوى الازدحام

مستوى الازدحام الذي يؤثر في هذه المركبة

القيم

القيمة
UNKNOWN_CONGESTION_LEVEL
RUNNING_SMOOTHLY
STOP_AND_GO
CONGESTION
SEVERE_CONGESTION

تعداد الإشغال

درجة إشغال المركبات

تنبيه: لا يزال هذا الحقل تجريبي، وهو خاضع للتغيير. وقد يتم اعتماده رسميًا في المستقبل.

القيم

القيمة التعليق
EMPTY تُعتبَر المركبة فارغة وفقًا لمعظم التدابير، ولديها عدد قليل من الركّاب أو ليس هناك أي ركّاب على متن الطائرة، لكنها لا تزال تقبل الركّاب.
MANY_SEATS_AVAILABLE تتوفّر نسبة كبيرة من المقاعد في المركبة أو العربة. يتم تحديد عدد المقاعد المجانية من إجمالي عدد المقاعد المتاحة ليتم اعتبارها كبيرة بما يكفي ليتم تصنيفها ضمن هذه الفئة وفقًا لتقدير المنتج.
FEW_SEATS_AVAILABLE هناك نسبة صغيرة من المقاعد في المركبة أو العربة. يتم تحديد عدد المقاعد المجانية من إجمالي عدد المقاعد المتاحة ليتم اعتبارها صغيرة بما يكفي للانخراط في هذه الفئة وفقًا لتقدير المنتج.
STANDING_ROOM_ONLY يمكن للمركبة أو العربة أن تستوعب حاليًا فقط الركاب الواقفين.
CRUSHED_STANDING_ROOM_ONLY يمكن للمركبة أو العربة في الوقت الحالي أن تتسع فقط للركاب العاديين بسعة محدودة.
FULL تُعتبَر المركبة مجهّزة بمعظم القياسات، ولكن قد تظل تسمح للركّاب بالصعود إلى الطائرة.
NOT_ACCEPTING_PASSENGERS المركبة أو عربة العربة لا تقبل الركّاب. وتقبل المركبة أو العربة عادةً الركّاب.
NO_DATA_AVAILABLE لا تتوفّر أي بيانات عن الإشغال في المركبة أو العربة في ذلك الوقت.
NOT_BOARDABLE ولا يمكن الصعود إلى عربة المركبة أو عربة العربة أو قبول الركاب. ويكون ذلك مفيدًا للمركبات الخاصة أو العربات الخاصة (المحرك وعربة الصيانة وما إلى ذلك).

التنبيه message

تنبيه يشير إلى نوع من الحوادث في شبكة النقل العام.

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
active_period TimeRange إجراء اختياري عدد كبير الوقت الذي يجب أن يظهر فيه التنبيه للمستخدم. وفي حال عدم ظهوره، سيتم عرض التنبيه طالما أنه يظهر في الخلاصة. إذا تم منح نطاقات متعددة، سيتم عرض التنبيه خلالها.
informed_entity EntitySelector حقل مطلوب عدد كبير الكيانات التي يجب أن يرسل المستخدمون إشعارًا إليها بهذا التنبيه. يجب إدخال سمة واحدة على الأقل من النوع informed_entity.
cause Cause إجراء اختياري واحد
effect Effect إجراء اختياري واحد
url TranslatedString إجراء اختياري واحد عنوان URL الذي يوفّر معلومات إضافية عن التنبيه.
header_text TranslatedString حقل مطلوب واحد عنوان التنبيه. سيتم تمييز هذه السلسلة النصية العادية، مثلاً بالخط الغامق.
description_text TranslatedString حقل مطلوب واحد وصف التنبيه. سيتم تنسيق سلسلة النص العادي هذه باعتبارها نص التنبيه (أو يظهر بواسطة طلب "توسيع" صريح من جانب المستخدم). يجب إضافة المعلومات الواردة في الوصف إلى معلومات العنوان.

تعداد السبب

سبب هذا التنبيه.

القيم

القيمة
UNKNOWN_CAUSE
OTHER_CAUSE
TECHNICAL_PROBLEM
STRIKE
DEMONSTRATION
ACCIDENT
HOLIDAY
WEATHER
MAINTENANCE
CONSTRUCTION
POLICE_ACTIVITY
MEDICAL_EMERGENCY

تأثير تعداد

تأثير هذه المشكلة على الكيان المتأثر.

القيم

القيمة
NO_SERVICE
REDUCED_SERVICE
SIGNIFICANT_DELAYS
DETOUR
ADDITIONAL_SERVICE
MODIFIED_SERVICE
OTHER_EFFECT
UNKNOWN_EFFECT
STOP_MOVED

النطاق الزمني للرسالة

فاصل زمني يُعتبر الفاصل الزمني نشطًا في الوقت t إذا كان t أكبر من الوقت start أو يساويه end.

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
start uint64 مطلوب بشكل مشروط واحد وقت البدء، بتوقيت POSIX (أي عدد الثواني منذ 1 كانون الثاني (يناير) 1970 الساعة 00:00:00 بالتوقيت العالمي المنسّق) إذا كانت غير متوفرة، تبدأ الفاصل الزمني بدون علامة لا متناهية. وإذا تمّ تقديم TimeRange، يجب تقديم start أو end - يجب ألا يكون كلا الحقلَين فارغَين.
end uint64 مطلوب بشكل مشروط واحد وقت الانتهاء، بتوقيت POSIX (أي عدد الثواني منذ 1 كانون الثاني (يناير) 1970 00:00:00 بالتوقيت العالمي المنسّق). إذا كانت غير موجودة، تنتهي الفاصل الزمني بالإضافة إلى اللانهاية. وإذا تمّ تقديم TimeRange، يجب تقديم start أو end - يجب ألا يكون كلا الحقلَين فارغَين.

موضع message

الموقع الجغرافي للمركبة

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
latitude float حقل مطلوب واحد الدرجات الشمالية، في نظام إحداثيات WGS-84
longitude float حقل مطلوب واحد درجات شرقية، باستخدام نظام التنسيق WGS-84
bearing float إجراء اختياري واحد الاتجاه بدرجات عقارب الساعة من اتجاه True North، أي 0 يقع في شمال المنطقة 90 وهو شرق. يمكن أن يكون هذا الاتجاه للبوصلة أو الاتجاه نحو المحطة التالية أو الموقع المتوسط. ولا يجب استنتاج ذلك الأمر من تسلسل المواضع السابقة التي يمكن للعملاء احتسابها من البيانات السابقة.
odometer double إجراء اختياري واحد قيمة عداد المسافات، بالأمتار
speed float إجراء اختياري واحد يتم قياس السرعة المؤقتة بالمركبة، بالمتر في الثانية.

message من وصف TripDescriptor

نص وصفي يحدد مثيلاً واحدًا من رحلة GTFS.

لتحديد مثيل رحلة واحد، تعمل trip_id في حد ذاتها بشكل جيد في كثير من الحالات. ومع ذلك، تتطلب الحالات التالية معلومات إضافية للانتقال إلى مثيل رحلة واحد:

  • وإذا كانت الرحلة محدّدة في frequencies.txt، تكون start_date وstart_time مطلوبة بالإضافة إلى trip_id.
  • إذا استمرّت الرحلة لأكثر من 24 ساعة أو تأخّر حدوثها، ستصطدم الرحلة المُجدوَلة في اليوم التالي، يُرجى تقديم start_date وtrip_id على حد سواء.
  • إذا تعذّر تقديم الحقل trip_id، عليك تقديم الحقول route_id وdirection_id وstart_date وstart_time.

في كل الحالات، إذا تمّ توفير كلٍ من route_id وtrip_id، يجب أن يتطابق الحقل route_id مع الحقل route_id المخصّص للرحلة المحدّدة في ملف trips.txtGTFS.

لا يمكن استخدام الحقل trip_id بمفرده أو مع حقول TripDescriptor أخرى لتحديد حالات الرحلات المتعددة. إذا تم ضبط TripDescriptor على صفر أو عدة حالات رحلات، بدلاً من مثيل واحد، يتم اعتبار ذلك خطأً. إنّ الكيان الذي يحتوي على TripDescriptor غير الصحيح قد يتجاهله المستهلكون.

على سبيل المثال، عند تحديد رحلة في GTFS frequencies.txt باستخدام exact_times=0، يجب ألا تحدّد TripDescriptor مطلقًا trip_id. ويرجع ذلك إلى أنّه عند حلّ مثيل واحد للرحلة يبدأ في وقت معيّن من اليوم، يجب أيضًا توفير start_time.

لاحظ أنّه إذا لم تكن trip_id معروفة، ستكون أرقام تعريف تسلسل المحطات في TripUpdate غير كافية، ويجب تقديم حقول stop_id أيضًا. بالإضافة إلى ذلك، يجب تقديم أوقات الوصول والمغادرة المطلقة.

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
trip_id string مطلوب بشكل مشروط واحد تمثّل هذه السمة trip_id من خلاصة GTFS التي تشير إليها أداة الاختيار هذه. سواء كانت قيمة trip_id مطلوبة استنادًا إلى نوع الرحلة:
الرحلات غير المستندة إلى معدّل تكرار: يكون الحقل trip_id وحده كافيًا لتحديد هذه الرحلات بشكل فريد. ولا يتم تحديد الرحلات غير المستندة إلى التردد في GTFS frequencies.txt.
الرحلات المستندة إلى معدّل التكرار: يجب ملء الحقول trip_id وstart_time وstart_date. يتم تحديد الرحلات المستندة إلى معدّل التكرار في "GTFS" frequencies.txt.
الرحلات المستندة إلى جدول زمني: لا يمكن حذف الحقل trip_id إلا إذا كان بالإمكان التعرّف على الرحلة بشكل فريد من خلال الجمع بين الحقول route_id وdirection_id وstart_time وstart_date المقدَّمة. يُرجى العلم أنّ الرحلات المُجدوَلة لم يتم تحديدها في frequencies.txt GTFS.
route_id string مطلوب بشكل مشروط واحد تمثّل هذه السمة route_id من خلاصة GTFS التي تشير إليها أداة الاختيار هذه. إذا تم حذف trip_id، يجب ضبط route_id وdirection_id وstart_time وschedule_relationship=SCHEDULED لتحديد مثيل الرحلة.
direction_id uint32 مطلوب بشكل مشروط واحد تمثّل هذه السمة direction_id من ملف خلاصة GTFS trips.txt الذي يشير إلى اتجاه السفر. إذا تم حذف trip_id، يجب تقديم direction_id.
تنبيه: لا يزال هذا الحقل تجريبيًا ويخضع للتغيير. وقد يتم اعتماده رسميًا في المستقبل.
start_time string مطلوب بشكل مشروط واحد وقت البدء المقرّر لمثيل الرحلة هذا. ويعرّف نوع الحقل Time تنسيق هذا الحقل، على سبيل المثال 11:15:35 أو 25:15:35. يعتمد ما إذا كان الحقل start_time مطلوبًا على نوع الرحلة:
يتطابق الحقل trip_id مع رحلة لا تستند إلى معدّل تكرار: يجب حذف الحقل start_time أو يساوي قيمة departure_time في ملف stop_times.txt لخلاصة GTFS.
تتوافق السمة trip_id مع الرحلة المستندة إلى معدّل التكرار: يجب دائمًا تحديد start_time لإجراءات الرحلة وتحديد موضع المركبة. يتم تحديد الرحلات المستندة إلى معدّل التكرار في "GTFS" frequencies.txt.
إذا كانت الرحلة المستندة إلى التكرار متوافقة مع سجلّ exact_times=1 GTFS: يجب أن يكون الحقل start_time متعددًا، بما في ذلك صفر، headway_secs في وقت لاحق من frequencies.txt start_time للفترة الزمنية المقابلة.
الدفعة إذا كانت الرحلة المستندة إلى معدّل التكرار تتطابق مع exact_times=0 سجلّ مواصفات الخلاصة العامة للنقل العام (GTFS): يمكن أن يكون start_time عشوائيًا، ومن المتوقّع أن يكون في بداية الرحلة. وبعد الانتهاء من إنشائها، تُعتبر رحلة start_time هذه المستندة إلى معدّل التكرار exact_times=0 غير قابلة للتغيير، حتى إذا تغيّر وقت المغادرة الأول. ويمكن بدلاً من ذلك أن تظهر أي تغييرات زمنية لاحقة في رسالة StopTimeUpdate.
تم حذف trip_id: يجب توفير start_time.
start_date string مطلوب بشكل مشروط واحد تاريخ بدء مثيل الرحلة هذا بالتنسيق YYYYMMDD. تعتمد السمة start_date على نوع الرحلة:
يجب توفير رحلات مجدولة: يجب تقديم start_date. وهذا الأمر يسلّط الضوء على الرحلات التي تأخّر كثيرًا لدرجة أنّها تتعارض مع رحلة مُجدوَلة في اليوم التالي. على سبيل المثال، لنفترض أنّ القطار سيغادر في الساعة 8:00 و20:00 يوميًا. إذا تأخر القطار لمدة 12 ساعة، ستكون هناك رحلتان مختلفتان مجدوَلتان في الوقت نفسه.
ملاحظة: هذا الحقل اختياري للرحلات المجدوَلة التي يكون من المستحيل فيها مثل هذه التصادمات. على سبيل المثال، قد يحدث ذلك إذا كانت الخدمة تعمل وفقًا لجدول زمني، ولا تُعتبر المركبة التي يتأخر تشغيلها لمدة ساعة واحدة ذات صلة بالجدول الزمني.
الرحلات المستندة إلى معدّل التكرار: يجب توفير start_date. ملاحظة: يتم تحديد الرحلات المستندة إلى معدّل التكرار في ملف frequencies.txt GTFS، في حين لا يتم تحديد الرحلات المجدولة.
• تم حذف trip_id: يجب توفير start_date.
schedule_relationship ScheduleRelationship إجراء اختياري واحد العلاقة بين هذه الرحلة والجدول الزمني الثابت وإذا تم توفير TripDescriptor في Alert EntitySelector، سيتجاهل المستهلكون الحقل schedule_relationship عند تحديد مثيل الرحلة المُطابقة.

تعداد الجدول الزمني للعلاقة

العلاقة بين هذه الرحلة والجدول الزمني الثابت إذا تمت الرحلة وفقًا لجدول زمني مؤقت، ولم يتم عرضها في مواصفات الخلاصة العامة للنقل العام (GTFS)، يجب عدم وضع علامة SCHEDULED عليها، ولكن يجب وضع علامة ADDED عليها.

القيم

القيمة التعليق
SCHEDULED الرحلة التي يتم تشغيلها وفقًا للجدول الزمني للنقل العام (GTFS) أو تكون قريبة بما يكفي من الرحلة المجدولة لربطها بها.
ADDED رحلة إضافية تمّت إضافتها بالإضافة إلى جدول زمني للركض، مثلاً لاستبدال مركبة معطّلة أو الاستجابة للحمولة المفاجئة للراكب
UNSCHEDULED رحلة يتم تشغيلها بدون تحديد جدول زمني لها: تُستخدم هذه القيمة لتحديد الرحلات المحددة في GTFS frequencies.txt مع exact_times = 0. يجب عدم استخدامه لوصف الرحلات غير المحدّدة في "GTFS" frequencies.txt أو الرحلات في GTFS frequencies.txt باستخدام exact_times = 1.
CANCELED رحلة كانت متوفرة في الجدول الزمني، ولكن تمت إزالتها

message أداة وصف المركبة

معلومات تحديد هوية المركبة التي تُجري الرحلة

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
id string إجراء اختياري واحد تحديد النظام الداخلي للمركبة يجب أن تكون فريدة لكل مركبة ويتم استخدامها لتتبّع المركبة أثناء تقدّمها في النظام. ويجب ألا تكون هذه المعرّفة مرئية للمستخدم النهائي، ولهذا السبب استخدِم الحقل label.
label string إجراء اختياري واحد تصنيف مرئي للمستخدم، أي عنصر يجب عرضه للراكب للمساعدة في تحديد المركبة الصحيحة
license_plate string إجراء اختياري واحد لوحة الترخيص للمركبة

أداة اختيار عناصر الرسائل

أداة اختيار لعنصر في خلاصة GTFS. يجب أن تتوافق قيم الحقول مع الحقول المناسبة في خلاصة GTFS. يجب تقديم معرِّف واحد على الأقل. وإذا تم تقديم قيم متعددة، يجب تفسيرها على أنها الانضمام من خلال عامل تشغيل AND المنطقي. بالإضافة إلى ذلك، يجب أن تتطابق مجموعة المعرِّفات مع المعلومات المقابلة لها في خلاصة GTFS. بعبارة أخرى، يجب أن يتطابق التنبيه مع جميع حقول EntitySelector المقدَّمة لكي يتم تطبيق تنبيه على كيان في GTFS. على سبيل المثال، EntitySelector لا تتضمن الحقلين route_id: "5" وroute_type: "3" إلا على حافلة route_id: "5" فقط، ولا تنطبق على أي مسارات أخرى في route_type: "3". إذا أراد منتج معيّن تنبيهًا لتطبيقه على route_id: "5" وroute_type: "3"، يجب أن يتضمّن حقلَين EntitySelector منفصلَين، أحدهما يشير إلى route_id: "5" والآخر يشير إلى route_type: "3".

يجب تحديد معرِّف واحد على الأقل، ولا يمكن أن تكون جميع الحقول في EntitySelector فارغة.

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
agency_id string مطلوب بشكل مشروط واحد تمثّل هذه السمة agency_id من خلاصة GTFS التي تشير إليها أداة الاختيار هذه.
route_id string مطلوب بشكل مشروط واحد تمثّل هذه السمة route_id من مواصفات الخلاصة العامة للنقل العام (GTFS) التي تشير إليها أداة الاختيار هذه. وإذا تم تقديم direction_id، يجب أيضًا تقديم route_id.
route_type int32 مطلوب بشكل مشروط واحد تمثّل هذه السمة route_type من مواصفات الخلاصة العامة للنقل العام (GTFS) التي تشير إليها أداة الاختيار هذه.
direction_id uint32 مطلوب بشكل مشروط واحد direction_id من ملف خلاصة GTFS trips.txt المُستخدَم لاختيار جميع الرحلات باتجاه واحد لمسار محدد بواسطة route_id. وإذا تم تقديم direction_id، يجب أيضًا تقديم route_id.
trip TripDescriptor مطلوب بشكل مشروط واحد مثيل الرحلة من مواصفات الخلاصة العامة للنقل العام (GTFS) التي تشير إليها أداة الاختيار هذه. يجب أن تتم مطابقة السمة TripDescriptor هذه مع نسخة واحدة من الرحلة في بيانات GTFS (على سبيل المثال، لا يمكن للمنتج توفير trip_id إلا لرحلتَين exact_times=0). إذا تمت تعبئة الحقل ScheduleRelationship ضمن TripDescriptor هذه، سيتم تجاهله عند محاولة تحديد رحلة GTFS.
stop_id string مطلوب بشكل مشروط واحد تمثّل هذه السمة stop_id من خلاصة GTFS التي تشير إليها أداة الاختيار هذه.

message سلسلة مترجمة

رسالة دولية تحتوي على نُسخ لكل لغة من مقتطف نصي أو عنوان URL. سيتم اختيار إحدى السلاسل من الرسالة. وتستمر عملية الدقة على النحو التالي: في حال تطابق لغة واجهة المستخدم مع رمز لغة الترجمة، يتم اختيار أول ترجمة مطابقة. إذا كانت لغة واجهة المستخدم التلقائية (على سبيل المثال، تتطابق اللغة الإنجليزية مع رمز اللغة للترجمة، ويتم اختيار أول ترجمة مطابقة. إذا كانت بعض الترجمات تحتوي على رمز لغة غير محدّد، يتم اختيار هذه الترجمة.

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
translation Translation حقل مطلوب عدد كبير يجب تقديم ترجمة واحدة على الأقل.

الترجمة message

سلسلة مترجَمة تم ربطها بإحدى اللغات.

الحقول

اسم الحقل النوع مطلوبة عدد العناصر في الحقل الوصف
text string حقل مطلوب واحد سلسلة UTF-8 تحتوي على الرسالة.
language string مطلوب بشكل مشروط واحد رمز اللغة BCP-47 يمكن حذفها إذا لم تكن اللغة معروفة أو إذا لم يتم نشر المحتوى على نطاق عالمي. يُسمح على الإطلاق بأن تكون علامة اللغة غير محدّدة واحدة على الأكثر، وفي حال توفّر أكثر من ترجمة واحدة، يجب تقديم اللغة.