تتيح خلاصة "الوقت الفعلي" في هيئة النقل العام (GTFS) لمؤسسات النقل العام تزويد المستهلكين بمعلومات في الوقت الفعلي عن انقطاع الخدمة (المحطات المغلقة، والخطوط التي لا تعمل، والتأخيرات المهمة، وما إلى ذلك) والموقع الجغرافي لمركباتهم وأوقات الوصول المتوقّعة.
تتم مناقشة الإصدار 2.0 من مواصفات الخلاصة وتوثيقها على هذا الموقع الإلكتروني.
تعريفات المصطلحات
حقل مطلوب
في الإصدار 2.0 والإصدارات الأحدث من مواصفات الخلاصة العامة للنقل العام (GTFS)، يوضّح العمود حقل مطلوب الحقول التي يجب أن يقدّمها المنتج حتى تكون بيانات النقل العام صالحة ومفهومة للتطبيق المستخدَم.
يتم استخدام القيم التالية في الحقل حقل مطلوب:
- مطلوبة: يجب تقديم هذا الحقل من قِبل مُنتج خلاصة GTFS في الوقت الفعلي.
- مطلوب بشروط: هذا الحقل مطلوب بشروط معيّنة، وتم توضيحها في حقل الوصف. خارج هذه الشروط، يكون الحقل اختياريًا.
- اختياري: هذا الحقل اختياري ولا يحتاج إلى تنفيذه من قِبل المنتجين. في حال توفّر البيانات في أنظمة تحديد المواقع الجغرافية التلقائية للمركبات (مثل
VehiclePosition
timestamp
ننصح المنتجين بتقديم هذه الحقول الاختيارية إن أمكن.
ملاحظة: لم يتم تحديد المتطلبات الدلالية في الإصدار 1.0 من مواصفات GTFS في الوقت الفعلي، وبالتالي قد لا تستوفي الخلاصات التي تتضمّن gtfs_realtime_version
من 1
هذه المتطلبات (اطّلِع على اقتراح المتطلبات الدلالية للحصول على التفاصيل).
عدد العناصر في الحقل
يمثّل عدد العناصر في الحقل عدد العناصر التي يمكن توفيرها لحقل معيّن مع القيم التالية:
- واحد - يمكن تقديم عنصر واحد لهذا الحقل. يؤدي هذا إلى ربط القيم الفريدة للسمة Protocol Buffer المطلوبة والاختيارية الاختيارية.
- العديد - قد يتم توفير العديد من العناصر (0 أو 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.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.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 يمكن حذفها إذا لم تكن اللغة معروفة أو إذا لم يتم نشر المحتوى على نطاق عالمي. يُسمح على الإطلاق بأن تكون علامة اللغة غير محدّدة واحدة على الأكثر، وفي حال توفّر أكثر من ترجمة واحدة، يجب تقديم اللغة. |