Results
{target.data.line.rank}
{target.boat.getPhotosHtml()}
{target.boat.name}
{target.boat.getSailorsHtml('/')}

Start{µ.toDate(target.data.boatClass.run.date,"UTC:dddd dd mmmm ' at ' HH:MM 'UTC'")}

Total distance{µ.toNumber(target.data.line.dtf," ¤1¤.")} nm

Position {µ.toDate(target.boat.track.currentLocation.timecode*1000,"UTC:HH:MM")} UTC
Heading {target.boat.track.currentLocation.heading} °
Speed {µ.toNumber(target.boat.track.currentLocation.getSpeed()," ¤1¤.")} kts
Hour retained {µ.toDate(target.data.line.date,"UTC:HH:MM")} UTC
Dist. to finish {µ.toNumber(target.data.line.dtf," ¤1¤.")} nm
Dist. to first +{µ.toNumber(target.data.line.dtl," ¤1¤.")} nm {µ.toNumber(Math.abs(target.data.line.dtlProgress)," ¤1¤.")} nm
Heading {target.data.line.heading} °
Speed | VMC {µ.toNumber(target.data.line.speed," ¤1¤.")} kts {µ.toNumber(target.data.line.vmg," ¤1¤.")} kts
Over 4 hours {µ.toNumber(target.data.line.dist4h/240*60," ¤1¤.")} kts {µ.toNumber(target.data.line.dist4h," ¤1¤.")} nm
overground {µ.toNumber(target.data.line.dog4h/240*60," ¤1¤.")} kts {µ.toNumber(target.data.line.dog4h," ¤1¤.")} nm
Over 24 hours {µ.toNumber(target.data.line.dist24h/1440*60," ¤1¤.")} kts {µ.toNumber(target.data.line.dist24h," ¤1¤.")} nm
overground {µ.toNumber(target.data.line.dog24h/1440*60," ¤1¤.")} kts {µ.toNumber(target.data.line.dog24h," ¤1¤.")} nm

Arrival{µ.toDate(target.boat.arrival.date,"UTC:dd/mm/yyyy ' at ' HH:MM:ss 'UTC'")}


Race time{µ.toRacetime(target.boat.arrival.racetime, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}

Penalty{µ.toRacetime(Math.abs(target.boat.arrival.penalty), "[0]j [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}

Bonification{µ.toRacetime(Math.abs(target.boat.arrival.penalty), "[0]j [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}

Official time{µ.toRacetime(target.boat.arrival.jury, "[0]j [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}

Gap to first{µ.toRacetime(target.boat.arrival.gapToFirst, "[0]j [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}

gap to previous{µ.toRacetime(target.boat.arrival.gapToPrevious, "[0]j [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}


Over orthodromy{µ.toNumber(target.boat.arrival.orthoDistance, " ¤1¤.")} nm / {µ.toNumber(target.boat.arrival.orthoSpeed, " ¤1¤.")} kts

Overground{µ.toNumber(target.boat.arrival.overgroundDistance, " ¤1¤.")} nm / {µ.toNumber(target.boat.arrival.overgroundSpeed, " ¤1¤.")} kts

Cliquez sur le bateau pour le positionner
sur le temps intermédaire sélectionné
Pit Stop
Mode fantôme
Non localisé
À suspendu sa course
N'est pas encore parti
N'a pas pris le départ
N'a pas franchi la ligne de départ
N'a pas terminé la course
Disqualifié
CNS
A abandonné
{target.getPhotosHtml()}
{target.name}
{target.getSailorsHtml('/')}
{target.comment}

Start on
Sunday 31 August 2025 at 15h00 UTC
Update every hour
¤{target.line.rank}¤
{target.boat.getPhotosHtml()}
{target.boat.getIconHtml()}
{target.boat.name}
{target.boat.getSailorsHtml('/')}
Start : {µ.toDate(target.boatClass.run.date,"UTC:dddd dd mmmm ' at ' HH:MM 'UTC'")}
Total distance : {µ.toNumber(target.line.dtf," ¤1¤.")} nm
Time : ¤{µ.toRacetime(target.boat.splittime.time, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}¤
¤{µ.toNumber(target.boat.splittime.sog," ¤1¤.")}¤ nds
Gap to first : +¤{µ.toRacetime(target.boat.splittime.gap2firstBoat, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}¤
Time : ¤{µ.toRacetime(target.boat.splittime.time2prev, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}¤
¤{µ.toNumber(target.boat.splittime.sog," ¤1¤.")}¤ nds
Time retained for calculation : ¤{µ.toDate(target.line.date,"UTC:HH:MM' UTC'")}¤
¤{target.line.heading}¤ °
¤{µ.toNumber(target.line.speed," ¤1¤.")}¤ kts
¤{µ.toNumber(target.line.dtf," ¤1¤.")}¤ nm
+¤{µ.toNumber(target.line.dtl," ¤1¤.")}¤ nm
Arrived le ¤{µ.toDate(target.boat.arrival.date,"UTC:dd/mm/yyyy ' à ' HH:MM:ss 'UTC'")}¤
In ¤{µ.toRacetime(target.boat.arrival.racetime, "[0]j [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}¤
Pit Stop
Stealth mode
Not localised
Suspend racing
Not yet started
Did not start the race
Did not cross the start line
Did not finish the race
Disqualified
CNS
Retired
¤{target.line.rank}¤
{target.boat.getPhotosHtml()}
{target.boat.name}
{target.boat.getSailorsHtml('/')}
Waiting to start
Finished
In progress
In pit stop
In stealth mode
Not localized
Suspends racing
Not yet started
Did not start
Did not cross the line
NDid not finished
Disqualified
CNS
Retired
Route
Date and time of start ¤{µ.toDate(target.boatClass.run.date,"UTC:dddd dd mmmm ' at ' HH:MM 'UTC'")}¤
Distance to sail ¤{µ.toNumber(target.line.dtf," ¤1¤.")}¤ nautical miles
Dashboard
N S E W {target.boat.getIconHtml()}
¤{target.line.heading}¤°
20 35 5 25 40 10 15 30 0
¤{µ.toNumber(target.line.speed,'¤1¤.')}¤ nds
¤{µ.toNumber(target.line.vmg,'¤1¤.')}¤ nds
Environment
¤{target.line.windspeed/10}¤ kts ¤{target.line.winddir}¤°
¤{target.line.tempair/10}¤°C
¤{target.line.waveheight/10}¤m
¤{target.line.tempwater/10}¤°C
Distances
¤{µ.toNumber(target.boatClass.run.length - target.line.dtf," ¤1¤.")}¤ nm
¤{µ.toNumber(target.line.dtf," ¤1¤.")}¤ nm
¤{µ.toNumber(target.line.dtl," ¤1¤.")}¤ nm
¤{µ.toNumber(target.line.advance," ¤1¤.")}¤ nm
Over 4 hours ¤{µ.toNumber(target.line.dist4h," ¤1¤.")}¤ nm ¤{µ.toNumber(target.line.dist4h/240*60," ¤1¤.")}¤ kts
Over ground ¤{µ.toNumber(target.line.dog4h," ¤1¤.")}¤ nm ¤{µ.toNumber(target.line.dog4h/240*60," ¤1¤.")}¤ kts
Over 24 hours ¤{µ.toNumber(target.line.dist24h," ¤1¤.")}¤ nm ¤{µ.toNumber(target.line.dist24h/1440*60," ¤1¤.")}¤ kts
Over ground ¤{µ.toNumber(target.line.dog24h," ¤1¤.")}¤ nm ¤{µ.toNumber(target.line.dog24h/1440*60," ¤1¤.")}¤ kts
Split times
Results
Finished ¤{µ.toDate(target.boat.arrival.date,"UTC:dd/mm/yyyy ' at ' HH:MM:ss 'UTC'")}¤
Race time ¤{µ.toRacetime(target.boat.arrival.racetime, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}¤
Penalty ¤{µ.toRacetime(Math.abs(target.boat.arrival.penalty), "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}¤
Bonification ¤{µ.toRacetime(Math.abs(target.boat.arrival.penalty), "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}¤
Jury time ¤{µ.toRacetime(target.boat.arrival.jury, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}¤
gap to leader ¤{µ.toRacetime(target.boat.arrival.gapToFirst, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}¤
gap to previous ¤{µ.toRacetime(target.boat.arrival.gapToPrevious, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}¤
Over orthodromy ¤{µ.toNumber(target.boat.arrival.orthoDistance, " ¤1¤.")}¤ nm / ¤{µ.toNumber(target.boat.arrival.orthoSpeed, " ¤1¤.")}¤ kts
Over ground ¤{µ.toNumber(target.boat.arrival.overgroundDistance, " ¤1¤.")}¤ nm / ¤{µ.toNumber(target.boat.arrival.overgroundSpeed, " ¤1¤.")}¤ kts
 
{target.name}
{µ.toOrdinal(target.data.rank)} • {µ.toDate(target.data.timecode*1000,"UTC:dd/mm/yyyy ' à ' HH:MM:ss 'UTC'")}
{µ.toRacetime(target.data.time, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}
{µ.toNumber(target.data.dog," ¤1¤.")} nm • {µ.toNumber(target.data.sog," ¤1¤.")} kts
{µ.toRacetime(target.data.time2prev, "[0]d [1]h [2]min [3]s¤[0]h [1]min [2]s¤[0]min [1]s¤[0]s¤¤N/A")}
{µ.toNumber(target.data.dog2prev," ¤1¤.")} nm • {µ.toNumber(target.data.sog2prev," ¤1¤.")} kts
Check at least one line confirm the action confirm the deletion ? automatic type
Race tracker & calculation www.geovoile.com
TrackingYellowbrickwww.ybtracking.com