Hastighetsberäkning
Kapflygningar

Hastighetsberäkning

MyPigeons beräknar hastigheten för varje ankomst utifrån samma byggstenar: avstånd, flygtid, klockavvikelser, dödtid och en kritiskt låg hastighet-omkopplare som växlar rangordningen till ankomsttid när duvorna saktar in. Den här sidan går igenom varje ingångsvärde, ordningen de tillämpas i och de gränsfall som gör flerdagstävlingar krångliga.

Bra att veta innan du startar

  • Hastigheten visas som standard i m/min, eller i y/min för imperialistiska länder. Precisionen styrs globalt av inställningen antal decimaler för hastighet.
  • Dödtid kan konfigureras nationellt eller överskridas på en enskild tävling. Tävlingsspecifik överskridning vinner alltid.
  • En duva som flyger långsammare än den kritiskt låga hastigheten (standard 750 m/min) rangordnas - när alternativet är aktivt på tävlingen - efter ankomsttid i stället för hastighet.

Den grundläggande hastighetsformeln

Alla hastigheter i systemet använder samma formel:

hastighet = avstånd × 60 / flygtid, där avståndet är uttryckt i meter (eller yards för imperialistiska länder) och flygtiden i sekunder.

Konvertering av avståndsenheter

Enheten styrs av inställningen hastighetens enhetssystem. Metriska länder lagrar avståndet i kilometer och konverterar det till meter (× 1000). Imperialistiska länder lagrar avståndet i miles och konverterar det till yards (× 1760). Bangladesh är en medveten hybrid: avståndet lagras i kilometer men hastigheter rapporteras i y/min, så avståndet multipliceras med 1093,6133.

Precision och rimlighetskontroller

Den slutliga hastigheten avrundas till det konfigurerade antalet decimaler. Två säkerhetsåtgärder körs sist: en flygtid på noll eller mindre sätter hastigheten till 0, och varje hastighet över 10 000 sätts också till 0 (vanligen orsakad av en klockavvikelse i fel riktning eller en ankomst som angetts före lossläppet).

Flygtid i detalj

Flygtid är inte enbart ankomst - lossläpp. Det är resultatet av fyra steg som tillämpas i den här ordningen:

  1. Beräkning av den absoluta ankomsttidsstämpeln

    Ankomsttidsstämpeln beräknas som förflutna sekunder från lossläppsögonblicket: lossläpp + (ankomstdag - 1) × 86400 + h × 3600 + m × 60 + s. Detta undviker problem med övergångar till sommartid mellan länder - genom att räkna förflutna sekunder från lossläppet i stället för att rekonstruera ett kalenderdatum förblir resultatet korrekt även när lossläpp och ankomst hamnar på olika sidor av en tidsomställning.

  2. Subtrahera klockavvikelse eller relativ avvikelse

    När relativ avvikelse är aktiverad används den relativa avvikelsen; annars används den råa klockavvikelsen. Hanteringen av tecken beror på två omkopplare. Använd positiv avvikelse vänder alltid tecknet - användbart i länder där en positiv avvikelse är den ogynnsamma riktningen. Använd negativ avvikelse tillämpar avvikelsen endast när den är negativ; positiva avvikelser nollställs, vilket är standardbeteendet för de flesta förbund. Hela mekaniken för relativ avvikelse beskrivs i ett eget avsnitt nedan.

  3. Subtrahera cykeltid

    Om duvägaren registrerar en cykeltid - tiden för att transportera klockan från slaget till klubben för avläsning - dras den från flygtiden, så att det är konstateringstiden som räknas, inte transporttiden.

  4. Subtrahera dödtid

    Avdraget för dödtid är det mest komplicerade steget och har ett eget avsnitt nedan.

Relativ avvikelse i detalj

Vissa förbund fördelar klockavvikelsen proportionellt över klockans gångfönster i stället för att tillämpa hela avvikelsen på varje ankomst. Det är vad relativ avvikelse gör. När den är aktiv använder kalkylatorn den relativa avvikelsen i stället för den råa klockavvikelsen vid beräkning av flygtid.

Klockans gångfönster: öppnings- och stängningstider

När importfilen bearbetas sparar systemet per tävling två tidsstämplar som avgränsar klockans gångfönster:

  • Öppningstid - när klockan ställts och startats i klubben, före ikorgning.
  • Stängningstid - när klockan stoppats och avlästs efter tävlingen.

Båda tidsstämplarna ligger i samma tabell och sparas på två nivåer.

Klubbnivå-post

En post per klubb och tävling, som innehåller den öppning och stängning som som standard gäller för varje medlem i klubben. Det är det vanligaste fallet - hela klubben korgade in och avläste tillsammans, så ett enda öppning/stängning-par täcker alla medlemmar.

Överskridning per duvägare

Vissa förbund importerar även öppnings- (och valfritt stängnings-) tidsstämplar på duvägarnivå. Dessa poster överskriver klubbvärdena för den enskilda duvägaren. Överskridningen är delvis: en post med endast öppning ersätter bara öppningen och ärver klubbens stängning, medan en post som även fyller i stängningen ersätter båda.

När en duvägarpost finns börjar gångfönstret vid hans öppning. Slutet på fönstret kommer från duvägarposten om den bär en stängningstid; annars faller den tillbaka på klubbens stängning.

Så beräknas den relativa avvikelsen

Formeln har tre delar:

  • gångtid = öppning - stängning - det totala antalet sekunder som klockan gick.
  • gångtid_vid_ankomst = ankomst - stängning - var ankomsten ligger inom det fönstret.
  • relativ_avvikelse = (gångtid_vid_ankomst / gångtid) × klockavvikelse - andelen av klockavvikelsen som tillämpas på denna ankomst, proportionell mot hur mycket av gångfönstret som hade gått när ankomsten skedde.

Konkret bidrar en ankomst allra först i gångfönstret med 0 avvikelse; en ankomst längst i slutet får hela klockavvikelsen; en ankomst i mitten får hälften. Resultatet avrundas till fyra decimaler innan det skickas tillbaka till flygtidsformeln.

När den relativa avvikelsen hoppas över

Två fall hoppar över beräkningen helt och returnerar 0. För det första: när inställningen använd relativ avvikelse är avstängd i landets konfiguration. För det andra: när det varken finns en klubbpost eller en duvägarpost för tävlingen - vanligtvis för att importfilen inte hade med öppnings-/stängningstider. I båda fallen faller hastighetskalkylatorn tillbaka på den råa klockavvikelsen.

Teckenhantering och omkopplarna positiv/negativ

En klockavvikelse är ett tal med tecken, men förbund är oense om vilket tecken som betyder vad. Hur MyPigeons tolkar det styrs av två rikstäckande omkopplare.

Använd negativ avvikelse styr tecknet vid inmatning. Påslagen (standard) sparas avvikelsen exakt så som den matades in. Avstängd vänds positiva tal som angetts av användaren till negativa när de sparas - användbart för förbund som rapporterar avvikelser som positiva tal men behandlar dem som straff.

Använd positiv avvikelse vänder tecknet i det ögonblick avvikelsen matas in i hastighetsformeln. Avstängd (standard) går det sparade värdet in som det är; påslagen multipliceras det först med -1 - användbart när ditt förbunds tolkning av tecknet är motsatt MyPigeons standard.

Båda omkopplarna är rikstäckande inställningar; så snart de matchar ditt förbunds regler behöver de inte ändras per tävling. De verkar på den avvikelsetyp som för tillfället används - om relativ avvikelse är på gäller samma teckenregler för den relativa avvikelsen, inte för det råa klockvärdet.

Varifrån öppnings- och stängningstider kommer

Öppnings- och stängningstider fylls i från importfilen i det ögonblick tävlingens data laddas upp. De flesta ETS-exporter bär båda tiderna för klubben; förbund som arbetar med överskridningar på duvägarnivå bifogar även duvägarposter. Posterna kan också redigeras från klocktiders-skärmen om en felstavning eller ett saknat värde behöver rättas manuellt före omräkning.

Dödtidszoner

En dödtidszon är ett återkommande nattfönster under vilket duvor inte flyger. Systemet tar bort detta fönster från flygtiden, så att en flerdagsankomst inte straffas för de timmar då ingen duva fysiskt kunde vara i luften.

En dödtidszon har ett datumintervall (vilka veckor av säsongen den gäller för) och ett tidsintervall (nattfönstret, t.ex. 21:00 - 05:00). Den avdragna varaktigheten är en hel dag plus skillnaden mellan de två tiderna - ett 21:00 - 05:00-fönster blir alltså 32 timmar per natt, eftersom fönstret korsar midnatt.

Två sätt att konfigurera dödtid

Dödtid kan ställas in på två platser. Vid hastighetsberäkning läses de i en bestämd ordning.

Global dödtid (rikstäckande)

Konfigureras under Adminpanel → Dödtidszoner. Du kan skapa hur många intervall säsongen kräver - vanligtvis ett kortare nattfönster för sommartävlingar (t.ex. 22:00 - 04:00) och ett längre för maraton-veckor (t.ex. 21:00 - 05:30). Varje intervall har sitt eget säsongs-datumintervall, så de kan täcka olika delar av året utan överlapp. Formuläret avvisar intervall som överlappar en befintlig post.

Överskridning per tävling

Konfigureras direkt på tävlingens admin-flik som en engångsöverskridning för en enskild tävling. Använd det när en specifik tävling har ovanliga dödtidsbehov - till exempel en långdistansflygning där dödtidsfönstret behöver förlängas bara för den tävlingen. Överskridningen lagrar bara tidsintervallet; det gäller implicit för alla dagar tävlingen täcker.

Vilken vinner

Hastighetskalkylatorn slår upp båda, i denna ordning:

  1. Hitta en global zon

    Den globala uppslagningen körs mot tävlingens lossläppsögonblick. Det globala intervall som täcker lossläppsögonblicket läses in - starttid, sluttid och nattvaraktighet. Matchningen sker efter datum; tidsintervallet används senare för att dra av dödtid, inte för att filtrera uppslagningen.

  2. Tillämpa överskridningen per tävling

    Om det finns en överskridning per tävling, skriver dess värden över allt som den globala uppslagningen läst in - överskridningen vinner alltid över alla tre fält (start, slut, varaktighet). Om ingen global matchning hittades men en överskridning finns, används överskridningen själv.

  3. Ingen matchning innebär inget avdrag

    Om ingen av dem ger ett resultat är dödtiden noll, och flygtiden lämnas orörd.

Flerdagstävlingar och överlappande zoner

Det mesta av komplexiteten kring dödtid framträder bara vid ankomster som tar mer än en dag. Två regler styr vad som händer.

Hur många nätter dras av

När den matchande zonen är känd multipliceras dess nattvaraktighet med antalet kalenderdagar mellan lossläpp och ankomst. En duva som anländer två dagar senare får två hela nätter dödtid avdragen; en som anländer samma dag, ingen. Antalet dagar beräknas från kalenderdatumet, inte från förflutna sekunder, så en flygning från fredag eftermiddag till söndag morgon räknas som två dagar oavsett exakta timmar.

Ankomster som hamnar inuti dödtidsfönstret

Om ankomstens tid på dygnet hamnar mellan dödtidens början och slut flyttar kalkylatorn ankomsten framåt till fönstrets slut innan avdraget görs. Två fall hanteras symmetriskt:

  1. Ankomst före midnatt, inuti fönstret

    Exempel: ett 21:00 - 05:00-fönster, duvan anländer 22:30. Ankomsten flyttas framåt till 05:00 nästa morgon - tiden från ankomsten till midnatt läggs till, sedan tiden från midnatt till fönstrets slut.

  2. Ankomst efter midnatt, fortfarande inuti fönstret

    Exempel: samma 21:00 - 05:00-fönster, duvan anländer 03:00. Ankomsten flyttas framåt till 05:00 samma dag. Båda fallen lägger ankomsten vid slutet av dödtiden, så avdraget förblir symmetriskt.

Viktig anmärkning: bara zonen från lossläppsdagen används

Den globala uppslagningen körs endast en gång, mot tävlingens lossläppsögonblick. Om ditt land definierar olika dödtidsintervall för olika delar av säsongen och en enskild tävlings flygning sträcker sig över två av dem, återanvänds intervallet från lossläppsdagen för varje efterföljande natt - systemet skarvar inte ihop konfigurationer mellan dagar. Planera rikstäckande intervall så att varje enskild tävling får plats inom ett intervall.

För en engångstävling som med rätta behöver en annan dödtid än den globala uppställningen (t.ex. en marathonflygning där standardnattfönstret är för kort), sätt en överskridning på tävlingens admin-flik. Överskridningen ersätter alla tre värdena (start, slut, varaktighet) endast för den tävlingen och är den renaste lösningen.

Kritiskt låg hastighet (standard 750 m/min)

När duvor stannar längs vägen - extrem värme, motvind, en flock som lägger sig över natten - faller hastigheterna under den nivå där avstånd slag-till-slag fortfarande ger en meningsfull rangordning. Att bedöma enbart efter hastighet skulle orättvist gynna slag på korta sträckor, eftersom en kortare distans alltid ger högre hastighet vid samma flygtid. Det är just detta som omkopplaren för kritiskt låg hastighet löser.

Så konfigureras tröskeln

Två inställningar styr den. Kritiskt låg hastighet definierar själva tröskeln - standard 750, i m/min för metriska system och y/min för imperialistiska. Huvudomkopplaren använd kritiskt låg hastighet exponerar funktionen i tävlingens gränssnitt.

Så ansluter sig en tävling

Varje tävling har två omkopplare i detaljmodalen:

Sortera efter ankomsttid när hastigheten är under tröskeln

När den här omkopplaren är på skrivs duvor med en hastighet under tröskeln in i de tillfälliga resultaten med sin justerade ankomsttidsstämpel i stället för hastigheten - rangordningen sorterar då efter vem som kom fram först, inte efter vem som flög snabbare på kortare distans. Duvor över tröskeln påverkas inte; för dem gäller fortfarande sortering efter hastighet. De två rangordningssystemen samexisterar inom samma tävling.

Tillämpa korrigering för medeldistans

Den här omkopplaren tillämpar en korrigering av österrikisk typ: varje slags ankomsttid förskjuts med 8 sekunder per 100 m skillnad mot tävlingens medeldistans. Slag som ligger längre från lossläppsplatsen får en positiv förskjutning (deras ankomst behandlas som tidigare), närmare slag får en negativ förskjutning. På så sätt kompenseras distansskillnader utan att lämna tidsbaserad rangordning.

Varifrån medeldistansen kommer

Tävlingens medeldistans beräknas från distinkt duvägares slagdistanser, inte från distanser per duva. Varje duvägare bidrar med sitt slag en gång, oavsett hur många duvor han korgat in - så ett enda stort slag kan inte snedvrida medelvärdet.

När hastigheter beräknas om

En hastighet beräknas när som helst en input som matar formeln ändras. De vanligaste ingångarna är:

  • Ny ankomst - importerad från en ETS-fil eller manuellt inskriven utlöser en hastighetsberäkning för en enskild ankomst.
  • Massredigeringar på en tävling (klockavvikelse, distans, dödtid) räknar om varje ankomst i tävlingen.
  • Tävlingsnivå-omräkning går igenom varje ankomst i tävlingen - de officiella ankomsterna, de pågående tillfälliga resultaten och de offentligt rapporterade ankomsterna. När relativ avvikelse är aktiv härleds även den per duvägare relativa avvikelsen på nytt från klocktidsregistreringarna innan hastigheten beräknas om.
  • BENZING Live-ankomster - både vid privata träningar och delade klubbträningar beräknas hastigheten om vid varje ny ankomst som live-enheten rapporterar.
  • Forwarding API - tredjepartsverktyg som skickar ankomster via det publika API:t går genom samma beräkningsväg.
  • Träningsläge använder en separat, enklare formel som ignorerar avvikelser, dödtid och cykeltid helt. Den används för personliga träningsregistreringar som aldrig kombineras med tävlingsresultat.

Avgörande vid oavgjort när två duvor har samma hastighet

Även efter att alla hastighetsjusteringar har tillämpats kan två ankomster komma ut med exakt samma siffra. Olika förbund vill hantera detta olika, så MyPigeons erbjuder tre regler som avgör hur priser delas ut inom en "grupp med samma hastighet", ett förbundsövergripande undantag för FCI-resultat, samt en deterministisk sekundär sorteringskedja som gör ordningen reproducerbar. Det här avsnittet går igenom alla tre lagren och visar hur live-resultatlistan istället beter sig.

Tre konfigurationer

Den rikstäckande inställningen same_speed_rule styr hur priser tilldelas duvor med samma hastighet. De tre möjliga värdena beskrivs nedan.

Samma placering (vanligaste standardvärde)

Duvor med samma hastighet delar samma pris, och nästa avvikande hastighet hoppar förbi gruppens storlek. Två duvor som står lika på 1:a platsen får båda pris 1, och nästa duva får pris 3. Detta är den rättvisa standardinställningen när två fåglar verkligen flög i samma hastighet och förbundet inte behöver särskilja dem.

Separat placering

Varje duva får sitt eget unika pris, även inom en grupp med samma hastighet. Gruppen delas upp med hjälp av den sekundära sorteringen som beskrivs nedan, så att två duvor med samma hastighet men olika avstånd eller ETS-position hamnar på efterföljande priser. Används av förbund som kräver en strikt ordning utan oavgjorda.

Samma placering inom samma uppfödare

Duvor från samma uppfödare delar ett pris, men i det ögonblick gruppen går vidare till en annan uppfödare hoppar priset. Det är den gyllene medelvägen: den straffar inte en enskild uppfödare vars två duvor har konstaterats identiskt, men särskiljer ändå tydligt olika slag.

Undantag för FCI / officiella resultat

Krävs av FCI sedan säsongen 2025

Denna regel är inte ett MyPigeons-val - det är ett krav från FCI:s internationella regelverk för mästerskapsresultat. Reglerna anger att duvor från samma uppfödare som konstateras på samma sekund i samma kapflygning ska föras in på resultatlistan i stigande ordning efter uppnådd placering, med stigande koefficient. Varje duva från samma uppfödare måste ha en unik koefficient; det är inte tillåtet att två eller fler duvor delar koefficient i en enskild kapflygning. MyPigeons tillämpar detta automatiskt på varje resultattyp som är markerad som officiell, oavsett den rikstäckande inställningen same_speed_rule.

För FCI-officiella resultattyper - de som används för förbundsmästerskap och FCI-koefficientberäkning - ignorerar MyPigeons den rikstäckande inställningen inom gruppen med samma hastighet och tillämpar en strängare regel som infördes 2025: två duvor från samma uppfödare med samma hastighet får inte dela pris. Gruppen grupperas per uppfödare, priser räknas upp inom varje delgrupp, och delgrupperna fogas sedan samman så att förskjutningarna stämmer.

Övriga duvor (olika uppfödare eller olika hastigheter) följer fortfarande den rikstäckande regeln. Undantaget finns eftersom två duvor från samma uppfödare som delar en FCI-koefficient snedvrider koefficientberäkningen och ger den uppfödaren en orättvis fördel på förbundsnivå.

Sekundär sorteringsordning

Oavsett vilken regel som är aktiv är den ordning duvorna hamnar i inom en grupp med samma hastighet deterministisk. Samma kedja används också av separat placering för att dela upp en grupp - ordningen finns redan, den avgör bara vem inom gruppen som får vilket pris.

  1. Hastighet - den primära signalen. Snabbare duvor placerar sig alltid före långsammare.
  2. Avstånd - en duva som vid samma hastighet har tillryggalagt en längre sträcka vinner, enligt principen att den längre flygningen var tyngre.
  3. ETS-ordning - den position som själva ETS-enheten gav ankomsten. Även om MyPigeons bara lagrar ankomsttider i hela sekunder, registrerar ETS varje ankomst med under-sekundprecision (hundradels eller tusendels sekund) och skriver ut sin ankomstlista i just den finare ordningen. Vi respekterar den ordningen: när två ankomster delar samma sekund hos oss vinner den som ETS listade först - alltså den som faktiskt passerade antennen först. Fältet fylls i från ETS-exporten; saknas det i källdatan förblir det noll under hela kapflygningen och bidrar inte till ordningen.
  4. Nominering - duvan med lägre nominering vinner. Det är det tjeckiska "nominace"-avgörandet, behållet som sekundärt för äldre säsonger där ETS-ordningen inte är tillgänglig.
  5. Internt ankomst-id - sista deterministiska skyddsnätet. Den ankomst som infogades först vinner. Det säkerställer att två körningar av samma beräkning alltid ger samma ordning, även när alla andra fält är identiska.

Kedjan tillämpas från vänster till höger: duvorna jämförs först efter hastighet, oavgjorda avgörs av avstånd, sedan av ETS-ordning, sedan av nominering och slutligen av ankomst-id. Så snart två duvor skiljer sig på något av dessa fält stannar kedjan.

Ange ETS-ordningen manuellt när ETS-exporten inte bär den

Vissa ankomstkällor levererar inte den interna ETS-ordningen - manuell inmatning, pappersbaserade avläsningar eller ett importformat vars fält inte innehåller positionsnumret. När då två ankomster från samma uppfödare hamnar på samma sekund är fältet för ETS-ordning noll för båda, och oavgjordheten kan inte avgöras på den nivån. För att lösa sådana kollisioner visar ankomstredigeringsskärmen ETS-ordningen som ett redigerbart fält: administratören kan direkt på varje berörd ankomst ange den ordning som står på ETS-listan (eller vilken deterministisk ordning som helst som han vill bevara), och nästa omberäkning av resultaten respekterar den. Det är det renaste sättet att åtgärda en kollision av typen "samma uppfödare, samma sekund" utan att importera om filen.

Live-resultatlistan tillämpar inte dessa konfigurationer

Medan kapflygningen fortfarande pågår visar MyPigeons en live-resultatlista beräknad från ankomster i takt med att de kommer in. Den listan går inte via den officiella resultatkalkylatorn - det finns ingen kopplad resultattyp, ingen FCI-flagga, och inställningen same_speed_rule beaktas inte. Den sorterar helt enkelt alla ankomster efter hastighet (eller efter justerad ankomsttid när kapflygningen använder undantaget för kritiskt låg hastighet), tillämpar samma sekundära kedja - avstånd, ETS-ordning, ankomst-id - och tilldelar varje ankomst ett efterföljande pris. I praktiken beter sig live-vyn därför alltid som separat placering.

Skillnaden är avsiktlig: live-listan är till för orientering under kapflygningens gång, inte för prisutdelning. När kapflygningen stängs och de officiella resultattyperna beräknas träder den konfigurerade regeln i kraft, och de slutgiltiga priserna och koefficienterna respekterar den. Bli inte överraskad om en duvas live-position skiljer sig från det slutliga priset i de beräknade resultaten - det är samma data sorterade enligt en annan regel.

Gränsfall värda att känna till

Övergångar till sommartid

Ankomsttidsstämplar beräknas som förflutna sekunder från lossläppsögonblicket, inte från ett rekonstruerat kalenderdatum. Det gör beräkningen immun mot tidsomställningar som faller mellan lossläpp och ankomst, även när en tävling sträcker sig över flera länder.

Organisationens tidszon

När tidszons-inställningen är aktiv och tävlingens organisation har en egen konfigurerad tidszon används den tidszonen för alla jämförelser av tid på dygnet för dödtiden. Ett förbund med kontor i två länder får så konsekventa resultat - dödtidsfönstret tolkas i organisationens lokaltid.

Imperialistiska och Bangladesh-enheter

Imperialistiska tävlingar lagrar distansen i miles och konverterar den till yards (× 1760) före hastighetsberäkningen; enhetssuffixet blir y/min. Bangladesh arbetar med metrisk distans (km) men rapporterar y/min, vilket är varför distansen multipliceras med 1093,6133 i stället för 1000 när det metriska systemet och y/min-tecknet är konfigurerade tillsammans.

Förnuftstak

Varje beräknad hastighet över 10 000 faller till 0. Det är ett skydd mot felaktiga data - vanligen en klockavvikelse i fel riktning eller en ankomst inskriven före lossläpp.