I have the following data set from cycling (recorded with GPS):
unixtime|humantime|lat|lon|ele
1375422506|2013-08-02 07:48:26|49.084247|19.308619|536.9
1375422515|2013-08-02 07:48:35|49.084076|19.308629|534.0
1375422520|2013-08-02 07:48:40|49.083944|19.308882|534.6
1375422526|2013-08-02 07:48:46|49.08375|19.309241|534.5
1375422533|2013-08-02 07:48:53|49.083517|19.309644|533.6
1375422540|2013-08-02 07:49:00|49.08327|19.310005|529.3
Where:
unixtime is time in seconds. this should be on the X axis.
humantime is for better readability only. will not be required in the equation.
lat is my latitude coordinate at that specific time
lon is my longitude coordinate at that specific time
ele is my elevation at that specific time
We can use the haversine formula to calculate the distance traveled between points using latitude and longitude as an input. We have the elevation already available.
From the distance traveled and the unix time stamps, we can get the speed of travel.
How do we calculate my power output from this data? That means: if my elevation is falling (I'm going downhill), my power output is very low, even if my speed is high. If my elevation is rising (I'm going uphill), my power output is pretty high (depending on speed, of course).
Let's ignore the speed of the wind, i.e. let's imagine there was no wind blowing = the speed of the wind was 0 km/h relative to the Earth.
P.S.: I don't know how to tag this. Can someone re-tag, please?
EDIT
I'm not sure whether it's possible to calculate my power output in something like Watts only from this data. I think a lot more data would be required -- if not my weight/height, but also some unobtainable data. If this is the case, it would probably be enough to calculate the power output in %, defining my maximum power as 100% and counting everything lower than that to lower %, where 0% is standing still (resting).