#!/usr/bin/python3
import gpxpy
import gpxpy.gpx
import argparse
# setup CLI parsing
parser = argparse.ArgumentParser(
prog='GPX simplifier',
description='Reduce number of points and / or remove data from GPX track to make it lighter',
epilog='')
parser.add_argument('-f', '--filename')
parser.add_argument('-t', '--removetime', action=argparse.BooleanOptionalAction)
parser.add_argument('-d', '--maxdistance')
args = parser.parse_args()
# parse gpx track
gpxfile = open(args.filename, 'r')
gpx = gpxpy.parse(gpxfile)
# drop time data
if args.removetime == True:
gpx.remove_time()
# simplify
gpx.simplify(max_distance = float(args.maxdistance))
print(gpx.to_xml(prettyprint=False))