הצעה לשיפור ממשק התוכנה של התחבורה הציבורית (siri)


#1

שלום רב.

ראשית, אני חדש כאן, ומברך את הפעילות היפה שנראה שמתבצעת ומתקדמת כאן. בהצלחה בהמשך!

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

הבעיה שנתקלתי בה (כמו רבים שבוודאי ניסו להשתמש בו ולהנגיש את המידע שבו לציבור) הוא שקובצי ההתממשקות שלו אינם סטנדרטיים לגמרי, ומכבידים מאד על אפשרות פניה אליו באמצעות רוב שפות התכנות.
דיון טכני בנושא נמצא בקישור הבא - http://stackoverflow.com/questions/32510797/circular-reference-error-while-trying-to-import-wsdl-into-visual-studio-2013

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

בברכה!


#2

היי אופר, אני יהודה נוריאלי, מנהל תח"צ פתוחה.

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

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

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

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


#3

צהריים טובים, יהודה.

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

בעקבות הודעה פרטית נוספת שקיבלתי, אנסה להסביר מה אני מנסה להשיג ואיפה אני תקוע:
כידוע, יש ממשק של משרד התחבורה, עליו מבוססות אפליקציות Moovit ן- Eifobus. שתי אפליקציות מדהימות שנותנות נתונים בזמן אמת, ועוזרות למאות אלפי אנשים להתנייד “כאן ועכשיו” בצורה יעילה.
המקום שאני רציתי לקחת את זה - היה לנתונים סטטיסטיים, שיידעו לצפות מראש תנאי דרך וזמני הגעה. כיום יש אלפי אוטובוסים בכל רחבי הארץ, נוסעים כל היום, ושולחים כל רגע נתוני GPS עדכניים. על בסיס זה אפשר לדעת למשל (אחרי מספר שבועות/חודשי מעקב) - “כמה זמן לוקחת הדרך מהיציאה מירושלים עד הכניסה לתל-אביב - ביום ראשון בשעה 7:30 בבוקר, לעומת ביום שני בשעה 10:30 בבוקר”. או “כמה זמן יקח לקו 245 להגיע מהתחנה הראשונה עד האחרונה שלו, בשעה 7:00 בבוקר, לעומת בשעה 8:30 בבוקר”.
את הנתונים האלה - האפליקציות הקיימות אינן אוספות, (ואגב - היה נפלא לו היה ניתן לקבל ממערך WAZE תשובות לשאלות כאלה ע"י API, אך לפי מה שהבנתי מהם - הם שומרים את הגישה לנתונים האלה בקנאות רק לצרכי פנים).

אז פניתי למשרד התחבורה, וקיבלתי שם יחס נפלא, וקיבלתי כבר שם משתמש (וכתובת IP מאושרת) למערכת, אבל…
כשניסיתי פשוט לייבא את ההגדרות מקובץ ה-WSDL לתוך מערכת VB.net שלי - נתקלתי בשגיאות, וזאת בגלל שהקבצים אינם תואמים סטנדרטים מסויימים.

לכן, ואחרי העיון בקישור שהבאתי למעלה (של מתכנת מוכשר ואלמוני בשם “יובל” שאני מעריך שמסתובב כאן באזור), יצאתי לחיפושים אחרי מי שיעזור לי להפוך את הגישה ל-Web-Service לניתנת לתכנות עבורי, כדי להתחיל לבנות מסד נתונים כזה (בינתיים לצרכי טסטים).

אגב, ההגבלה של שאילתות מצידם היא 1500 שאילתות בדקה, ובכל שאילתה ניתן לבדוק מצב של מספר תחנות (תלוי גירסה).

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

בהצלחה,
עופר.


#4

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


#5

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


#6

מצחיק,
ראיתי את ההודעה שלך רק כעת.
האם התחדש משהו מאז?
אני קצת “יצאתי לחופש” מזה, וחשבתי לחזור…