Hello, I’m brand new to using CS and have been trying to get everything set up with my past activities. I have a new Garmin device that I’m (mostly) happy with regarding tracks (example https://citystrides.com/activities/23942980). I have a number of old activities in MapMyRun as well. I would like to get these imported into Garmin anyway, and that seems like a much better syncing option for CS than MapMyRun, so that would seemingly be a win-win.
There does not seem to be a tool to go directly from MapMyRun to Garmin so I’ve been manually downloading the tcx and importing that into Garmin. My initial tests went well, but when I starting looking back over the results all the activities from Oct 23, 2016 (inclusive) to Aug 11, 2019 (exclusive), plus just a few of the more recent ones, have really messy tracks, but only on CS.
See for example https://citystrides.com/activities/23559423. There’s some dramatic lines, but also a lot of back and forth along the route itself. The added mile markers are sort of comical. I’ve highlighted a street in the picture which shows that CS isn’t using the spurious lines to mark nodes.
Here is what it looks like in MapMyRun https://www.mapmyrun.com/workout/5387076730 and in Garmin https://connect.garmin.com/modern/activity/6769421411. Both look fine. I’ve also looked at the tcx file with RouteConverter OpenSource which I saw mentioned in another thread. It looked completely fine there too (although I’m not sure why only 1 out of 4 points seems to be filled in). I’ve only taken a very cursory look at the actual files in a text editor so far, but would be willing to make my own modifications if needed.
Does anyone know how I might be able to solve this problem? I’m willing to do any sort of manual work before re-importing into Garmin, but of course it would be preferable to avoid this. If I do need to take such action though is is possible to delete my entire account on CS and start over once that’s done (as deleting activities on CS is also time consuming)? Do any changes in Garmin to activities already pulled into CS also get synced into CS? Is there any way in Garmin to replace a cleaned up route without having to delete and recreate the activity?
One last unrelated question. I’ve seen that it is possible to mark a full street as manually complete. Is it possible to do the same with just individual nodes, such as to fix GPS issues on River Run on activity EntropyEndeavor's Activity on May 20, 2021 - CityStrides where not the full street is actually complete so far?
Thanks a lot!
Hi and welcome to the community!
I’ve had a similar problem in the past with importing individual activities from Garmin, and I tried to get a bit forensic with it so I’d refer you to my post on this thread and replies with James (perhaps this is even what you were referring to): Show Delete Activity Delay in Status - #13 by kevincharlespels
In that thread I am editing my messy GPS data with routeconverter just like you, and from that thread realized that creating new nodes that have corrupted timestamp data can make weird lines that mar the trace/lifemap. Editing the text/code in textedit is extremely tedious, so my working solution has been to never add new nodes to a trace, only drag existing nodes to the tracks I actually ran and delete others as needed. In this way, there is never an out-of-chron GPS timepoint. After all, the point of this is to have an accurate trace, the other metadata is superfluous for CS and I can delete the activities from Garmin once they’re in CS. I will finally add that I have only worked with gpx files and not tcx files, but I don’t know enough about the difference between gpx/tcx to say anything further.
Finally, not possible to mark individual nodes as complete but if you did literally run them and are already using routeconverter, just drag your gpx trace closer to the node to reflect what you did in reality.
All of the GPS coordinates of the points in CityStrides have timestamps, but many are duplicates. I might expect to see some lat/lon duplicates, but not timestamps. I didn’t compare lat/lon values across duplicate timestamps.
I’m seeing completely different maps than you are in MapMyFitness & Garmin, though.
That Garmin version has a play button (it made its way into my screenshot). If I click that, your full route is animated properly.
I don’t know if it’ll make any difference, but if you want to try re-syncing this activity you can delete it and let me know when it’s removed from CityStrides (it could take some minutes). After you let me know it’s gone, I can try to do a sync for just January 22, 2021 with Garmin.
Thanks both for the comments! Gives me some ideas. I didn’t look super hard into the file yet, but while I haven’t yet seen duplicates I am seeing incredibly close timestamps (like 0.001 seconds apart at times). What is the precision used for the timestamps in the version that CS uses? If that’s the problem I’ll limit to only one point per interval and see if that fixes it.
No idea why Garmin looks different. For MMF turns out the activity and the course have separate public/private controls on them.
Got it! EntropyEndeavor's Activity on January 22, 2021 - CityStrides
I had to do two separate things. First I limited the track to one point per second. This didn’t work on its own. When I downloaded Garmin’s version of the tcx they had made some modifications which left the coordinates in the correct order, but did something to mess up the time stamps so they were out of order. Thus CS was sorting them based on timestamp and getting them understandably out of order. Thus I consider it completely Garmin’s fault.
By converting the timestamp format for the points I left in to the format in Garmin’s version of the tcx file everything works great as shown above.
I need to clean up my Python script a bit, but will make it available soon in case anyone else runs into the same problem.
Is there a way to do a bulk delete of activities on my end? Is that something really easy to do from your end? (Every thing between Oct 23, 2016 and July 25, 2019 inclusive).
Thank you so much for the assistance!