{"text_format":"1","workbook":"xlsx","n_sheets":2,"sheets":["Dag6","Help"],"not_rendered":{"charts":0,"images":0,"macros":1,"external_links":0,"defined_names":8,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"Dag6","index":0,"n_rows":7,"n_cols":12,"rows_kept":7,"cut":false,"hidden":false,"merged":[]}
["Boot","Schipper","Rating","Lat boot","Lon boot","Lat finish","Lon finish","Afstand tot finish","Totale afstand","Afgelegd","Gecorrigeerd met rating","Plaats"]
[]
[1,"Gijsbert",1,"N 36 54,94","E 27 10,603",{"$f":"D3","v":"N 36 54,94"},"E 27 10,4",{"$f":"distance(D3,E3,F3,G3)","v":300.58452689465781},{"$f":"6.4*1852","v":11852.800000000001},{"$f":"I3-H3","v":11552.215473105343},{"$f":"J3/C3","v":11552.215473105343},{"$f":"Position(K3,$K$3:$K$7,\"MIB\")","v":3}]
[2,"Jacqueline",1.03,"N 36 54,985","E 27 10,430",{"$f":"D4","v":"N 36 54,985"},"E 27 10,4",{"$f":"distance(D4,E4,F4,G4)","v":44.420960130797077},{"$f":"6.4*1852","v":11852.800000000001},{"$f":"I4-H4","v":11808.379039869204},{"$f":"J4/C4","v":11464.445669775925},{"$f":"Position(K4,$K$3:$K$7,\"MIB\")","v":5}]
[3,"Jan",1,"N 36 55,135","E 27 10,586","N 36 55,135","E 27 10,4",275.40067922498548,11852.800000000001,11577.399320775015,11577.399320775015,2]
[4,"Ide",1.03,"N 36 54,749","E 27 10,412","N 36 54,749","E 27 10,4",17.769072946587325,11852.800000000001,11835.030927053414,11490.321288401374,4]
[5,"Robert",1,"N 36 55,033","E 27 10,522","N 36 55,033","E 27 10,4",180.64317922182499,11852.800000000001,11672.156820778177,11672.156820778177,1]

{"sheet":"Help","index":1,"n_rows":28,"n_cols":1,"rows_kept":28,"cut":false,"hidden":false,"merged":[]}
["Zoals beloofd hierbij het spreadsheet voor het berekenen van de uitslagen bij een afgebroken wedstrijd. Ik stuur het naar iedereen omdat anderen het wellicht ook ooit ergens kunnen gebruiken of weer anderen er blij mee maken. Het spreadsheet berekent niet zozeer de ratings, dat is niet zo moeilijk, maar het berekent de uitslagen bij een afgebroken wedstrijd als de uitslag wordt bepaald door de nog af te leggen afstand tot een afgesproken finish punt, lengtegraad of breedtegraad. Tot nog toe deden we dit door de posities van de boten op een kaart in te tekenen en de afstanden op te meten, of we voerden de posities in als waypoints in een GPS of navigatie programma, of nog andere creatieve benaderingen. Allemaal grote kans op fouten, vaak onnauwkeurig en veel werk voor de commodore op een moment dat hij of zij wel wat leukers te doen heeft."]
[]
["De spreadsheet op zich is heel eenvoudig. Het bevat een tabelletje met de posities van de verschillende schepen. Als voorbeeld heb ik de posities van de laatste zeildag van onze week rond Kos genomen."]
[]
["De kolommen Boot, Schipper en Rating spreken voor zich. In de kolommen “Lat boot” en “Lon boot” moeten de GPS posities van de boten worden ingevoerd op het moment dat de wedstrijd wordt afgebroken. De invoer kan in diverse formaten:"]
[]
["-          graden"]
["-          N/S/E/W graden minuten (zoals in het voorbeeld)"]
["-          N/S/E/W graden minuten seconden"]
[]
["Graden, minuten en seconden mogen getallen zijn met decimalen (een komma of punt, afhankelijk van de instellingen van je spreadsheet). Tussen de elementen moet telkens precies 1 spatie staan."]
[]
["Dan zijn er twee kolommen waar de GPS positie van de finish wordt ingevoerd. Als de finish een punt is wordt zowel de breedte als de lengtegraad opgegeven. In het voorbeeld was de finish een lentegraad. In dat geval maak je de breedtegraad van de finish (Lat finish) gelijk aan de breedtegraad van de betreffende boot (Lat boot). Als de finish een breedtegraad is dan natuurlijk de lengtegraden van de finish gelijk maken aan de lengtegraden van de boten. Als de finishlijn een bepekte lengte heeft en een boot zich “naast” de finishlijn bevindt dan voor die boot als finish het dichtstbijzijnde punt van de finishlijn nemen. Omdat het finishpunt per boot wordt opgegeven kan je hier heel flexibel mee omgaan."]
[]
["Dan komt de crux van de spreadsheet. In de kolom “Afstand tot finish” wordt de afstand tussen de boot en de finish berekend met behulp van de functie “distance”. Daar zit natuurlijk een complexe formule achter met veel sinussen, cosinussen, etc. (als je geïnteresseerd bent, de details vind je in Module1 onder Developer/View Code; denk niet dat ik zo knap ben, ik heb dit ook maar gejat en omgevormd). De berekende afstanden zijn in meters."]
[]
["Als we met ratings te maken hebben zijn we er echter nog niet. De rating moet niet worden toegepast op de nog af te leggen afstand, maar op de afgelegde weg langs de kortste route. De totale af te leggen weg langs de kortste route kan je invoeren in de kolom “Totale afstand” (ook weer in meters, in het voorbeeld 6,4 mijlen * 1852 meter). De afgelegde weg is vervolgens natuurlijk eenvoudig te berekenen. En voor het bepalen van de uitslag moet dat resultaat natuurlijk gedeeld worden door de rating."]
[]
["In de kolom Plaats wordt tenslotte de rangorde uitgerekend . Dat gebeurt met de functie Position. Die geef je drie argumenten mee, de gecorrigeerde afstand van de betreffende boot, de range van de cellen waarin alle afstanden staan en tenslotte de tekst MIB. Dat staat voor “More Is Better” en moet gebruikt worden als je met afstanden werkt (dezelfde functie zou je kunnen gebruiken voor tijden, maar dan vervang je MIB door LIB, ofwel Less Is Better)."]
[]
["Voor iedere dag-wedstrijd kan je natuurlijk een nieuwe sheet maken, door een bestaande te kopiëren."]
[]
["Ik hoop dat jullie het een beetje kunnen volgen. Anders gewoon eens proberen. Het kan zijn dat je bij het openen van de spreadsheet gevraagd wordt macro’s toe te staan. Daar dan bevestigend op antwoorden."]
[]
["En nu maar hopen dat we voortaan zoveel wind hebben dat we nooit wedstrijden hoeven af te breken..."]
[]
["Gijsbert van der Linden"]
["16-5-2013"]