(אלגוריתם מילולי בצומת ועדכון תרשים זרימה) |
(הערה לתרשים הזרימה) |
||
שורה 247: | שורה 247: | ||
<br/> | <br/> | ||
===תרשים זרימה של האלגוריתם=== | ===תרשים זרימה של האלגוריתם=== | ||
התרשים להלן לא כולל את המקרה של הוראת צא שמאלה (ההנחה שיציאה מכביש ראשי תמיד ימינה). | |||
[[File:Turn_algorithm_flowchart.png|700px|border|center]] | [[File:Turn_algorithm_flowchart.png|700px|border|center]] | ||
==קישורים חיצוניים== | ==קישורים חיצוניים== | ||
*[https://wiki.waze.com/wiki/How_Waze_determines_turn_/_keep_/_exit_maneuvers How Waze determines turn / keep / exit maneuvers] | *[https://wiki.waze.com/wiki/How_Waze_determines_turn_/_keep_/_exit_maneuvers How Waze determines turn / keep / exit maneuvers] | ||
*[https://wiki.waze.com/wiki/Interactive_junction_instruction_algorithm Interactive junction instruction algorithm] | *[https://wiki.waze.com/wiki/Interactive_junction_instruction_algorithm Interactive junction instruction algorithm] |
גרסה מ־15:39, 8 בדצמבר 2014
שימו לב - דף זה נמצא בעריכה וחלק מהתוכן בו אינו מעודכן.
ההוראות מתקבלות באפליקציה בעת ניווט ליעד מוגדר. ההוראות מתקבלות הן בצורה ויזואלית על גבי המסך והן בצורה קולית על פי הגדרות המשתמש.
דף זה מטרתו להסביר מהן ההוראות שיתקבלו בעת מעבר דרך צומת או דרך כיכר.
הדף מבוסס על תרגום לעברית של הדף המקורי בוויקי האמריקאי.
התורמים לדף האמריקאי הם: Krankyd, Doctorkd, Kentsmith9, Qualetee, Dbraughlr, PesachZ, Motik.
עד מילוי דף זה ניתן לפנות אל הקישורים החיצוניים (באנגלית).
הגדרות
על מנת לאפשר תאור של האלגוריתם, אנו נדרשים לתת שם לכל אחד מן הדרכים אשר מתחברות לצומת או לכיכר. שמות אלה הם סובייקטיבים, והם נקבעים על פי המקטע שממנו מגיעים אל הצומת (או כיכר), והמקטע שממנו יוצאים מהצומת (או הכיכר) על פי המסלול הנקבע על ידי הניווט.
התחל עם הצומת במרכז.
- s-in: המקטע עליו נמצא הרכב כאשר הוא מגיע לצומת (או לכיכר).
- s-out: המקטע שהרכב יוצא מהצומת (או מהכיכר) על פי הניווט המוצע. זה יכול להיות כל אחד מהמקטעים האחרים המתחברים לצומת (או לכיכר) ששמותיהם s1,s2,s3,s4 וכו' וייתכן שהוא זהה ל- s-in במקרה של כיכר כפי שמוגדר בהמשך.
- s1,s2,s3,s4 וכו': כל המקטעים המתחברים לצומת/כיכר (כולל s-out) ממוספרים ברציפות ואחד מהם מכונה גם s-out על פי המוגדר לעיל (למעט בכיכר שבה s-out יכול להיות גם s-in).
- ההמשך המיטבי: אחד המקטעים היוצאים מן הצומת (לא מדובר כאן על כיכר) יכול להיות 'ההמשך המיטבי' (לא חייב להיות כזה). זהו המקטע ש- Waze קובע שנהגים יתייחסו אליו כ'מסלול ללא פניה' או 'המשך ישר' דרך ההצטלבות. המקטע הזה יקבל הוראת 'המשך', והאפליקציה בקליינט מתעלמת מההוראה הזו. הקריטריון ש- Waze משתמש לצורך קביעת 'ההמשך המיטבי' מוסבר בהמשך.
- כביש ראשי: מתייחס ל: או או ולא .
- זווית פניה: היא הזווית מהמקור ליעד בצומת. עבור כביש ישר לחלוטין עם צומת במרכזו נקבל זווית פניה של 0°. בהמשך הזווית מתרחבת ככל שפונים יותר לאחד הצדדים. פניה מושלמת ימינה או שמאלה היא בזווית של 90°. פניית פרסה בצומת בין שני מקטעים מיוצגת על ידי פניה של 180°. (פניה שהיא בזווית קטנה מ- 45.04° תתן הוראת היצמד, ואילו פניה בזווית שהיא מעל 45.14° תתן הוראת פנה).
- במונחים טכניים: הזווית של פניה מ- s-in אל sN היא המשלים ל- 180° של הזווית בין הקרן הישרה שמתחילה במפרק הגיאומטריה האחרון של s-in, עוברת בצומת וממשיכה מעבר לצומת בקו ישר, והקרן שמתחילה בצומת וממשיכה דרך מפרק הגיאומטריה הראשון של sN.
זוויות פניה | ||
---|---|---|
צומת גיאומטריה של רגל-כלב 90° | זווית 37° | זוויות סטנדרטיות |
- זווית כיכר: היא הזווית של כל מקטע המתחבר אל הכיכר מנקודת מבט של הכניסה לכיכר s-in. אין שום חשיבות לזווית הפניה של המקטע המדובר בצומת שהוא מתחבר אל הכיכר או לזווית הפניה של הצומת בה מתחבר s-in אל הכיכר.
לצורך ההסבר:- מתח קו דמיוני ישר מהצומת בה מתחבר s-in דרך מרכז הכיכר עד לצידה השני של הכיכר. הקו הזה מייצג זווית כיכר של 0°. כל קו היוצא ממרכז הכיכר הסוטה מהקו הזה עם כיוון השעון או נגד כיוון השעון, יוצר זווית הולכת וגדלה (כלומר תהיה תמיד חיובית).
- מתח קו דמיוני נוסף דרך מרכז הכיכר בניצב לקו הדמיוני הראשון. זווית הכיכר הנוצרת ממרכז הכיכר לכל אחד משני הכיוונים היא 90°.
כיכרות | |
---|---|
נורמלית | לא-נורמלית |
כל היציאות נמצאות בתוך התחום המותר של 0°-15° או 75°-105° או 165°-180°. | לא כל היציאות נמצאות בתוך התחום המותר של 0°-15° או 75°-105° או 165°-180°. |
- כיכר לא חוקית זוהי כיכר שיש בה 2 או יותר יציאות מתוך אותו הצומת: זהו מצב לא חוקי (מאחר ולא ניתן במסגרת ההוראות הקיימות להבדיל בין יציאה אחת ליציאה השניה). יש להימנע מבניית כיכר כזו.
שאר סוגי הכיכרות להלן נחשבות חוקיות והמקרה הנ"ל לא מתקיים בהן.
- כיכר נורמלית היא כיכר (מעגל תנועה) שבה מתקיים:
- יש בה 4 צמתים לכל היותר (סופרים כל סוג דרך הנפגשת בכיכר גם אם היא חד כיוונית).
- כל היציאות עוזבות את הכיכר (מנקודת ראות של s-in) בזווית נורמלית.
- זווית נורמלית היא זווית של 0°-15° או 75°-105° או 165°-180°.
- אין בה 2 או יותר יציאות בתוך אותו תחום של 0°-15° או 75°-105° או 165°-180°.
- אין בה יציאה בתחום 165°-180° הנמצאת מימין לכניסה (יציאה סמוכה לכניסה נגד כיוון השעון).
- כיכר לא נורמלית היא אחת מהבאות:
- כיכר שלא מתקיים בה התנאי הראשון.
- כיכר שמתקיים בה התנאי הראשון אבל לא מתקיים בה התנאי השני.
- כיכר שמתקיים בה התנאי הראשון והשני אבל לא מתקיים בה התנאי הרביעי.
- כיכר לא מוגדרת היטב זוהי כיכר שלא מקיימת את תנאי כיכר נורמלית או את תנאי כיכר לא נורמלית או את תנאי כיכר לא חוקית. כיכר כזו בהכרח מקיימת את התנאים הראשון (עד 4 צמתים) והשני והרביעי, ולא מקיימת את התנאי השלישי, כלומר יש בה 2 או יותר יציאות בתוך אותו תחום של 0°-15° או 75°-105° או 165°-180°.
הערה: לא רצוי שיהיו 2 כניסות המתחברות אל אותו צומת בכיכר. זהו מצב לא סביר שיקרה מכיוון שמבחינה חוקית נוצרת אי בהירות לגבי זכות קדימה בין 2 כלי רכב המגיעים משתי כניסות אל אותו הצומת בכיכר.
ההוראות בכיכר
- ההוראות בכיכר נורמלית: ההוראה שתתקבל היא אחת מתוך:
- פנה ימינה
- המשך ישר
- פנה שמאלה
- בצע פניית פרסה (כשהיציאה היא בזווית כיכר 165°-180°).
- ההוראות בכיכר לא-נורמלית: ההוראה תהיה צא ביציאה ה-N.
- N הוא מספר היציאה אחרי s-in בספירה נגד כיוון השעון. צמתים בהם אין יציאה (יש רק כניסה או צומת ללא כניסה וללא יציאה) לא נספרים.
- ההוראות בכיכר לא מוגדרת היטב: ההוראות אל 2 היציאות הסמוכות יהיו "צא ביציאה ה-N" ובשאר היציאות יהיו כמו בכיכר נורמלית (פנה/ישר/פרסה).
ההמשך המיטבי
על מנת לקבוע אם s-out הוא ההמשך המיטבי של s-in, ווייז פועל על פי האלגוריתם המתואר להלן.
מס' | שאלה (ביחס ל- s-in) | אם כן, עבור אל | אם לא, עבור אל |
---|---|---|---|
3) | האם s-out מתאים בסוג? | 4 | 14 |
4) | האם ל- s-in יש שם ראשי? | 5 | 7 |
5) | האם s-out מתאים בשם הראשי או שיש התאמה צולבת1? | 6 | 10 |
6) | האם איזה sN מתאים בשם הראשי ובסוג? | KI | BC |
7) | האם איזה sN מתאים בשם הראשי או שיש לו התאמה צולבת1 בשם? | KI | 8 |
8) | האם s-out מתאים בשם הראשי או שיש לו התאמה צולבת1 בשם? | BC | 9 |
9) | האם איזה sN מתאים בסוג? | KI | BC |
10) | האם איזה sN מתאים בשם הראשי ובסוג? | KI | 11 |
11) | האם s-out מתאים בשם החלופי2? | 13 | 12 |
12) | האם איזה sN מתאים בשם הראשי או שיש לו התאמה צולבת1 בשם או התאמה בשם החלופי2? | KI | BC |
13) | האם איזה sN בעל התאמה בשם החלופי2 וגם בסוג? | KI | BC |
14) | האם איזה sN בעל התאמה בסוג? | 15 | 20 |
15) | האם איזה sN בעל התאמה בשם הראשי או התאמה צולבת1? | KI | 16 |
16) | האם ל- s-in יש שם ראשי? | 17 | KI |
17) | האם s-out מתאים בשם הראשי או שיש התאמה צולבת1? | BC | 18 |
18) | האם s-out מתאים בשם החלופי2? | 19 | KI |
19) | האם איזה sN מתאים בשם החלופי2? | KI | BC |
20) | האם s-out מתאים בשם הראשי? | 21 | 22 |
21) | האם איזה sN מתאים בשם הראשי או שיש לו התאמה צולבת1 בשם? | KI | BC |
22) | האם איזה sN מתאים בשם הראשי? | KI | 23 |
23) | האם s-out מתאים בהתאמה צולבת1? | 24 | 25 |
24) | האם איזה sN מתאים בהתאמה צולבת בשם? | KI | BC |
25) | האם איזה sN מתאים בהתאמה צולבת1 בשם? | KI | 26 |
26) | האם ל- s-in יש שם ראשי? | 27 | KI |
27) | האם s-out מתאים בשם החלופי2? | 28 | KI |
28) | האם איזה sN מתאים בשם החלופי? | KI | BC |
KI = הוראת צא או היצמד תינתן על פי הנדרש
BC = המשך מיטבי, לא תינתן הוראה
הערות
1 התאמה צולבת היא כאשר השם הראשי במקטע אחד זהה לשם החלופי במקטע השני. אין התאמה צולבת אלא אם כל אחד מהמקטעים הוא בעל שם חלופי אחד לפחות! (אפילו אם אין שמות ראשיים). כמו-כן לא תהיה התאמה צולבת בצומת פיצול 1:2 אם כל 3 המקטעים הם בעלי שם ראשי זהה או בעלי שם חלופי זהה.
2 התאמה בשם החלופי היא כאשר שני מקטעים סמוכים הם בעלי שם חלופי זהה (ללא תלות בשם העיר). לא תהיה התאמה בשם החלופי כאשר כל 3 המקטעים בפיצול הם בעלי שם ראשי זהה. כמו-כן יש לשים לב שתהיה התאמה בשם החלופי כאשר s-out היוצא מהפיצול אין לו שם ראשי.
להלן סדר העדיפות לקביעת ההמשך המיטבי:
- התאמה בשם ראשי + סוג
- התאמה בשם חלופי + סוג
- התאמה בשם ראשי או התאמה צולבת
- התאמה בשם החלופי
- התאמה בסוג
(אין השפעה לשם העיר על ההתאמה)
חריגים
בצומת עם יותר ממקטע אחד העוזבים אותו בזווית קטנה מ 45° ייתכן שיתקבלו הוראות לכל המקטעים או לאף מקטע. להלן מספר תרחישים כאלה:
- אם אף מקטע העוזב בזווית קטנה מ 45° אינו בעל התאמה טובה יותר ל- s-in מבחינת התאמה בשם או בסוג, כולם יקבלו הוראות. זה נכון גם כאשר אחד המקטעים עוזב בזווית של 0° יחסית ל s-in.
- לא תמיד יש המשך מיטבי. כאשר s-out הוא בעל התאמה בשם ובסוג ל s-in, אבל sN אחר גם כן בעל התאמה בשם ובסוג ל s-in, אף אחד מהם לא יוגדר כהמשך המיטבי.
- מקטע (s1, s2, ...sN) היוצא מצומת בזווית קטנה מ 45°, ויש איסור פניה אליו מתוך s-in, לא ייחשב כהמשך המיטבי או כ sN אפילו אם הזווית שלו 0° יחסית ל s-in.
- מקטע ללא שם נחשב כאילו שמו הוא "ללא שם" מבחינת אלגוריתם מציאת ההמשך המיטבי. באופן זה שני מקטעים ללא שם ייחשבו כבעלי שם זהה, אפילו אם הם יורשים שם שונה של מקטע בהמשך שלהם עבור ה- TTS.
ההוראות בצומת
אלגוריתם מילולי
האלגוריתם להלן מתאר פניה ימינה. במקרה של פניה שמאלה, האלגוריתם סימטרי.
- אם אל הצומת מתחברים רק 2 מקטעים, אין הוראה.
- אם s-out הוא ההמשך המיטבי של s-in (ראה ההמשך המיטבי לעיל) אין הוראה.
- אם זווית הפניה גדולה מ 45°, ההוראה תהיה פנה ימינה. הערה: מסתתרת כאן הנחה שבכביש ראשי כל זוויות הפניה קטנות מ 45° (אחרת ההוראה הייתה צריכה להיות במצב כזה: צא).
- אם s-in הוא כביש ראשי, ו- s-out אינו כביש ראשי, ההוראה היא צא ימינה.
- אם s-in הוא מחבר היוצא מכביש ראשי (רמפת יציאה), ו- s-out הוא לא כביש ראשי ולא מחבר, ההוראה תהיה צא ימינה.
- בשאר המקרים ההוראה תהיה היצמד לנתיב הימני.
תרשים זרימה של האלגוריתם
התרשים להלן לא כולל את המקרה של הוראת צא שמאלה (ההנחה שיציאה מכביש ראשי תמיד ימינה).