{target.getPhotosHtml('')}

{''=='' ? target.boat.name : target.getSailorsHtml('#fname# #lname#')}

{''=='reverse' ? target.boat.name : target.getSailorsHtml('#fname# #lname#')}

{target.boat.externalUrl=='' ? '' : ' '}

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

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

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

In {µ.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")}

{µ.toDate(target.line.date,"FR:HH:MM'FR'")} • {target.line.heading} ° • {µ.toNumber(target.line.speed," ¤1¤.")} kts

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

{µ.toDate(target.line.date,"FR:HH:MM'FR'")} • {target.line.heading} ° • {µ.toNumber(target.line.speed," ¤1¤.")} kts

{µ.toNumber(target.line.dtf," ¤1¤.")} nm+{µ.toNumber(target.line.dtl," ¤1¤.")} nm

PIT

Stealth mode

Not localised

SUS

NYS

DNS

DNC

DNF

DSQ

CNS

Retired

Stealth mode

100%
{target.data.getPhotosHtml('')}

{''=='' ? target.boat.name : target.data.getSailorsHtml('#fname# #lname#')}

{''=='reverse' ? target.boat.name : target.data.getSailorsHtml('#fname# #lname#')}

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

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

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


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")}

Bonus {µ.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")}

Official 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 first {µ.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 the 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

Hour retained{µ.toDate(target.data.line.date,"FR:''HH:MM' FR'")}lag

Dist. to finish{µ.toNumber(target.data.line.dtf," ¤1¤.")} nm

Over 1hOver 4h
Heading{target.data.line.heading} °{target.data.line.heading4h} °{target.data.line.heading24h} °
Speed{µ.toNumber(target.data.line.speed," ¤1¤.")} kts{µ.toNumber(target.data.line.dist4h/1," ¤1¤.")} kts{µ.toNumber(target.data.line.dist24h/4," ¤1¤.")} kts
VMC{µ.toNumber(target.data.line.vmg," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg4h," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg24h," ¤1¤.")} kts
Distance{µ.toNumber(target.data.line.dist4h," ¤1¤.")} nm{µ.toNumber(target.data.line.dist24h," ¤1¤.")} nm

Hour retained{µ.toDate(target.data.line.date,"FR:''HH:MM' FR'")}lag

Dist. to finish{µ.toNumber(target.data.line.dtf," ¤1¤.")} nm

Gap to first+{µ.toNumber(target.data.line.dtl," ¤1¤.")} nm{µ.toNumber(Math.abs(target.data.line.dtlProgress)," ¤1¤.")} nm

Over 1hOver 4h
Heading{target.data.line.heading} °{target.data.line.heading4h} °{target.data.line.heading24h} °
Speed{µ.toNumber(target.data.line.speed," ¤1¤.")} kts{µ.toNumber(target.data.line.dist4h/1," ¤1¤.")} kts{µ.toNumber(target.data.line.dist24h/4," ¤1¤.")} kts
VMC{µ.toNumber(target.data.line.vmg," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg4h," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg24h," ¤1¤.")} kts
Distance{µ.toNumber(target.data.line.dist4h," ¤1¤.")} nm{µ.toNumber(target.data.line.dist24h," ¤1¤.")} nm

At {µ.toDate(target.boat.timecode*1000,"FR:''HH:MM' FR'")}

Heading : {target.boat.heading}° • Speed : {µ.toNumber(target.boat.track.currentLocation.getSpeed()," ¤1¤.")} nds

At report on {µ.toDate(target.data.line.report.timecode*1000,"FR:''HH:MM' FR'")}

Dist. to finish{µ.toNumber(target.data.line.dtf," ¤1¤.")} nm

Over 1hOver 4h
Heading{target.data.line.heading} °{target.data.line.heading4h} °{target.data.line.heading24h} °
Speed{µ.toNumber(target.data.line.speed," ¤1¤.")} kts{µ.toNumber(target.data.line.dist4h/1," ¤1¤.")} kts{µ.toNumber(target.data.line.dist24h/4," ¤1¤.")} kts
VMC{µ.toNumber(target.data.line.vmg," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg4h," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg24h," ¤1¤.")} kts
Distance{µ.toNumber(target.data.line.dist4h," ¤1¤.")} nm{µ.toNumber(target.data.line.dist24h," ¤1¤.")} nm

At {µ.toDate(target.boat.timecode*1000,"FR:''HH:MM' FR'")}

Heading : {target.boat.heading}° • Speed : {µ.toNumber(target.boat.track.currentLocation.getSpeed()," ¤1¤.")} nds

At report on {µ.toDate(target.data.line.report.timecode*1000,"FR:''HH:MM' FR'")}

Dist. to finish{µ.toNumber(target.data.line.dtf," ¤1¤.")} nm

Gap to first+{µ.toNumber(target.data.line.dtl," ¤1¤.")} nm{µ.toNumber(Math.abs(target.data.line.dtlProgress)," ¤1¤.")} nm

Over 1hOver 4h
Heading{target.data.line.heading} °{target.data.line.heading4h} °{target.data.line.heading24h} °
Speed{µ.toNumber(target.data.line.speed," ¤1¤.")} kts{µ.toNumber(target.data.line.dist4h/1," ¤1¤.")} kts{µ.toNumber(target.data.line.dist24h/4," ¤1¤.")} kts
VMC{µ.toNumber(target.data.line.vmg," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg4h," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg24h," ¤1¤.")} kts
Distance{µ.toNumber(target.data.line.dist4h," ¤1¤.")} nm{µ.toNumber(target.data.line.dist24h," ¤1¤.")} nm

At {µ.toDate(target.boat.timecode*1000,"FR:''HH:MM' FR'")}

Heading : {target.boat.heading}° • Speed : {µ.toNumber(target.boat.track.currentLocation.getSpeed()," ¤1¤.")} nds

At report on {µ.toDate(target.data.line.report.timecode*1000,"FR:''HH:MM' FR'")}

Dist. to finish{µ.toNumber(target.data.line.dtf," ¤1¤.")} nm

Over 1hOver 4h
Heading{target.data.line.heading} °{target.data.line.heading4h} °{target.data.line.heading24h} °
Speed{µ.toNumber(target.data.line.speed," ¤1¤.")} kts{µ.toNumber(target.data.line.dist4h/1," ¤1¤.")} kts{µ.toNumber(target.data.line.dist24h/4," ¤1¤.")} kts
VMC{µ.toNumber(target.data.line.vmg," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg4h," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg24h," ¤1¤.")} kts
Distance{µ.toNumber(target.data.line.dist4h," ¤1¤.")} nm{µ.toNumber(target.data.line.dist24h," ¤1¤.")} nm

At {µ.toDate(target.boat.timecode*1000,"FR:''HH:MM' FR'")}

Heading : {target.boat.heading}° • Speed : {µ.toNumber(target.boat.track.currentLocation.getSpeed()," ¤1¤.")} nds

At report on {µ.toDate(target.data.line.report.timecode*1000,"FR:''HH:MM' FR'")}

Dist. to finish{µ.toNumber(target.data.line.dtf," ¤1¤.")} nm

Gap to first+{µ.toNumber(target.data.line.dtl," ¤1¤.")} nm{µ.toNumber(Math.abs(target.data.line.dtlProgress)," ¤1¤.")} nm

Over 1hOver 4h
Heading{target.data.line.heading} °{target.data.line.heading4h} °{target.data.line.heading24h} °
Speed{µ.toNumber(target.data.line.speed," ¤1¤.")} kts{µ.toNumber(target.data.line.dist4h/1," ¤1¤.")} kts{µ.toNumber(target.data.line.dist24h/4," ¤1¤.")} kts
VMC{µ.toNumber(target.data.line.vmg," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg4h," ¤1¤.")} kts{µ.toNumber(target.data.line.vmg24h," ¤1¤.")} kts
Distance{µ.toNumber(target.data.line.dist4h," ¤1¤.")} nm{µ.toNumber(target.data.line.dist24h," ¤1¤.")} nm

PIT

Stealth mode

Not localised

SUS

NYS

DNS

DNC

DNF

DSQ

CNS

Retired

TRACKER_BOATCARD_STATUS_STMOUT
{target.data.line.rank}

24h/s

DTL Speed over 24h Rank
{target.rank}{target.name}{µ.toDate(target.date,"FR:dd/mm/yyyy HH:MM:ss 'FR'")}{µ.toRacetime(target.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.speed," ¤1¤.")} kts
Check at least one line confirm the action confirm the deletion ? automatic type

Race tracker

www.geovoile.com


Calculations
René Boulaire


Weather
Météo Consult
www.meteoconsult.com