31 Januari
2020-01-31 19:01:34
Detta börjar bli lite överdrivet, vad ska man med all statistik till? Troligen ingenting men ändå är det lite intressant att se ens träningsstatistik, jag hade ju redan lite statistik på #cykling (distans per cykel & totaldistans) men tydligen ville jag ha mer så jag fixade en dedikerad sida för cykling Har inte lagt in så mycket än, skall fixa in mycket mer så man får en överblick likt Stravas profilsida med genomsnittlig distans per vecka, tid per vecka + massa annat men detta får räcka sålänge: har lagt in så jag kan se dom 3 längsta turerna, dom 3 "högsta" turerna, fixade in ett stapeldiagram också där jag kan filtrera träningen efter vecka osv, skall utöka det också så man kan filtrera per år, per månad, per cykel, per allt... Sedan GPX Parser inlägget har jag fortsatt laddat upp min backlog av cykelturer men det tar ju en evighet men har åtminstone kommit fram till mitten av 2019 nu så det är ju inte SÅ långt kvar till dagens datum, får försöka få tummen ur & fixa det en kväll så statistiken blir komplett 👍
152 visningar #Cykling · #Hälsa · #Motion · #PHP · #Programmering · #Träning
23 Aug 2019
2019-08-23 22:10:05
Har spenderat några timmar senaste dagarna med att utveckla en GPX/GPS parser, har ju börjat cykla en hel del & använder endel träningsrelaterade hemsidor för att logga min träning men vore ju roligare att ha allt samlat på min hemsida också, hade inget bättre för mig just nu heller så tänkte att detta kunde vara ett kul projekt När man använder träningsappar eller cykeldatorer som loggar GPS så kan man hämta ut en GPX fil som loggar 3 datapunkter (4:a om man är petig); latitud/longitud, m.ö.h & tidpunkt & utifrån detta kan man räkna ut nuvarande hastighet, medelhastighet, maxhastighet, distans, lutning, klättring osv osv. Min cykeldator loggar även endel extra metadata om dom är tillgängliga på rundan; temperatur, kadens, puls osv Så, detta var egentligen inget svårt projekt, "bara" att parsa alla datapunkter & spara resultatet & beräkna mellan varje datapunkt MEN problemet är att GPS data är inte så exakt som man tror, eller jo, i 99% av fallen så är det ganska exakt men ibland görs det ganska ordentliga felmätningar som sparas så använder man bara rådatan i sin parser så kan det snabbt bli ganska fel, tex så dyker det ibland upp GPS jitter eller drift som gör att 2 mätpunkter som har 1 sekunds mellanrum kan fluktuera i distans ganska rejält, speciellt när det är dålig GPS täckning, så om GPS:en tappar täckning helt så kanske mätpunkten är 100 meter bort & är då mätningarna med 1 sekunds mellanrum så motsvarar det en hastighet på 360km/h (mitt rekord är 28'700km/h) & riktigt så snabbt cyklar jag ju inte så dessa mätvärden måste identifieras & därefter kasseras Så efter man implementerat en parser som använder all rådata från GPS:en så måste man börja filtrera eller helt enkelt kasta bort datapunkter som har absurda värden, vissa scenarion är väldigt enkelt att identifiera men ibland dyker ett absurt scenario upp som ens filter för tillfället inte kan identifiera & så får man implementera det scenariot också & varje gång man tror man täckt in allt så laddar man upp en till GPX fil som man testar emot & så visar det sig att även den har ett absurt scenario som inte täckts Just nu gör jag bara jämförelse mellan nuvarande datapunkt & föregående datapunkt (eller upp till 5 punkter bakåt om algoritmen börjar identifiera en "klättring"), vilket är så man får fram distans, hastighet, lutning, höjdskillnad osv & oftast är detta tillräckligt för att hitta felmätningar & absurda scenarion MEN det finns utrymme att förbättra i framtiden när jag har lust, tex att göra beräkningarna på hela block, tex om man gör ett block som är 10 mätningar långt så är det lättare att hitta avvikande datapunkter. Vill man ta det ett steg längre så kan man expandera detta till överliggande block, kör man separata block så hittar man inte felmätningar mellan sista mätningarna i första blocket & första mätningarna i andra blocket så implementerar man överliggande block så kan man även hitta dessa fel. Men det är får bli ett projekt i framtiden, att jämföra 2 (5) mätpunkter är tillräckligt exakt för tillfället Så, algoritmen blir bara mer & mer avancerad för att kunna filtrera bort det mesta & bara spara dom datapunkterna som algoritmen anser vara korrekt. Så mer jobb än vad man först tror, att beräkna på rådatan var enkelt men väldigt missvisande så ja, det tog lite tid att hitta alla "fel", jämförde med Wahoos egna beräkningar, jämförde med Strava & kollade även på Lantmäteriets kartor för att se så att min algoritm stämmer så bra som möjligt & efter typ 20 iterationer så är Wahoo, Strava, Lantmäteriet & min parser inom några få % gentemot varandra, oftast under 1% när det gäller alla mätvärden (distans, klättring, tid, snitthastighet osv osv), eftersom jag såklart inte har tillgång till deras algoritmer så är det ju svårt att veta vad som skiljer oss emellan men våra värden är väldigt lika, skillnaden kan vara något så enkelt som avrundande värden, tex mina datapunkters beräkningar har en precision på float(6) medan dom andra kanske har en precision på 2 decimaler eller kanske bara beräknar på ints, vem vet, spelar inte så stor roll egentligen, allas värden är "fel" ändå I början testade jag bara GPX filer som producerats av min Wahoo Elemnt Bolt & fick mätvärden inom 1% av ovanstående men sen när jag laddade upp GPX filer som skapats av en iPhone så fick jag helt absurda mätvärden, GPS:er i telefoner är tydligen extremt värdelösa, antagligen för att vara så energisnåla som möjligt & dessutom har dom ganska dåliga antenner så GPS mottagningen är relativt dålig. Så när jag upptäckte det fick jag anpassa algoritmen för iPhone datan också så som sagt, algoritmen blir bara mer & mer avancerad för att täcka in alla scenarion. En GPS enhet är sjukt mycket mer exakt & har striktare uppdaterings tidpunkter, min cykeldator har även barometer för att mäta höjdmeter så ofta har en dedikerad GPS enhet fler sensorer för att få pålitligare data, speciellt i jämförelse med en smartphone Sen har tex Strava endel konstiga egenheter, min Bolt har också endel av dessa egenheter; tex så är deras threshold vid lutning/klättring ofta satt alldeles för låg så ofta när man cyklar på väldigt små lutningar så registreras det inte att man "klättar", det är ofta jag är ute & cyklar & det är uppenbart att jag cyklar uppför i en lutning på kanske 0.5% men dessa kastas bort av dom, ganska frustrerande, ibland kan man cykla jämte en väg, sen upp på en "påfart" & upp på en bro som är över den vägen man precis cyklade på, så säkerligen minst +6 höjdmeter men eftersom påfartens lutning var så låg så kastas dessa mätningar bort. Jag har dock valt att sätta min threshold lite lägre än vad Strava & Wahoo gör då jag anser att även om det lutar ganska lite så är det markant tyngre när man är ute & cyklar & därför tycker jag att den typen av klättring skall ingå i den totala klättringen. Det är ju inte så att min parser resulterar i mer klättring ändå då detta bara handlar om några få meter men ja...Ibland visar min totala klättring även mindre än dom andra, det beror helt på scenariot & vad man anser är "klättring": Så vad innebär "klättring" egentligen, använder man bara rådatan från GPS:en & lägger till höjdskillnaden i sin klättrings-"pool" så kommer man få alldeles för höga siffror, tex kan GPS:en mäta ett litet gupp som har en höjdskillnad på 0.2 meter, såpass exakt är den ibland, skall man ta med ett gupp? Visst, det är en höjdskillnad MEN man har ju egentligen inte använt någon energi för att ta sig över guppet, kommer man i 30km/h så kan man säkert rulla över en 4 meter hög kulle utan att använt någon nämnvärd extra energi så i min algoritm (troligen i Stravas & Wahoos också då dessa ger snarlika resultat) måste vissa kriterier uppnås för att anses som "klättring", så små gupp & små kullar sållas bort & istället tar jag bara med backar som man faktiskt måste trampa för att kunna ta sig uppför, först då läggs höjdmetrarna i klättrings-"poolen" Finns mycket mer att säga om detta projektet & hur alla våra plattformar hanterar GPS datan men redan nu är detta inlägget alldeles för långt så får ta en mer djupdykning om ämnet i framtiden På #cykling går det att se resultatet av projektet. Lade till "cykel" också som utrustning för träningen så jag kan se hur långt jag cyklat på respektive cykel. Har inte hunnit lägga in så många än, när detta skrivs har jag bara hunnit fram till mitten av 2017, ett år då jag inte cyklade så mycket, 2018 cyklade jag ännu mer så det är sjukt mycket som måste laddas upp, över 250 totalt så det kommer ta ett tag, aja, har lite att göra framöver
1627 visningar #Programmering
15 Jun 2019
2019-06-15 23:50:28
Distans
310.9km
Tid
15:02:46
Hastighet
20.66km/h
Höjdmeter
956.2m
Cykel
Roadlite
Har ett tag nu tänkt att cykla en lite längre distans än mitt tidigare rekord på strax över 20 mil & inatt kunde jag inte sova, vaknade hela tiden så jag gav upp det & gick ner & kokade ihop ett lass med pasta & slängde i mig, är ju Vätternrundan idag med så kan ju inte vara sämre än dom 😄, packade ner lite kakor & mandelmassa & fyllde alla flaskor & vätskeryggsäcken full + en monster, så totalt 6 liter vätska men tror inte det räcker; 5 mil per liter i gassande solsken är nog inte tillräckligt 04:54 Redo för avfärd 06:30 cyklat 1/10 ungefär, känns bra i benen, känns som jag klarar detta lätt, 20km/h i tempo bara men vill hålla mig under 130bpm för att inte slösa energi. Massa vilddjur å spindelnät å flygfän. Uppladdningen känns bra hittills. Lite motvind 09:00 i Falköping nu så har kommit ungefär 1/4, känns bra i benen, kanske lite långtråkigt men annars bra, hoppas vattnet räcker. Står nu vid kända silon i Falköping. Har varit lyx med cykelbana nästan hela vägen hit men snart blir det nog vanlig väg. Lite regn mellan basta kvarn å Kinnarp, annars skitbra väder 09:48 Hornborgasjön, när jag var liten så var det sjukt långt hit men nu har jag cyklat hit, rätt roligt 11:38 inne i Lidköping nu, fin båt, ser Vänern i fjärran, svängde in vid Vinninga istället för att fortsätta på stora vägen, så jag slapp alla rondeller & annat bröte som var ivägen & ganska fint att cykla utmed Filsbäck - Lidköping nu mot Läckö, så nära nu 11:43 Vänern!!!! Kallt som fasen, verkar som sjön kyler ner hela Lidköping 😄 13:00 Läckö slott, äntligen framme, satana vad varm det varit idag, gassande solsken, kommer bränna sönder mig, mellan Lidköping & Läckö så var det olidlig värme 16:12 Passerar nu mitt gamla distansrekord på 20 mil i höjd med Skara, å skara ligger 10 mil hemifrån 😂😂 17:00 Stannat i hornborgan igen, energidepå med havrekaka å så några skedar mandelmassa, lite vilopaus med, men snart iväg igen, måste ju komma hem idag 😂 20:40 herregud vilken resa, tillbaka vid Åsunden nu, helt matt efter backarna från Lidköping till upp över Falköping & jag tappade moralen helt när jag såg att det var ca 8 mil kvar från Falköping, 8 mil är ju en ganska vettig runda & i Falköping hade jag ju redan slagit mitt distansrekord & ändå hade jag 8 mil kvar hem, var tvungen att fylla på en flaska vatten också, 6 liter vätska räckte inte en dag som idag så det fick bli en liter till 21:18 Vegby 21:43 Månstad, jösses, snart hemma...snart hemma...snart hemma... 22:21 HEMMA!!!!!111ettett, vilken dag, 15 timmars cykling, helt slut, tömde ut alla depåer i kroppen för länge sedan, hade bara med mig ca 1'500kcal på turen vilket är alldeles för lite för mig, räknar man på 3-400kcal per timmes cykling så gjorde jag åt +5'000kcal denna rundan så jag behöver nästan det dubbla intaget kalorier jämfört med det jag hade med mig & 1-2 liter mer vatten. Till råga på allt så var jag bara ett par kilometer från 31 mil när jag väl kommit hem till byn så var tvungen att dra mot Tranemo för att nå upp till 31 mil. Snitthastigheten blev bara 20.66km/h men är nöjd med det ändå, var ju över 10 mil längre än min tidigare längsta distans & för några år sedan höll jag 18km/h i snitt på att cykla till Tranemo & tillbaka & nu har jag några km/h högre på en 31 mils distans så jag tror man kan räkna det som en förbättring 😄 Denna resan tog minst lika mycket på psyket som fysiskt, dels att bara mata mil efter mil men också se vägskyltarna längst med vägen & se hur långt man har kvar hem när man redan hade cyklat 20 mil, 20 mil var mitt gamla distansrekord & ändå var det bara 2/3 av den totala distansen så, det kändes som en evighet att cykla denna rundan, 15 timmar känns i kroppen 😂 Får se, nu när denna långdistansen är avklarad så kommer jag nog lugna ner mig med långdistansare ett tag framöver 😂
12 Jun 2019
2019-06-12 22:01:41
Distans
39.96km
Tid
1:46:46
Hastighet
22.46km/h
Höjdmeter
188.6m
Cykel
Roadlite
Jumla orkan pajade min fettbrännarrunda 😅 Svårt att hålla nere hjärtslagen när man får kämpa i 1949 sekundmeters motvind i 3930% branta backar. Trodde banvallen mellan Svenljunga & Tranemo var klar men det var den tydligen inte så fick vända tillbaka till Strömsfors & cykla stora vägen istället
10 Jun 2019
2019-06-10 16:14:08
Halloumiburgare är riktigt gött, föredrar nästan det framför köttburgare när man äter på snabbmatsrestauranger men det har inte blivit av att jag slängt ihop några egna än. Blev bjuden på grillade halloumiburgare av grannen häromdagen & det var riktigt gött, blev inte att jag tog fram grillen så jag stekte halloumin istället, blev också gött Hade någon slags paprika-röra i botten, sen lite fjuttig sallad & ovanpå blev det rödlök & lite srirachasås
6 Jun 2019
2019-06-06 23:24:44
Distans
20.24km
Tid
48:35
Hastighet
25km/h
Höjdmeter
72m
Cykel
Roadlite
PB till Månstad, snittade 30.9km/h
5 Jun 2019
2019-06-05 22:21:18
Distans
20.95km
Tid
56:31
Hastighet
22.24km/h
Höjdmeter
51.8m
Cykel
Spectral
4 Jun 2019
2019-06-04 19:10:26
Distans
17.09km
Tid
52:19
Hastighet
19.6km/h
Höjdmeter
199.4m
Cykel
Spectral
Allt verkar sitta kvar på hojja under provkörning så 👍 Bara lufta bromsarna sen ut å jaga igen Måste få tummen ur & kapa av styret framöver också, alldeles för brett, känns som att köra buss
4 Jun 2019
2019-06-04 16:15:20
Fick äntligen tumma ur röva & spenderade dagen med service, har ju inte kört hojen på ett tag nu; ville göra 50-timmars service innan jag gav mig ut igen. Både dämpare & gaffel var i bra skick, oljenivån var bra, såg inget slitage på bustningar/packningar/tätningar så cykeln hade lätt kunnat gå dubbla distansen utan problem men äh, lika bra att sköta servicen som rekommenderat ändå Extremt misstänksamt att det inte blev en enda mutter eller skruv över efter att haft isär gaffel å dämpare 😄 Var sjukt pilligt med att montera foamringarna, ville alltid vika sig, var sjukt att greppa om också när allt var insmetat i olja men tillslut kom allt på plats. Bakdämparen var lite krånglig med, eller att få på sleeven igen, blev sjukt högt tryck i kammaren innan man pressat in sleeven tillräckligt långt för att luften skulle smita in till andra kammaren, har för svaga armar helt enkelt Iaf, nu är hojen som ny igen, bara ut & gasa igen
2 Jun 2019
2019-06-02 19:44:29
Distans
7.36km
Tid
14:39
Hastighet
30.14km/h
Höjdmeter
3.8m
Cykel
Roadlite
Första 30km/h snittet, förvisso bara 7km banvall hem men en milstolpe iaf, speciellt med tanke på 7-milaren tidigare under dagen. Ska bli riktigt gött när man klarar hålla detta snittet på långdistansarna, men är ju säkert några år ifrån det