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.

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.