
This would be a great way of adding context to a clip. The TCX file formats are pretty standard and can easily be cropped to show just the portion that the clip covers.
This would be a natural extension of the map feature and would save us manually dropping the pin.
Ultimately.... something like the MB/Garmin player to follow the map below the video would be awesome.


I've seen a few instances where ride data is overlayed onto video in the form of gages. ChaseCam has Dashware software that can .csv data files on feed to different types of gages. Unfortunately, there is some major conversions need to get from TCX to CSV.
I too would like to see a simple program that took TCX(xml) files and feed the data to on screen gages.
I wanted to do this with a bicycle ride but found that that my Garmin 705 does not record some vital info (Speed, ET) which is needed in the Dashware software (thus the major conversion efforts).
I anxiously await a simpler method of doing this too.
Cool thread guys, we're reading it for sure!
I have a GarminEdge705 and it generates a .tcx file ( Garmin xml schema). In order to make this file somewhat useful, I had to set the "record" speed to "every second" instead of SMART. This gives a data sample point once every second which is what the Dashware software prefers. The only concern is that the 705 has limited electronic storage to record data samples ... about 4 hours. The manual suggests saving the "event" and restarting a new event before data starts getting written over. Saving writes the active "event" to a file on the Edge705 (flash card if installed) and then clears the memory to start recording anew.
Next post ... a peek into the TCX file.
Again ... the .tcx file is written in Garmin's xml schema. In basic terms, the .tcx/.xml is a text file; just like a .htm file is a text file and therefore can be viewed in any text editing software (notepad, etc). Since the .tcx(xml) file is written by the 705 without Carriage Returns (CR) or Line Feeds(LF), viewing this file in a text editor gets a little "busy" and hard to follow. Like this:
2009-09-13T17:12:35Z 866.16 3400.823975 7.453000 120 Active 60 Manual
As you can see, it gets a little busy. This is only the first portion of that file down to the first data point (
More on the .tcx next ...
i can understand that it will look very strange in notepad, but what happens if you open the file in excel?
i think excel can fix it for you
My next post was going to be that if you copy the .tcx file and rename the extension to .xml you can open it in IE and IE will display it in "outline" form and things look more organized. This is helpful because the next step is to cut out the none essential portions of the file leaving only the data points that Dashware needs. Although you cannot edit the file in IE, it'll give you a clearer picture of what's happening in the file so that when you do finally start editing the .xml file, you'll know where everythings at.
Once you are down to just data points (trackpoints), you'll realize that the 705 records limited data per trackpoint ... (1)
As you can see, one
/row/record of data does not "naturally" have SPEED or Elapse Time (ET). SPEED is kind of the most basic data that I would want to see overlayed onto the video yet the 705 does not record that data per data point. ET is needed to "play" the data as the video is playing to keep the two in "sync".
So ... all the extra calulations and creation of extra labels/colums/fields need an application that is literally program savy and can import from .xml files and export to .csv files. .CSV is a "comma seperated value" file which can (and will need to be) imported into MS Accel for some minor touch ups before being imported into Dashware. But before this happens, we need to calculate/create two new pieces of data , SPEED and ET.
Takes a lot of extra programming to take time and distance from records/datapoints to calculate a new SPEED column/field. Same thing with ET.
What do I use? MS Access. Yes MS database software with the help of VB coding in the background. Access can import .XML files and each data label creates a field.
As I said before ... sure would be nice if there were an application that would do all this for us.
cant you upload a sample file and let us have a look.
i bet i can make whatever you need in a few minutes
I don't know how to upload or attach to posts but here's a link to my file: ---Pending upload ---
Each sample is one second apart so ET won't be that tough. SPEED on the other hand is a little trickier. % Grade will be a real challenge. Once done, output is in .CSV format.
Ewww ...MS Access ... MS Excel ... I dont think I like where this thread is heading!
What about using XSLT for translation/transformation, or Oracle's XML functions even ?
I've been playing with templates lately to make OVL (video overlay's) that I can merge with the video. Lining up the timing can be tricky to ensure the final video is accurate. So far my process is pretty cumbersome, but I'm sure it can be streamlined into a simple Linux script once I get it all together.
From my first post: "I anxiously await a simpler method of doing this too." I use Access because it seems to readily import/translate xml files right into tables. I just transfer each record of the import table to the export table while doing the necessary calculations in VB for the fields that don't exist in the import table (ie ET, SPEED, %GRADE). I then use the export table to export to the .csv file. I use Excel to tidy up the column headers to meet the needs of Dashware. My process is pretty coumbersome to but my first test file seem to somewhat work.
Like I said, I'd like to see one simple application that took in Garmins TCX file and spewed out a CSV file including the columns of data that doesn't exist in the TCX file.
umm.. i cant see the link.
it says Pending upload
???
ohh.. i see the link got sent as a email to me from this webpage.
but when i click on the link i get url not found.
Guys, you can use a perl script to do all the data manipulation on the back end of any program, it is just a matter of working out what needs to be manipulated and it seems that this has already been done. Perl is free with Linux and I think there is a free version for PC's. This is similar coding language to VB but either way, you will need something like excell of access to initally open the file then it can be saved to what ever format necessary.
---
Thanks. That's exactly what I'm doing. I'm more familar with Access/VB than I am with Perl. That's why I went that way. I agree ... no matter which way you decide, some amount of programming/coding is going to be require; that's assuming the original data file (.tcx in my case) does not have all of the data that is needed for the "overly" software (Dashware in my case). Some higher end data recorders that are used in motor racing gather all the data needed and writes it to the data file. No conversions or creation of data is necessary. I don't have a high end recorder. I have a Garmin 705 which at best, I can tell it how often to record a sample ( 1 per sec or "SMART"). I have no options to set "what" data is recorded in the sample. Maybe I should just install Garmins Training Center software and see if it has an export feature that fills in the missing data.
The clunkiest part of all the data conversion is "calculating" the new/missing data (ET, SPEED, etc) from existing data (Distance, time, etc).
---
You can create the speed etc from the existing data. It is just a matter of doing the calculation when you are convverting the data. I would be happy to take a look at the VB macro if you want. Let me know the unknown data and I will see if I can modify the script for you. Send the raw data file and the excell file with the macro and Ill take a look
---
thats what i said too, it sounds very easy to fix.
a few lines of VBA code and im sure it will be done.
but its very hard to do without the file......
---
I've already written the VB code myself. I rename the .tcx to .xml file. Edit the .xml with text editor to remove all non-data entries. Import into an ACCESS table. Run VB code to transfer/translate/format/convert data as required. Generating ET is easy since I record in 1 second mode with the 705. This means that each
is 1 second apart. ET of 1st record = 0, 2nd record= 1 and so on. This field is only needed for play back of the data (Dashware knows to change data once a second). SPEED is easy to convert also since the .tcx file has an "elapse" distance per
therefore I know how far in meters I moved in 1 second. Since 1 second is 1/3600 of an hour, my recorded distance would also be 1/3600 of how far I would travel in an hour. So, I simply multiple distance (in meters) at each
by 3.6 to get KPH. I then multiply this by 0.621 if I want MPH.
My next challenge is to create Grade% data from distance and elevation info. That should prove interesting.
After that I export the data in the "new" data table to a .csv file. I then open the .csv in Excel just to make minor edits to the column header names; changing them to what the Dashware software looks for.
After that, the .CSV file is loaded into Dashware. I just have to add the video and sync the video and data together.
I never said I couldn't calculate any of this via VB code. I just said that to get from an existing file format (.tcx) with missing data to a usable file format (.csv) "with" newly calculated data is clunky.
Thanks.
---
it just sounds like you are making it much more complicated than it really is.
as i understand you use three diffrent softwares to get to the point you are right now?
fisrt VB code that edits like a text editor.
then you import it to access, create some new stuff and save as csv.
and then you open the csv in excel.
it sounds like a horrible way to use the data.
---
The VB code is in ACCESS, not seperate from it. I have to strip the non-data data from the .tcx file so that only the data I need is available for import ... so yes ... I use a text editor with macros to "slim down" the .tcx file. Then I rename the file to .xml because ACCESS can readily import .xml files. All I do (for a new import) is to Open the Access file, run the VB code to delete all records in both tables, import the .xml file into the "donor" table, run the code to transfer/translate/convert/create data in the "recipient" table which I then export to a .csv file.
I agree, it would be nice if the 705 saved the "created" data directly in the .tcx file but it doesn't. Due to this, some method of translation/creation is required ... regardless of the method used.
The goal is to get the .csv data formatted in a way that the Dashware software will be able to use it.
I've never said this is the cats meow. I still wish for the app that I can drop a .tcx file on and have a converted .csv (with additional data) spew out the other end. Right now this is the best I have.
---
Guys, send me the input file and the selected output format and I will have a go at it. As I said, you can use Perl (which you can download for free) and it will do all the necessary conversions and output the .csv file. Once I get the macro sorted I will send it to you to use.