I am trying to generalise a line in QGIS so that I can export it as a vector without it having an unnecessarily huge file size. The line shows the GPS track of a road trip, and as such varies between having straight lines connecting a few points over a relatively large distance (eg where I was driving at 75mph along a straight road) and many points very close to each other (ie where I've stayed in the same building, but the GPS has wandered slightly and linked up several points close to each other).
The images below show the output from the Vector --> Geometry Tools --> Simplify tool (with a basemap for scale context): the original GPS track is red and the simplified version is black. As you can see, although the tool straightens out journeys of hundreds of km (more than I would want it to), if you zoom into the places where points have been more densely recorded (ie where I've stayed in the same place for an extended period of time), much of the unwanted noise is still there (albeit simplified).
Is there a tool for QGIS that will generalise in a way that doesn't simply remove a certain number of vertices without consideration of the distance between them, but will remove the noise of the type seen in the second screenshot? I am ultimately looking to map the whole route (~5,000 miles), so don't need to see where within a particular town I walked, but would like to still preserve the routes driven along roads (ie the red in the first image) to a reasonable degree.
I have tried various menu option configurations and an additional generalisation plugin, but all have yielded similar results.