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

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

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

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

مطلوب

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

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

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

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

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

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

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

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

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

  • message: النوع المعقد
  • enum: قائمة بالقيم الثابتة

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

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

مؤشر العنصر

العناصر

message رسالة الخلاصة

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

الحقول

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

message خلاصة العنوان

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

الحقول

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

enum التزايدية

لتحديد ما إذا كان الجلب الحالي متزايدًا أم لا.

  • 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، وذلك لتقييم حداثة البيانات.
تنبيه: لا يزال هذا الحقل خاضعًا للتجربة. لا يزال هذا الحقل خاضعًا للتجربة. وقد يتم اعتماده رسميًا في المستقبل.

message StopTimeEvent

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

  • يجب استخدام 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.

الرسالة StopTimeUpdate

تحديث في الوقت الفعلي لأحداث الوصول و/أو المغادرة لمحطة معينة في رحلة ما. يُرجى أيضًا الرجوع إلى المناقشة العامة لتعديلات وقت الإيقاف في مستندات 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_stop_sequence (أي نقطة التوقف التي يشير إليها) بواسطة current_status. ويتم افتراض القيمة 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 اختياري واحد درجة إشغال المركبة بالمركبة.
تحذير: لا يزال هذا الحقل تجريبيًا، ويخضع للتغيير. وقد يتم اعتماده رسميًا في المستقبل.

enum StopStopStatus

القيم

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

enum مستوى التكدس

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

القيم

القيمة
UNKNOWN_CONGESTION_LEVEL
RUNNING_SMOOTHLY
STOP_AND_GO
CONGESTION
SEVERE_CONGESTION

enumحالة الإشغال

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

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

القيم

القيمة تعليق
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

تأثير enum

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

القيم

القيمة
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

عبارة عن كلمة وصفية تحدد مثيلاً واحدًا لرحلة 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.txt GTFS.

لا يمكن استخدام الحقل 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.txtGTFS.
route_id string مطلوب بشروط واحد route_id من خلاصة GTFS التي يشير إليها هذا المحدد. في حال حذف trip_id، يجب ضبط route_id وdirection_id وstart_time وschedule_relationship=SCHEDULED لتحديد رحلة واحدة.
direction_id uint32 مطلوب بشروط واحد تمثل هذه الخاصية direction_id من ملف trips.txt لخلاصة GTFS، والذي يشير إلى اتجاه السفر. إذا تم حذف 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 بعد headway_secs 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. ولا يجب استخدامها لوصف الرحلات التي لم يتم تعريفها في frequencies.txtGTFS أو الرحلات في frequencies.txt GTFS مع exact_times = 1.
CANCELED رحلة كانت متوفرة في الجدول الزمني ولكن تمت إزالتها.

message وصف المركبة

معلومات تعريف المركبة التي تجري الرحلة.

الحقول

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

رسالة EntitySelector

أداة اختيار لكيان في خلاصة 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. كما يمكن إغفالها إذا كانت اللغة غير معروفة أو إذا لم يتم إضافة الطابع الدولي على الإطلاق إلى الخلاصة. على الأكثر أن يُسمح بأن يكون للترجمة علامة غير محددة للغة واحدة، فإذا كانت هناك أكثر من ترجمة، فيجب تقديم هذه اللغة.