速度計算
比賽

速度計算

MyPigeons 以相同的組成元素計算每隻鴿子的歸返速度:距離、飛行時長、鴿鐘差、死時段,以及在鴿子放慢時將排序切換到歸返時間的關鍵低速開關。本頁逐一說明每個輸入、它們的套用順序,以及讓多日比賽變得複雜的各種邊界狀況。

開始前瀏覽教材

  • 速度預設以 m/min 顯示,英制國家則以 y/min。精度由全域設定 速度小數位數 控制。
  • 死時段可在全國範圍設定 在單場比賽上覆寫。比賽層級的覆寫永遠優先。
  • 飛得比 關鍵低速(預設 750 m/min)更慢的鴿子,在比賽開啟該選項時,會依歸返時間而非速度排序。

速度的基本公式

系統中的所有速度都使用相同公式:

速度 = 距離 × 60 / 飛行時長,其中距離以公尺為單位(英制國家以碼為單位),飛行時長以秒為單位。

距離單位轉換

單位由 速度單位制 設定決定。公制國家以公里儲存距離並換算為公尺(× 1000)。英制國家以英哩儲存距離並換算為碼(× 1760)。孟加拉是有意的混合:距離以公里儲存,但速度以 y/min 回報,因此距離乘以 1093.6133。

精度與合理性檢查

最終速度按設定的小數位數四捨五入。最後跑兩道防護:飛行時長為零或更小時將速度歸零,任何超過 10 000 的速度也歸零(通常因方向錯誤的鴿鐘差,或在放飛之前輸入的歸返而起)。

飛行時長詳解

飛行時長並非僅是 歸返 - 放飛。它是依以下順序套用的四個步驟結果:

  1. 計算歸返的絕對時間戳

    歸返的時間戳以從放飛瞬間起經過的秒數計算:放飛 + (歸返日 - 1) × 86400 + 時 × 3600 + 分 × 60 + 秒。這避免了各國日光節約時間切換的問題——以從放飛起經過的秒數計算,而不是重建日曆日期,即使放飛與歸返各自落在切換時刻的兩側,結果也仍然正確。

  2. 減去鴿鐘差或相對鴿鐘差

    當啟用相對鴿鐘差時使用相對差;否則使用原始的鴿鐘差。符號處理仰賴兩個開關。使用正向差永遠翻轉符號——在那些將正向差視為不利方向的國家很有用。使用負向差僅在差為負時套用;正向差會被歸零,這是大多數協會的預設行為。相對鴿鐘差的完整機制在下方有專門一節說明。

  3. 減去自行車時間

    若飼主登錄自行車時間——把鴿鐘自鴿舍運至俱樂部讀取所花費的時間——將從飛行時長中扣除,以便計入的是歸返登錄時間,而非搬運時間。

  4. 減去死時段

    死時段的扣除是最複雜的一步,下方有專門一節說明。

相對鴿鐘差詳解

部分協會將鴿鐘差按比例分攤至鴿鐘運行時間窗,而不是把整個差套用到每筆歸返。相對鴿鐘差所做的便是這件事。啟用時,計算機在計算飛行時長時以相對差代替原始鴿鐘差。

鴿鐘運行時間窗:開鐘與關鐘時間

處理匯入檔時,系統為每場比賽儲存兩個時間戳,劃定鴿鐘的運行時間窗:

  • 開鐘時間——鴿鐘在裝籠之前於俱樂部設定並啟動的時間。
  • 關鐘時間——比賽結束後鴿鐘停止並讀取的時間。

兩個時間戳位於同一張資料表中,分兩個層級保存。

俱樂部層級紀錄

每個俱樂部與比賽一筆紀錄,內含預設套用至該俱樂部每位會員的開鐘與關鐘。這是最常見的情形——整個俱樂部一同裝籠並一同讀取,因此一組開鐘/關鐘即可涵蓋所有會員。

依飼主覆寫

部分協會也在飼主層級匯入開鐘(以及可選的關鐘)時間戳。這些紀錄會就該位飼主覆寫俱樂部值。覆寫是部分性的:僅含開鐘的紀錄只取代開鐘並沿用俱樂部關鐘,而同時也填寫關鐘的紀錄則兩者都取代。

存在飼主紀錄時,時間窗從飼主的開鐘開始。窗口的結束如果飼主紀錄帶有關鐘時間則來自該紀錄;否則回退至俱樂部關鐘。

相對鴿鐘差如何計算

公式由三部分組成:

  • 運行時長 = 開鐘 - 關鐘——鴿鐘運行的總秒數。
  • 歸返時的運行時長 = 歸返 - 關鐘——歸返於該窗口中的位置。
  • 相對差 = (歸返時的運行時長 / 運行時長) × 鴿鐘差——按歸返時刻已過運行窗的比例,分配給此次歸返的鴿鐘差份額。

具體而言,運行窗最開始的歸返貢獻 0 差;最末端的歸返獲得整個鴿鐘差;中段的獲得一半。結果於回到飛行時長公式前,先四捨五入至四位小數。

相對鴿鐘差何時被略過

兩種情形會完全略過計算並回傳 0。其一:當國家設定中 使用相對鴿鐘差 設定關閉時。其二:該比賽既無俱樂部紀錄、亦無飼主紀錄時——通常因為匯入檔未攜帶開鐘/關鐘時間。兩種情況下,速度計算機都回退到原始鴿鐘差。

符號處理與正/負開關

鴿鐘差是帶符號的數值,但各協會對哪個符號代表什麼並無共識。MyPigeons 如何解讀,由兩個全國級的開關決定。

使用負向差控制輸入時的符號。開啟(預設)時,差會原樣保存。關閉時,使用者輸入的正數於儲存時會被翻轉為負數——這對那些以正數回報差但視作罰時的協會很有用。

使用正向差會在差進入速度公式時翻轉符號。關閉(預設)時,已儲存的數值原樣進入;開啟時則先乘以 -1——當你的協會對符號的解讀與 MyPigeons 預設相反時很有用。

兩個開關皆為全國級設定;一旦與你的協會規則一致,就無需逐場比賽改動。它們作用於目前使用中的差類型——若相對差啟用,相同的符號規則作用於相對差,而非原始鴿鐘值。

開鐘與關鐘時間從何而來

開鐘與關鐘時間於比賽資料上傳時自匯入檔填入。多數 ETS 匯出皆攜帶俱樂部的兩個時間;採用飼主層級覆寫的協會也會附上飼主紀錄。如需於重算前手動更正錯字或補上遺漏值,亦可從鴿鐘時間畫面編輯這些紀錄。

死時段區域

死時段區域是反覆出現的夜間時間窗,期間鴿子不飛。系統會從飛行時長中移除該窗口,使多日歸返不會因為沒有任何鴿子可能在天上的時段而被扣分。

死時段區域擁有 日期範圍(適用於球季中的哪些週次)和 時段範圍(夜間窗口,例如 21:00 - 05:00)。被扣除的時長為一整天加上兩個時間之間的差——所以 21:00 - 05:00 的窗口每晚為 32 小時,因為窗口跨越午夜。

設定死時段的兩種方式

死時段可在兩處設定。計算速度時依固定順序讀取。

全域死時段(全國範圍)

管理面板 → 死時段區域 設定。可依球季所需建立任意多個區間——通常夏季比賽用較短的夜間窗口(例如 22:00 - 04:00),馬拉松週用較長的(例如 21:00 - 05:30)。每個區間都有自己的球季日期範圍,可以無重疊覆蓋一年中的不同段落。表單會拒絕與既有紀錄重疊的區間。

依比賽覆寫

直接於比賽的管理頁籤設定,作為對單場比賽的一次性覆寫。當某場比賽對死時段有特殊需求時使用——例如長距離飛行只就該比賽延長死時段窗口。覆寫只儲存時段範圍;隱含套用於該比賽涵蓋的所有日期。

何者勝出

速度計算機按以下順序查詢兩者:

  1. 尋找全域區域

    全域查詢以 比賽放飛瞬間 為對象。涵蓋放飛瞬間的全域區間會被載入——開始時間、結束時間以及夜間時長。比對以日期進行;時段範圍稍後用於扣除死時段,而非用於過濾查詢。

  2. 套用依比賽覆寫

    若存在依比賽覆寫,其值會 覆寫 全域查詢所載入的內容——覆寫永遠勝出,包括三個欄位(開始、結束、時長)。如果未找到全域比對但存在覆寫,則僅使用覆寫。

  3. 無比對則無扣除

    若兩者皆未產生結果,死時段為零,飛行時長維持不變。

多日比賽與重疊區域

死時段大部分的複雜性僅在超過一天的歸返才會浮現。兩條規則決定發生什麼。

扣除多少夜

在比對到區域後,其 夜間時長 會乘上放飛與歸返之間的日曆天數。兩日後歸返的鴿子被扣除兩整夜的死時段;同日歸返的則一夜也不扣。天數依日曆日期計算,而非經過的秒數,因此週五下午到週日早上的飛行不論確切小時都計為兩天。

落在死時段窗口內的歸返

若歸返的當日時間落在死時段開始與結束之間,計算機會在扣除前將歸返前移至窗口結束。兩種情形對稱處理:

  1. 午夜前在窗口內歸返

    範例:21:00 - 05:00 的窗口,鴿子於 22:30 歸返。歸返前移至次日清晨 05:00——加上自歸返到午夜的時間,再加上自午夜到窗口結束的時間。

  2. 午夜後仍在窗口內歸返

    範例:相同 21:00 - 05:00 的窗口,鴿子於 03:00 歸返。歸返前移至同日 05:00。兩種情形都把歸返置於死時段結束處,扣除因此保持對稱。

重要提醒:僅使用放飛日的區域

全域查詢 僅執行一次,以比賽放飛瞬間為對象。如果你的國家為球季不同段落定義了不同的死時段區間 一場比賽的飛行跨越其中兩段,放飛日的區間會被在後續每一晚繼續使用——系統不會跨日拼接設定。請規劃全國級的區間,使任何單場比賽都能落入單一區間中。

對於一次性、合理需要與全域設定不同死時段(例如標準夜間窗口太短的馬拉松飛行)的比賽,請於比賽管理頁籤設定覆寫。覆寫會替換該比賽的全部三個值(開始、結束、時長),是最乾淨的做法。

關鍵低速(預設 750 m/min)

當鴿子在路上停下——極端高溫、逆風、過夜停歇的鴿群——速度會降至舍對舍的距離不再產生有意義排名的水平。僅以速度判定會不公平地偏向短距離鴿舍,因為相同飛行時長下,距離越短速度越高。關鍵低速開關正是為此而設。

門檻如何設定

由兩個設定驅動。關鍵低速定義門檻本身——預設 750,公制系統為 m/min,英制系統為 y/min。主開關 使用關鍵低速 在比賽介面中提供此功能。

比賽如何加入

每場比賽在詳情對話框中具備兩個開關:

速度低於門檻時依歸返時間排序

當此開關開啟時,速度低於門檻的鴿子會以其 調整後歸返時間戳 而非速度寫入暫存結果——排名因此依誰先到達,而非依誰在較短距離下飛得更快。門檻之上的鴿子不受影響;對它們仍依速度排序。兩套排序系統於同一比賽中並存。

套用平均距離校正

此開關套用奧地利風格的修正:每個鴿舍的歸返時間按 每相差 100 m 偏移 8 秒 相對於比賽平均距離平移。距離放飛點較遠的鴿舍獲得正向偏移(其歸返被視為較早),較近的鴿舍獲得負向偏移。如此可在不放棄基於時間的排序下,補償距離差異。

平均距離從何而來

比賽的平均距離由 不同飼主的鴿舍距離 計算,而非依羽次距離。每位飼主僅以其鴿舍貢獻一次,無論裝籠多少羽——如此單一大型鴿舍無法扭曲平均值。

速度何時被重新計算

只要任何進入公式的輸入發生變化,便會計算速度。最常見的入口有:

  • 新歸返——自 ETS 檔匯入或手動輸入,會觸發針對單筆歸返的速度計算。
  • 批次編輯——比賽上的(鴿鐘差、距離、死時段)會重新計算該比賽的每一筆歸返。
  • 比賽級重新計算——遍歷該比賽的每一筆歸返——正式歸返、進行中的暫存結果以及對外公佈的歸返。當相對鴿鐘差啟用時,每位飼主的相對差也會在重新計算速度之前自鴿鐘時間紀錄中重新推導。
  • BENZING Live 歸返——無論是私人訓練或俱樂部共享訓練,每次 Live 裝置回報新歸返時都會重新計算速度。
  • 轉送 API——透過公開 API 推送歸返的第三方工具,走的是同一條計算路徑。
  • 訓練模式使用獨立、較簡單的公式,完全忽略差值、死時段與自行車時間。用於個人訓練紀錄,絕不與比賽結果混合。

值得了解的邊界狀況

日光節約時間切換

歸返時間戳以自放飛瞬間經過的秒數計算,而非自重建的日曆日期。這使計算對放飛與歸返之間發生的日光節約切換免疫,即便比賽橫跨多國亦同。

組織的時區

當時區設定啟用且比賽所屬組織具備自行設定的時區時,所有死時段的當日時間比較皆使用該時區。在兩國設有辦事處的協會因此獲得一致結果——死時段窗口以組織當地時間解讀。

英制與孟加拉單位

英制比賽以英哩儲存距離,計算速度前換算為碼(× 1760);單位後綴變為 y/min。孟加拉以公制距離(km)作業卻回報 y/min,因此當公制系統與 y/min 標記同時設定時,距離乘以 1093.6133 而非 1000。

合理性上限

任何超過 10 000 的計算速度會歸零。這是對錯誤資料的防護——通常為方向相反的鴿鐘差,或於放飛之前輸入的歸返。