I’ve been going through our database of GPS tracks in a sort of spring-cleaning mode, partly prompted by thoughts of tracing our paths onto clay in an attempt to produce what has stumped us so far: a 3D map of our old neighbourhood where each time we traverse the local street it cuts a deeper groove (or makes a higher ridge) and partly by the prospect of sending some of this stuff to our pen plotter.
What I’m always looking for is a way of reducing noise in our maps and some sort of track smoother is what I really want but is eluding me. In the short term, however, I’ve discovered some things to drastically reduce the amount of unnecessary track sections without impacting on the look too much at all, especially at city-wide zoom levels. These are all tricks to be used in QuantumGIS (QGIS), my GIS of choice (and multi-platform too, for all of you hanging on to proprietary operating systems).
Filter out the tracks with 3 or fewer track points in them
- Right click on the track layer you want to filter
- Select ‘Query’
- In the SQL where clause box, put
"points" > 3
- If you want these changes to be permanent, save the layer as a new shape file from the right-click layer menu as above
Apply Simplify geometries
This is apparently a Douglas–Peucker algorithm implemented in QGIS. Just go to Vector > Geometry Tools > Simplify Geometries
. I found that a tolerance of 2.0 is perfectly acceptable for my needs and cuts down the shapefile size by between a third and a half. Again, save the shapefile as something else.
each time we traverse the local street it cuts a deeper groove:
>>> and then we print it with a 3-D printer YES, YES, YES!