חישוב מהירות
MyPigeons מחשב את המהירות של כל הגעה מאותם רכיבים: מרחק, משך הטיסה, סטיות שעון, זמן מת ומתג מהירות נמוכה קריטית שמעביר את הדירוג לזמן ההגעה כשהיונים מאטות. הדף הזה עובר על כל קלט, סדר היישום שלהם, ועל מקרי הקצה שמסבכים תחרויות רב-יומיות.
כדאי לדעת לפני שמתחילים
- המהירות מוצגת כברירת מחדל ב-m/min, או ב-y/min במדינות אימפריאליות. הדיוק נשלט גלובלית על ידי ההגדרה מספר הספרות העשרוניות של המהירות.
- ניתן להגדיר את הזמן המת ברמה ארצית או לדרוס אותו בתחרות בודדת. הדריסה לכל תחרות תמיד מנצחת.
- יונה הטסה איטית יותר מהמהירות הנמוכה הקריטית (ברירת מחדל 750 m/min) ממוינת, כאשר האפשרות פעילה בתחרות, לפי זמן ההגעה במקום לפי המהירות.
הנוסחה הבסיסית של המהירות
כל המהירויות במערכת משתמשות באותה נוסחה:
מהירות = מרחק × 60 / משך טיסה, כאשר המרחק מבוטא במטרים (או בידות במדינות אימפריאליות) ומשך הטיסה בשניות.
המרת יחידות מרחק
את היחידה קובעת ההגדרה מערכת יחידות המהירות. מדינות מטריות שומרות את המרחק בקילומטרים וממירות אותו למטרים (× 1000). מדינות אימפריאליות שומרות את המרחק במיילים וממירות אותו ליארדים (× 1760). בנגלדש היא הכלאה מכוונת: המרחק נשמר בקילומטרים אבל המהירויות מדווחות ב-y/min, ולכן המרחק מוכפל ב-1093,6133.
דיוק ובדיקות הגיון
המהירות הסופית מעוגלת למספר הספרות העשרוניות שהוגדר. שני אמצעי הגנה רצים בסוף: משך טיסה של אפס או פחות מאפס מאפס את המהירות ל-0, וכל מהירות מעל 10 000 מאופסת אף היא ל-0 (לרוב בשל סטיית שעון בכיוון שגוי או הגעה שהוזנה לפני השילוח).
משך טיסה בפירוט
משך הטיסה אינו פשוט הגעה - שילוח. זוהי תוצאה של ארבעה צעדים המופעלים בסדר הבא:
חישוב חותמת זמן ההגעה המוחלטת
חותמת הזמן של ההגעה מחושבת כשניות שחלפו מרגע השילוח:
שילוח + (יום הגעה - 1) × 86400 + ש × 3600 + ד × 60 + שניות. כך נמנעות בעיות של מעברי שעון קיץ בין מדינות - על ידי ספירת השניות מרגע השילוח במקום בנייה מחדש של תאריך לוח, התוצאה נשארת נכונה גם כשהשילוח וההגעה נופלים בצדדים שונים של מעבר שעון.הפחתת סטיית שעון או סטייה יחסית
כאשר סטייה יחסית מופעלת, נעשה שימוש בסטייה היחסית; אחרת נעשה שימוש בסטיית השעון הגולמית. טיפול הסימן תלוי בשני מתגים. השתמש בסטייה חיובית תמיד הופך את הסימן - שימושי במדינות שבהן סטייה חיובית היא הכיוון הלא-נוח. השתמש בסטייה שלילית מחיל את הסטייה רק כשהיא שלילית; סטיות חיוביות מתאפסות, וזו התנהגות ברירת המחדל ברוב האיגודים. המנגנון המלא של הסטייה היחסית מתואר בסעיף נפרד למטה.
הפחתת זמן אופניים
אם המגדל רושם זמן אופניים - הזמן שהושקע בהובלת השעון מהשובך למועדון לקריאה - הוא מופחת ממשך הטיסה כדי שזמן הקיבוע ייספר ולא זמן ההובלה.
הפחתת זמן מת
הפחתת הזמן המת היא הצעד המורכב ביותר ויש לה סעיף נפרד למטה.
סטייה יחסית בפירוט
כמה איגודים מחלקים את סטיית השעון באופן יחסי לאורך חלון פעילות השעון, במקום להחיל את הסטייה המלאה על כל הגעה. זה בדיוק מה שעושה הסטייה היחסית. כשהיא מופעלת, המחשבון משתמש בסטייה היחסית במקום בסטיית השעון הגולמית בעת חישוב משך הטיסה.
חלון פעילות השעון: זמני פתיחה וסגירה
בעת עיבוד קובץ הייבוא, המערכת שומרת לכל תחרות שתי חותמות זמן התוחמות את חלון פעילות השעון:
- זמן פתיחה - מתי השעון נכוון והופעל במועדון, לפני הסליל.
- זמן סגירה - מתי השעון נעצר ונקרא לאחר התחרות.
שתי חותמות הזמן נמצאות באותו טבלה ונשמרות בשתי רמות.
רשומה ברמת מועדון
רשומה אחת לכל מועדון ותחרות, המכילה את הפתיחה והסגירה החלות כברירת מחדל על כל חבר במועדון. זהו המקרה הנפוץ ביותר - כל המועדון סלל וקרא יחד, כך שצמד פתיחה/סגירה אחד מכסה את כל החברים.
דריסה למגדל בודד
כמה איגודים מייבאים גם חותמות זמן של פתיחה (ואופציונלית סגירה) ברמת המגדל. הרשומות הללו דורסות את ערכי המועדון עבור אותו מגדל ספציפי. הדריסה חלקית: רשומה עם פתיחה בלבד מחליפה רק את הפתיחה ויורשת את הסגירה של המועדון, ואילו רשומה הממלאת גם את הסגירה מחליפה את שתיהן.
כשקיימת רשומת מגדל, החלון מתחיל בפתיחה שלו. סוף החלון מגיע מרשומת המגדל אם היא נושאת זמן סגירה; אחרת המערכת חוזרת לסגירת המועדון.
איך מחושבת הסטייה היחסית
בנוסחה שלושה חלקים:
זמן_פעילות = פתיחה - סגירה- סך השניות בהן השעון פעל.זמן_פעילות_בהגעה = הגעה - סגירה- היכן ממוקמת ההגעה בתוך אותו חלון.סטייה_יחסית = (זמן_פעילות_בהגעה / זמן_פעילות) × סטיית_שעון- חלקה של סטיית השעון המוחל על הגעה זו, ביחס ישר לכמה מחלון הפעילות חלף עד רגע ההגעה.
באופן ממשי, הגעה ממש בתחילת חלון הפעילות תורמת 0 סטייה; הגעה בסופו מקבלת את כל סטיית השעון; הגעה באמצע מקבלת חצי. התוצאה מעוגלת לארבע ספרות עשרוניות לפני החזרתה לנוסחת משך הטיסה.
מתי מדלגים על הסטייה היחסית
בשני מקרים מדלגים על החישוב לחלוטין ומחזירים 0. ראשית: כאשר ההגדרה השתמש בסטייה יחסית כבויה בתצורת המדינה. שנית: כאשר לתחרות אין רשומת מועדון ואין רשומת מגדל - בדרך כלל מפני שקובץ הייבוא לא נשא את זמני הפתיחה/סגירה. בשני המקרים מחשבון המהירות חוזר לסטיית השעון הגולמית.
טיפול בסימן ומתגי חיובי/שלילי
סטיית שעון היא מספר עם סימן, אבל איגודים אינם מסכימים על משמעות כל סימן. שני מתגים ארציים קובעים כיצד MyPigeons מפרש זאת.
השתמש בסטייה שלילית שולט בסימן בעת ההזנה. דלוק (ברירת מחדל) - הסטייה נשמרת בדיוק כפי שהוזנה. כבוי - מספרים חיוביים שהמשתמש הזין מתהפכים לשליליים בעת השמירה - שימושי לאיגודים שמדווחים על סטיות כמספרים חיוביים אך מתייחסים אליהן כעונש.
השתמש בסטייה חיובית הופך את הסימן ברגע שבו הסטייה נכנסת לנוסחת המהירות. כבוי (ברירת מחדל) - הערך השמור נכנס כפי שהוא; דלוק - הוא מוכפל קודם ב--1 - שימושי כשפרשנות הסימן באיגוד שלך הפוכה לברירת המחדל של MyPigeons.
שני המתגים הם הגדרות ארציות; ברגע שהם תואמים לכללי האיגוד שלך, אין צורך לשנותם בכל תחרות. הם פועלים על סוג הסטייה הנמצא כעת בשימוש - אם הסטייה היחסית פעילה, אותם כללי סימן חלים על הסטייה היחסית, לא על הערך הגולמי של השעון.
מאיפה מגיעים זמני הפתיחה והסגירה
זמני הפתיחה והסגירה מתמלאים מקובץ הייבוא ברגע העלאת נתוני התחרות. רוב יצואי ETS נושאים את שני הזמנים עבור המועדון; איגודים העובדים עם דריסה ברמת המגדל מצרפים גם רשומות מגדל. ניתן גם לערוך את הרשומות ממסך זמני השעון אם יש צורך לתקן ידנית שגיאת הקלדה או למלא ערך חסר לפני חישוב מחדש.
אזורי זמן מת
אזור זמן מת הוא חלון לילי חוזר שבמהלכו היונים אינן עפות. המערכת מסירה את החלון הזה ממשך הטיסה, כדי שהגעה רב-יומית לא תיענש על השעות שבהן אף יונה לא יכלה להיות באוויר.
לאזור זמן מת יש טווח תאריכים (לאילו שבועות בעונה הוא חל) וטווח שעות יום (חלון הלילה, למשל 21:00 - 05:00). משך ההפחתה הוא יום שלם בתוספת ההפרש בין שני הזמנים - חלון של 21:00 - 05:00 שווה אפוא ל-32 שעות בלילה, מפני שהחלון חוצה את חצות.
שתי דרכים להגדיר זמן מת
אפשר להגדיר זמן מת בשני מקומות. בעת חישוב המהירות הם נקראים בסדר קבוע.
זמן מת גלובלי (ארצי)
מוגדר תחת פאנל ניהול → אזורי זמן מת. אפשר ליצור כמה מרווחים שהעונה דורשת - בדרך כלל חלון לילה קצר יותר לתחרויות הקיץ (למשל 22:00 - 04:00) ואחד ארוך יותר לשבועות מרתון (למשל 21:00 - 05:30). לכל מרווח טווח תאריכי עונה משלו, כך שהם יכולים לכסות חלקים שונים של השנה ללא חפיפה. הטופס דוחה מרווחים החופפים לרשומה קיימת.
דריסה לכל תחרות
מוגדרת ישירות בלשונית הניהול של התחרות כדריסה חד-פעמית לתחרות בודדת. השתמש בה כשלתחרות מסוימת יש דרישות בלתי-שגרתיות לזמן מת - למשל טיסת מרחק ארוך שבה יש להאריך את חלון הזמן המת רק עבור אותה תחרות. הדריסה שומרת רק את טווח שעות היום; היא חלה במרומז על כל הימים שמכסה התחרות.
מי מנצח
מחשבון המהירות מחפש את שניהם, בסדר הזה:
מציאת אזור גלובלי
החיפוש הגלובלי רץ מול רגע השילוח של התחרות. נטען המרווח הגלובלי המכסה את רגע השילוח - שעת התחלה, שעת סיום ומשך לילי. ההתאמה לפי תאריך; טווח שעות היום משמש מאוחר יותר להפחתת הזמן המת, לא לסינון החיפוש.
יישום הדריסה לכל תחרות
אם קיימת דריסה לכל תחרות, ערכיה דורסים את כל מה שטען החיפוש הגלובלי - הדריסה תמיד מנצחת בשלושת השדות (התחלה, סיום, משך). אם לא נמצאה התאמה גלובלית אך קיימת דריסה, נעשה שימוש בדריסה לבדה.
אין התאמה משמעו אין הפחתה
אם אף אחד מהם אינו מספק תוצאה, הזמן המת הוא אפס ומשך הטיסה נשאר לא נגוע.
תחרויות רב-יומיות ואזורים חופפים
מרבית המורכבות סביב הזמן המת מתבררת רק בהגעות שאורכות יותר מיום אחד. שני כללים מנחים את המתרחש.
כמה לילות מופחתים
לאחר שהאזור התואם ידוע, משכו הלילי מוכפל במספר ימי הלוח שבין השילוח להגעה. יונה המגיעה יומיים מאוחר יותר תופחת בשני לילות שלמים של זמן מת; זו המגיעה באותו יום, באף אחד. מספר הימים מחושב מהתאריך בלוח, לא מהשניות שחלפו, כך שטיסה מיום שישי אחר הצהריים עד יום ראשון בבוקר נספרת כשני ימים בלי קשר לשעות המדויקות.
הגעות הנופלות בתוך חלון הזמן המת
אם שעת ההגעה ביום נופלת בין תחילת הזמן המת לסופו, המחשבון מקדים את ההגעה לסוף החלון לפני ההפחתה. שני מקרים מטופלים בצורה סימטרית:
הגעה לפני חצות, בתוך החלון
דוגמה: חלון 21:00 - 05:00, היונה מגיעה ב-22:30. ההגעה מוקדמת ל-05:00 בבוקר למחרת - מתווסף הזמן מההגעה עד חצות, ולאחר מכן מחצות עד סוף החלון.
הגעה אחרי חצות, עדיין בתוך החלון
דוגמה: אותו חלון 21:00 - 05:00, היונה מגיעה ב-03:00. ההגעה מוקדמת ל-05:00 של אותו יום. בשני המקרים ההגעה מונחת בסוף הזמן המת, כך שההפחתה נשארת סימטרית.
אזהרה חשובה: רק האזור של יום השילוח נמצא בשימוש
החיפוש הגלובלי רץ פעם אחת בלבד, מול רגע השילוח של התחרות. אם המדינה שלך מגדירה מרווחי זמן מת שונים לחלקים שונים של העונה וטיסה של תחרות אחת חוצה שניים מהם, המרווח של יום השילוח חוזר לשימוש בכל לילה עוקב - המערכת אינה מחברת תצורות בין ימים שונים. תכננו את המרווחים הארציים כך שכל תחרות בודדת תיכנס בתוך מרווח אחד.
עבור תחרות חד-פעמית הזקוקה בצדק לזמן מת שונה מהתצורה הגלובלית (למשל טיסת מרתון בה חלון הלילה הסטנדרטי קצר מדי), הגדר דריסה בלשונית הניהול של התחרות. הדריסה מחליפה את שלושת הערכים (התחלה, סיום, משך) רק עבור אותה תחרות וזה הפתרון הנקי ביותר.
מהירות נמוכה קריטית (ברירת מחדל 750 m/min)
כשהיונים נעצרות בדרך - חום קיצוני, רוח נגדית, להקה שנחתה ללילה - המהירויות יורדות מתחת לרמה שבה המרחק בין שובך לשובך עדיין מפיק דירוג בעל משמעות. שיפוט לפי מהירות בלבד היה מעדיף שלא בצדק שובכים על מרחקים קצרים, מפני שלאותו משך טיסה מרחק קצר יותר נותן תמיד מהירות גבוהה יותר. את זה בדיוק פותר מתג המהירות הנמוכה הקריטית.
איך מוגדר הסף
אותו מובילים שני הגדרות. מהירות נמוכה קריטית מגדירה את הסף עצמו - ברירת מחדל 750, ב-m/min במערכות מטריות וב-y/min באימפריאליות. המתג הראשי השתמש במהירות נמוכה קריטית חושף את הפיצ'ר בממשק התחרות.
איך תחרות מצטרפת
לכל תחרות יש שני מתגים בחלון הפרטים:
מיין לפי זמן הגעה כשהמהירות מתחת לסף
כשהמתג הזה דלוק, יונים שמהירותן מתחת לסף נכתבות לתוצאות הזמניות עם חותמת זמן ההגעה המתואמת במקום עם המהירות - הדירוג ממיין אז לפי מי הגיע ראשון, ולא לפי מי טס מהר יותר במרחק קצר יותר. יונים מעל הסף אינן מושפעות; אצלן נשאר תקף המיון לפי מהירות. שתי שיטות הדירוג חיות זו לצד זו באותה תחרות.
החלת תיקון מרחק ממוצע
המתג הזה מחיל תיקון בנוסח אוסטרי: זמן ההגעה של כל שובך מוסט ב-8 שניות לכל 100 מ' של הפרש מהמרחק הממוצע של התחרות. שובכים רחוקים יותר מנקודת השילוח מקבלים הסטה חיובית (ההגעה שלהם נחשבת מוקדמת יותר), שובכים קרובים יותר מקבלים הסטה שלילית. כך מתקזזות פערי המרחק מבלי לזנוח את הדירוג מבוסס הזמן.
מאיפה מגיע המרחק הממוצע
המרחק הממוצע של התחרות מחושב מתוך מרחקי שובכים של מגדלים נבדלים, ולא ממרחקים לפי יונה. כל מגדל תורם את שובכו פעם אחת, ללא קשר לכמה יונות סלל - כך שובך גדול יחיד אינו יכול לסלף את הממוצע.
מתי מחושבות מהירויות מחדש
מהירות מחושבת בכל פעם שמשתנה קלט הזורם לנוסחה. הנקודות הנפוצות:
- הגעה חדשה - מיובאת מקובץ ETS או מוזנת ידנית מפעילה חישוב מהירות להגעה בודדת.
- עריכות מסיביות בתחרות (סטיית שעון, מרחק, זמן מת) מחשבות מחדש כל הגעה בתחרות.
- חישוב מחדש ברמת התחרות עובר על כל הגעה בתחרות - ההגעות הרשמיות, התוצאות הזמניות הפעילות וההגעות המדווחות לציבור. כשהסטייה היחסית פעילה, גם הסטייה היחסית לכל מגדל נגזרת מחדש מרשומות זמני השעון לפני שהמהירות מחושבת מחדש.
- הגעות BENZING Live - בין באימוני יחיד ובין באימוני מועדון משותפים, המהירות מחושבת מחדש בכל הגעה חדשה שהמכשיר החי מדווח עליה.
- API להעברה - כלים של צד שלישי השולחים הגעות דרך ה-API הציבורי עוברים באותו מסלול חישוב.
- מצב אימון משתמש בנוסחה נפרדת ופשוטה יותר המתעלמת לחלוטין מסטיות, מזמן מת ומזמן אופניים. הוא משמש לרשומות אימון אישיות שאינן מתערבבות לעולם עם תוצאות תחרות.
מקרי קצה ששווה להכיר
מעברי שעון קיץ
חותמות זמן ההגעה מחושבות כשניות שחלפו מרגע השילוח, ולא מתאריך לוח שנבנה מחדש. בכך החישוב חסין למעברי שעון הנופלים בין השילוח להגעה, גם כשהתחרות חוצה יותר ממדינה אחת.
אזור הזמן של הארגון
כשההגדרה של אזור הזמן פעילה ולארגון התחרות אזור זמן משלו מוגדר, אותו אזור נמצא בשימוש בכל השוואות שעות היום של הזמן המת. איגוד עם משרדים בשתי מדינות מקבל כך תוצאות עקביות - חלון הזמן המת מתפרש בזמן המקומי של הארגון.
יחידות אימפריאליות ויחידות בנגלדש
תחרויות אימפריאליות שומרות את המרחק במיילים וממירות אותו ליארדים (× 1760) לפני חישוב המהירות; סופית היחידה הופכת ל-y/min. בנגלדש עובדת במרחק מטרי (km) אך מדווחת ב-y/min, ולכן המרחק מוכפל ב-1093,6133 ולא ב-1000 כשהמערכת המטרית והסימן y/min מוגדרים יחד.
תקרת הגיון
כל מהירות מחושבת מעל 10 000 מתאפסת ל-0. זה מנגנון הגנה מפני נתונים שגויים - לרוב סטיית שעון בכיוון השגוי או הגעה שהוזנה לפני השילוח.