רכבת פתוחה

מתוך הסדנא לידע ציבורי
גרסה מ־21:09, 19 בינואר 2015 מאת Oferb (שיחה | תרומות) (חברי הצוות)

(הבדל) → הגרסה הקודמת | הגרסה האחרונה (הבדל) | הגרסה הבאה ← (הבדל)
קפיצה אל: ניווט, חיפוש

דרושים מתנדבים (לפרטים: greenofer@gmail.com):

  • מפתח Front End
  • חוקר Big Data
  • איש אלגוריתמיקה עם ידע בפייתון


מוביל החשמביר - עופר ברטל

רכבת פתוחה, הוא חשמביר שמטרתו לעודד את רכבת ישראל לשחרר מידע זמן אמת על הגעה ויציאה של רכבות מהתחנות.

אנו רוצים שכולם תוכלו לראות, להשתמש ולנתח את המידע הזה. אנו מאמינים שהתדמית של רכבת ישראל יכולה להשתפר ע"י נקיטת גישה פתוחה ומשתפת לנושא התפקוד והביצועים של הרכבות בארץ.

שחרור המידע יאפשר לנתח אותו בצורות שונות וליצור דיון ציבורי. נוכל ליצור מדדים שמתארים דיוקים באיזורים שונים בארץ, בשעות עומס, בימי א' העמוסים לעומת שאר הימים, להשוות למדדי דיוק במדינות אחרות, וכו.

שחרור המידע בזמן אמת, כפי שמתבצע כיום באוטובוסים, יאפשר לתת שירות טוב יותר לנוסעים ולאלו המחכים להם בתחנות כגון התראות על איחורים ועיכובים ולשפר את הקישוריות בין רכבות לבין אוטובוסים והסעות עובדים.

לצערנו, "מדד הדיוק הנוכחי של רכבת ישראל" אינו מפורסם בזמן אמת, אינו כולל את זמן ההגעה של הרכבת אל תחנות הביניים, אינו מתחשב ביציאה מוקדמת של רכבות ואינו כולל רכבות שהתבטלו. כלומר, רכבת שיצאה מבאר שבע, איחרה בכל תחנות תל אביב, אך הגיעה בזמן לבנימינה - הגיעה בזמן לפי מדד זה. קל לראות שהמדד אינו משקף את חווית הנוסע הממוצע.

הרעיון הוא לפעול בשני אפיקים במקביל:

  • ניתוח והנגשה של מידע על זמני הגעת רכבות שקיבלנו מרכבת ישראל.
  • איסוף המידע על יציאה והגעה של רכבות לתחנות ע"י אפליקציה לסמארטפון. האפליקציה תותקן ע"י מתנדבים ותשלח מידע על מיקום הרכבות בצורה אוטומטית, ובאמצעותה המתנדבים יוכלו לעדכן כאשר עלו וירדו מהרכבת. כיוון זה כרגע בהשהייה כדי להתמקד בכיוון הראשון, אבל אם יבואו מתנדבים להוטים לדבר, נחזור לעבוד עליו.


רקע

רכבת ישראל אינה משחררת את זמני ההגעה והיציאה של הרכבות לציבור. לפי כתבה בדה-מרקר מ- 4.10.2009, לרכבת ישראל היו תוכניות לפרסם את המידע הזה בזמן אמת לפני יותר מ- 4 שנים, בעקבות פיתוח של מערכת חדשה דאז בשם "משואה" [1][2].

למרות שאינה משחררת את המידע הנ"ל, רכבת ישראל כן מפרסמת מדד יומי שנקרא "מדד דיוק הרכבות" אשר מייצג את אחוז הרכבות אשר שלא איחרו לתחנה האחרונה שלהם. מכאן שאם רכבת איחרה בכל תחנות תל אביב, אבל לא איחרה לבנימינה, מבחינת רכבת ישראל הרכבת הגיעה בזמן.

רכבת ישראל מקבלת תמריצים כספיים על סמך המדד הזה [3], למרות שאינו מייצג איחורים בתחנות ביניים, אינו מספק מידע אודות הדיוקים בשעות העומס, ובאופן כללי אינו מייצג את חווית הנוסע הממוצע.

רכבת ישראל מודעת לכך שהמדד אינו משקף את חווית הנוסע הממוצע. ב- 04.06.12 נכתב ב- ynet כי "רכבת ישראל תחל בשבועות הקרובות ליישם מדד דיוק חדש לרכבות הנוסעים, שיקבע כי כל רכבת שתגיע ליעדה באיחור של חמש דקות או יותר, תיחשב למאחרת... המדד החדש ישקלל גם את זמני הגעת הרכבות לתחנות ביניים, וכן ישוקלל ביטול רכבות לפני הגעתן ליעד. שינוי אופן המדידה אמור לענות על ביקורת ציבורית חריפה, לפיה מדד הדיוק הנוכחי - שלעתים קרובות מצביע על רמה גבוהה של עמידה בזמנים - מנותק מהמציאות, ואינו משקף בפועל את חוויית הנסיעה ברכבת." [4]. למרות ההצהרה שבכתבה, מדד דיוק הרכבות נותר כפי שהיה ללא כל שינוי, למרות שעברה יותר משנה וחצי מאז פרסום הכתבה.

לאחרונה, על רקע חילוקי דיעות בין הנהלת הרכבת לועד העובדים, שימש המדד גם ככלי להעריך אם מתקיימים בפועל שיבושים ועיצומים. שחרור מידע זמן אמת יכול לתת תמונת מצב ברורה של תפקוד הרכבת. ב- 16.07.13 נכתבה ב- ynet כתבה בנושא [5]. להלן שני ציטוטים מהכתבה:

  • " 'בשל עיצומי עובדים בחיפה תבוטלנה שש רכבות בקו מוצקין-חיפה', כך הודיעה היום (ג') הנהלת רכבת ישראל. בדברי ההסבר להודעה, מבהירה הנהלת הרכבת כי נהגי הרכבות מוחים כנגד סידורי העבודה הממוחשבים, אשר הוכנסה לאחרונה לתפקוד מלא."
  • " 'ביום ראשון הם טענו שיש שיבושים בלוח הזמנים, אבל מדד הדיוק הממוצע עמד על הרבה יותר מ-80%. מדובר בנתון רגיל לימי א' העמוסים בדרך כלל. בהנהלה יודעים את זה וגם אנחנו יודעים את זה. הטענה כאילו מדובר במדד דיוק נמוך בגלל נהגי קטר כועסים או עובדים לא מרוצים, פשוט לא מחזיקה מים. גם היום הם טענו כי עובדים שיבשו פעילות ויצרו בעיות, אבל הפלא ופלא, מדד הדיוק עמד על ממוצע של קרוב ל-98%. אין רכבת שמסוגלת לעמוד על ממוצע טוב מזה, כולל רכבת ישראל. זה ממוצע דיוק פנטסטי, אז איפה בדיוק היו עיצומים ושיבושים? אם היו כאלה, מדד הדיוק היה נפגע באופן מיידי', אמר עובד המקורב לוועד."


מדד דיוק הרכבות של רכבת ישראל

המידע נלקח מתוך האתר של רכבת ישראל [6]:

מדד דיוק רכבות בוחן את מידת הדיוק בהגעה של הרכבות אל תחנות היעד.

איך מודדים דיוק?

מדד הדיוק נקבע לפי מספר רכבות הנוסעים שהגיעו במועד (בהתאם ללוח הזמנים המתוכנן) אל תחנת היעד (התחנה הסופית בקו) מתוך מספר הכולל של רכבות הנוסעים שהופעלו נכון למועד החישוב, לא כולל רכבות שהתבטלו. בחישוב מדד הדיוק לא כוללים את זמן הגעה של הרכבת אל תחנות הביניים (תחנות בהן עוצרת הרכבת ואינן התחנה הסופית בקו). ככלל, בסוף כל יום, בסמוך לשעה 24:00 מחושב אחוז הדיוק היומי.

מה ייחשב לאיחור?

איחור בהגעה לתחנת היעד (התחנה הסופית בקו) אשר עולה על 5 דקות, ייחשב לאיחור לצורך חישוב מדד הדיוק.

מטרות החשמביר

המטרה העיקרית של הפרויקט היא לעודד את רכבת ישראל לשחרר מידע זמן אמת על הגעה ויציאה של רכבות מהתחנות. אנו רוצים שכולם יוכלו לראות, להשתמש ולנתח את המידע הזה. אנו מאמינים שהתדמית של רכבת ישראל יכולה להשתפר ע"י נקיטת גישה פתוחה ומשתפת לנושא התפקוד והביצועים של הרכבות בארץ. מידע זה יאפשר ליצור לדיון ציבורי על דיוק הרכבות ע"י פרסום מדדים שונים המבוססים על זמני יציאה והגעה של רכבות. נוכל ליצור מדדים שמתארים דיוקים באיזורים שונים בארץ, בשעות עומס, בימי א' העמוסים לעומת שאר הימים, להשוות מדדי דיוק במדינות אחרות, וכו. על מנת ליצור מדדים שכאלה ולאפשר דיון שכזה, יש צורך בשחרור המידע הגולמי, קרי זמני היציאה וההגעה של הרכבות ע"י רכבת ישראל.

מטרות נוספות:

  • יש בהשתתפות הציבור בתהליך איסוף וניתוח המידע מסר חשוב שאותו הסדנא מעוניינת להעביר, והוא שמעורבות חברתית יכולה לשנות מציאות.
  • חשיפה של הציבור לפרויקט יכולה לעורר עניין בסדנא ובפרויקטים נוספים שלה.
  • שחרור המידע בזמן אמת, כפי שמתבצע כיום באוטובוסים, יאפשר לתת שירות טוב יותר לנוסעים ולאלו המחכים להם בתחנות כגון התראות על איחורים ועיכובים ולשפר את הקישוריות בין רכבות לבין אוטובוסים והסעות עובדים.

מרכיבי הפרויקט

תצלום מסך של האפליקציה
  • שליחת הנתונים: שליחת הנתונים תתבצע ע"י אפליקציה לסמארטפון ששולחת מידע על מיקומי רכבות לשרת מרכזי. אנו שומרים על פרטיות המשתמשים בכך שהנתונים נשלחים עם מספר אקראי בתור מזהה משתמש, ומידי יום המספר הזה מתאפס למספר אקראי חדש. בצורה כזו אי אפשר לגלות את הזהות של משתמש ואי אפשר לעקוב אחרי משתמש לאורך זמן. אופן ניתוח הנתונים יוצג בפירוט בעת הצגת החשמביר במפגש הפיתוח. אנו שוקלים אילו פיצ'רים אנחנו יכולים לממש כדי לעודד משתמשים להתקין את האפליקציה. כמובן שלא נממש הכל, אבל אם יש לכם רעיון מגניב, או שאתם חושבים שאחד הרעיונות פה ממש מגניב, אולי נממש אותו ;)
    • רעיונות לפיצ'רים:
      • מתן התראה למשתמש כאשר מגיע לו פיצוי על איחור!
      • דירוג המשתמשים עפ"י מספר הדיווחים
      • פירוט הנסיעות של המשתמש
      • צבירת מספר דקות האיחור של רכבות שבהן המשתמש נסע או/וגם איחור ממוצע לנסיעה
      • מעקב בזמן אמת של הרכבת על גבי מפה, שמציגה גם את שאר הרכבות בארץ. יכול להיות מעניין כשיש מפגש רכבות.
      • אפשרות לרישום לפייסבוק ועדכון סטטוס על נתונים של האפליקציה
      • שילוב קונספט mayor כמו ב- Foursquare
    • סטטוס נוכחי: האפליקציה שולחת את נתוני מיקום הרכבת לשרת המרכזי בהצלחה. משמאל ניתן לראות תצלום מסך של האפליקציה.
  • איסוף הנתונים: איסוף הנתונים יתבצע ע"י שרת מרכזי
    • סטטוס נוכחי: השרת מתפקד טוב, קולט את הנתונים ומציג אותם בתצוגה שהיא בעיקר לצרכי פיתוח. משמאל תצוגת מסלול נסיעה מת"א השלום למודיעין מרכז.
תצוגת מסלול בשרת. נקודה כחולה היא דיווח, אייקון רכבת הוא דיווח מתחנה.

ניתן לראות מסלולים נוספים בלינק הבא: אתר תצוגת הנתונים

  • אלגוריתם: אלגוריתם שמאפשר לעקוב אחרי מיקומי הרכבות בזמן אמת, ולקשר אותם ללוח הזמנים של רכבת ישראל.
    • סטטוס נוכחי: ישנו אלגוריתם שעוקב אחרי הרכבות מתוך המידע של הדיווחים ומקשר אותם ללוח הזמנים בזמן אמת. בשלב הנוכחי אנחנו עובדים על אינטגרציה של האלגוריתם בשרת.
  • חשיפת API: אנו נחשוף API שיאפשר גישה למידע שאנו אוספים, ולכן בשלב האיסוף אנחנו מקפידים שלא לאסוף שום מידע מזהה (ראה פירוט בסעיף "שליחת הנתונים"). ה- API יהיה בשתי רמות עיבוד שונות:
    • ברמת הדיווח: כל הדיווחים שאנו מקבלים מהמשתמשים
    • ברמת הרכבת: הרכבות שתוצפתו והתאמתן ללו"ז עפ"י הניתוח של האלגוריתם
  • הצגת המידע: הצגת המידע והנגשתו לציבור
    • התוכנית היא להציג נתונים בצורה ויזואלית ונגישה. נחשב מדדים שונים לדיוק הרכבת, כולל מדדים סטנדרטיים שיאפשרו להשוות את ביצועי הרכבת לאלו של מדינות אחרות.

המצב בעולם

להלן מידע על נתוני זמני רכבות ושימושם בכמה מדינות בעולם:

אנגליה

מדדי הדיוק של רכבות באנגליה

באנגליה מידע זמן אמת על יציאה והגעה של רכבות משוחרר לציבור [7]. ישנם אתרים שעושים שימוש במידע לצורך:

  • מדדי דיוק [8]
  • שירות לנוסע על עיכובים בזמני הגעה [9]
  • ישנה קהילה וקבוצת דיון של מפתחים ומשתמשים במידע זה [10][11]



ארה"ב

בארה"ב חברת Amtrak, שהיא המקבילה של רכבת ישראל בארה"ב, מפרסמת מידע זמן אמת על מיקומי הרכבות, כולל בתצוגת מפה

תצוגת המפה של רכבות Amtrack בארה"ב

[12][13]

גרמניה, נורווגיה ויוון

אוניברסיטאות ברחבי אירופה פיתחו אלגוריתם ליצירת לו"ז רכבות [14]. האלגוריתם בונה לו"ז רכבות שמתעדכן בזמן אמת בעיכובים, לפעמים לפני שהאפקט המלא של העיכובים משפיע על הדיוק, ומשנה את הלו"ז בזמן אמת כדי להתמודד עם העיכובים. לשם המחשה, אם צפוי שיבוש של מפגש רכבות באיזור קריית גת בין רכבת שנוסעת צפונה לבנימינה ורכבת שנוסעת דרומה לבאר שבע, עדיף יהיה לעכב את הרכבת שנוסעת דרומה מאשר זו שנוסעת צפונה, כיוון שהדרך שנותרה לרכבת שנוסעת צפונה ארוכה יותר ובנוסף, עיכוב שלה עלול ליצור אפקט שרשרת של עיכובים בקווים נוספים. עם מערכת כזו, שיקולים מסוג זה יכולים להתקבל בזמן אמת ובצורה אוטומטית. האלגוריתם בשימוש בגרמניה, נורווגיה ויוון. בזכותו בברלין צומצמו זמני ההמתנה הממוצעים מ- 4 דקות ל- 2 דקות. במדינות אחרות שבהן השתמשו במערכת צומצמו העיכובים ב- 25%.

חומרים נוספים

כלי עבודה למתכנתים

  • השרת מפותח ב-python ו- django. הקוד נמצא ב- github. האתר נכתב חלקו ב angularjs ובעזרת leaflet
  • האלגוריתם לניתוח הנתונים מפותח ב- python עם הסיפריות המדעיות של numpy ו- scipy. הקוד נמצא ב- github (באותו פרויקט git כמו השרת).
  • האפליקציה מפותחת לאנדרואיד ב- java. הקוד נמצא ב- github
  • הפרויקט לניתוח זמני ההגעה של הרכבת נמצא ב OpenTrainCommunity repo on github

חברי הצוות

חברי הצוות הנוכחי:

  • עופר ברטל - מוביל הפרויקט, מפתח האלגוריתם לניתוח הנתונים.
  • ערן קידר - מפתח השרת לאיסוף המידע והאתר להצגתו.
  • נועם מיימון - מפתח האפליקציה.
  • יעל כהן, דין לנגסם - ניתוח דאטה.

תרמו בעבר מזמנם היקר:

  • עומרי דור, אייל ליברמן - פיתוח האפליקציה.
  • אייל קיבר - פיתח כלי מגניב לניתוח נתונים.
  • דינה ירושלמי - ניתוח דאטה.

ליצירת קשר

ניתן ליצור קשר עם עופר ברטל מוביל הפרויקט במייל או בפייסבוק