מישהו יכול לעזור לי ב API של משרד התחבורה- למידע על תחבורה ציבורית?
-
קיבלתי גישה מהם ל API שלהם, וזה התיעוד .
ניסיתי להריץ ככה
?Key=***&MonitoringRef=all&LineRef=616
אבל אני מקבל שאין כזה קו.
שאלתי אותם, והם ענו לי
אתה צריך לעבוד בהתאמה ל-GTFS
השדה LineRef צריך להיות תואם לשדה route_id בקובץ routes שב-GTFS
וזה התיעוד על GTFS.
אני לא מצליח להבין מה אני צריך להתאים למה ואיך למעשה לעשות את הקריאה!מישהו יכול לכווין אותי?
-
לתחושתי אתה קצת מתעקש.
קבצי הGTFS הם קבצים גדולים להורדה, זה נראה שהתקשית להוריד אותם.
הם בידך? אם לא, אז חבל על זמנינו. אתה צריך אותם.
אם כן, פתח אותם ונסה להבין איפה יש מזהה (route_id) לכל קו.
אחרי שיש לך ביד מזהה, אתה חוזר לבקשה שלך ובמקום 616 אתה שם את המזהה.
איפה הסתבכת?
אנא היה שקוף וישיר, ולא צריך לפתוח עוד נושאים... -
@dovid 1.תודה רבה על התשובה המהירה!
2.אני פתחתי עוד נושא כי ראיתי בכמה מקומות שאתה אוהב שיש נושא נפרד על כל דבר והנושא הקודם היה על API לתחנות ופה זה ספציפי על ה API של משרד התחבורה, אם טעיתי בזה-מתנצל.
3.@dovid כתב במישהו יכול לעזור לי ב API של משרד התחבורה- למידע על תחבורה ציבורית?:
זה נראה שהתקשית להוריד אותם.
הם בידך? אם לא, אז חבל על זמנינו. אתה צריך אותם.אתה מדבר על זה? אני לא מצליח בכלל להוריד, אני לוחץ על הקישור לאחד מהקבצים וזה מגיע לדף שלא עובד...
אגב, איזה מהם צריך להוריד?
4.@dovid כתב במישהו יכול לעזור לי ב API של משרד התחבורה- למידע על תחבורה ציבורית?:
קבצי הGTFS הם קבצים גדולים להורדה,
יש לך מושג מה הגודל של כל אחד בערך?
-
@dovid עבדתי על הקבצים, ולפי הבנתי כדי לקבל רשימת שמות תחנות לקו מסויים עלי לעבור את התהליך הבא:
- לקבל את מספר הקו
- לחפש את ה id של הקו הזה, ואם יש מספר חלופות/חברות אז קודם להציג את החלופות ואז לבחור את ה id לפי זה (מהקובץ routes)
- לשלוח שאילתא לקבלת התחנות עם ה id הנ"ל
- מקבלים רשימת מספרי תחנות
- לחפש ולקבל את שם התחנה לכל מספר (מהקובץ stops)
האומנם זה כזה ארוך???
-
@ששא לא כתבת מה המטרה הסופית שלך.
-
@ivrtikshoret כתב במישהו יכול לעזור לי ב API של משרד התחבורה- למידע על תחבורה ציבורית?:
@ששא לא כתבת מה המטרה הסופית שלך.
דווקא נראה לי שדי מובן ממה שכתבתי
@ששא כתב במישהו יכול לעזור לי ב API של משרד התחבורה- למידע על תחבורה ציבורית?:
כדי לקבל רשימת שמות תחנות לקו מסויים
-
@dovid צריך לעבור על קבצים בשרת? אין דרך לקבל את זה ע"י בקשות ותשובות?
וצריך לעדכן כל תקופה ידנית את הקבצים?
זה פשוט לחפש את מספר הקו, לחפש אם יש יותר מאחד-אם כן אז לקבל את הכל ולבחור את הרלוונטי, ואז לעבור תחנה תחנה ולקבל את השם של התחנה לפי המספר שזה יכול להיות גם רשימה של שלושים תחנות! -
אתה צריך לכתוב קוד שמוריד את הקבצים וממלא אותם בתוך מסד נתונים.
את שגרת הקוד הזו אתה מפעיל אחת לתקופה שתחליט, במקור זה מתעדכן פעם ביממה.אתה כנראה עוד לא כל כך מתכנת, כי בשביל מתכנת "לעבור שלושים תחנות" זה לא פעולה מסובכת יותר מאשר שני תחנות.
במסד נתונים זה יותר קל כי מבקשים את כל התואמים לרשימת מספרים עם האופרטור IN. -
@dovid בעיקרון אני מכיר את mysql אבל לא השתמשתי בו רציתי ולכן לא זכרתי ממנו... אבל אתה צודק - איתו זה אמור להיות ממש קל!
אז למעשה אני צריך להוריד הזיפ, לחלץ אותו, ואז להכניס אותו למסד נתונים?
אתה אולי יודע על ספריה לחילוץ קבצי זיפ?
וכן יש דרך ישירה של הכנסת נתונים מאקסל למסד נתונים או שזה תהליך?תודה רבה לעזרה!
-
אז למעשה אני צריך להוריד הזיפ, לחלץ אותו, ואז להכניס אותו למסד נתונים?
כן.
אתה אולי יודע על ספריה לחילוץ קבצי זיפ?
לא, פתח לזה נושא (תציין את השפה), אני בטוח שתקבל מענה מצויין.
וכן יש דרך ישירה של הכנסת נתונים מאקסל למסד נתונים או שזה תהליך?
זה לא אקסל, זה נפתח אצלך באקסל.
זה קבצי טקסט (פורמט CSV), והם קלים מאוד לעיבוד עם קוד PHP, פתח גם על זה נושא נפרד.
(יכול להיות שאפשר לייבא אותם ישירות לmysql בפקודה אחת, אבל זה מצריך כמדומה לי שהmysql יהיה פיזית על אותו שרת בהם הקבצים מה שבד"כ לא קורה בחברות אירוח). -
@ivrtikshoret כתב במישהו יכול לעזור לי ב API של משרד התחבורה- למידע על תחבורה ציבורית?:
@ששא
איך אתה מוריד?$myfile = 'https://gtfs.mot.gov.il/gtfsfiles/israel-public-transportation.zip'; $file = file_put_contents("aaa",file_get_contents($myfile)); echo $file;
-
אני יכול לעזור לך אבל במקביל ללימודים שלך בתיכנות אתה גם צריך ללמוד בגוגל זה יעזור לך המון...
תכתוב בגוגל:
php file_get_contents SSL operation failed with code 1
ותקבל המון תשובות
אם אתה לא מסתדר תעדכן