As it so happens, I DO have an array of t,x,y,z points. My GPS tracker records time, latitude, longitude and altitude. I wrote a bunch of code in C++ and have a data factory to get the points from the GPS tracker into an array. From there, I convert the points to ECEF so that I can do linear speed measurements on them. ECEF is an X/Y/Z coordinate system that measures its coordinates as meters from the center of the geoid. IIRC the two axes are the north pole and the intersection of the prime meridian and the equator. Could be wrong about that, I don't often have cause to check.
Canopy detection turns out to be pretty easy. I just find the first place in the jump I'm doing less than 10 meters a second. It seems to be pretty accurate. I haven't got around to aircraft exit and landing, as my GPS source up until recently has been too bad to get decent data. I'll have to do a few test jumps (In the name of science!) with a new, more accurate phone and see if it's worth the effort now.
For output, I'm rendering to KML. I can display that directly on Google earth or OpenLayers or write my own thing to do it.
Once I have a decent data set, I'll also have to add some statistic gathering. The upcoming holiday time off might be worthwhile for cleaning up some of the code I have. Hmm... :-D