Size: 1720
Comment:
|
Size: 1863
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
GPX files containing multiple tracks and waypoints jumbled together are produced by many GPS units, in particular MTK chipset-based devices such as the Qstarz Q1000 and Transystem i-Blue 474 devices. Separating tracks and their associated waypoints was a headache until gpxsplitter came along. | GPX files containing multiple tracks and waypoints jumbled together are produced on export by many GPS units, particularly MTK chipset-based devices such as the Qstarz Q1000 and Transystem i-Blue 474. Separating tracks and their associated waypoints was a headache until gpxsplitter came along. |
Line 18: | Line 18: |
[[FrontPage|Download gpxsplitter.py directly]], or browse the [[FrontPage|gpxsplitter repository on Gitorious]]. | [[|http://gitorious.org/gpxsplitter/gpxsplitter/blobs/raw/master/gpxsplitter.pyDownload gpxsplitter.py directly]] (this link will always download the latest version), or browse the [[http://gitorious.org/gpxsplitter|gpxsplitter repository on Gitorious]]. |
gpxsplitter splits multi-track GPX files, containing waypoints, into individual one-track GPX files with their respective waypoints.
GPX files containing multiple tracks and waypoints jumbled together are produced on export by many GPS units, particularly MTK chipset-based devices such as the Qstarz Q1000 and Transystem i-Blue 474. Separating tracks and their associated waypoints was a headache until gpxsplitter came along.
gpxsplitter depends on the Python 2.6 (or above in the 2.x series) and the modules:
- lxml
- mxDateTime
On Debian/Ubuntu, you can install the required dependencies with:
sudo aptitude install python-lxml python-egenix-mxdatetime
At some point, I'm going to refactor gpxsplitter to not need mxDateTime and depend on ElementTree in Python's stdlib, so script can work on Python 3.
[[|http://gitorious.org/gpxsplitter/gpxsplitter/blobs/raw/master/gpxsplitter.pyDownload gpxsplitter.py directly]] (this link will always download the latest version), or browse the gpxsplitter repository on Gitorious.
Changelog
v0.1 — 04 Jan 2010 — First release.
Benchmarks
Very informal testing:
Program |
Time |
gpxsplit |
24s |
gpxmgr |
32s |
gpxsplitter |
1s |
Other programs
I found a few pre-existing programs that perform the same, or similar function:
gpxsplit is a Haskell/Haxml-based GPX file splitter. On Ubuntu, required some 360 MB of dependencies (Haskell compilers, libraries, etc).
gpxmgr is a Python/minidom-based GPX file splitter. Python's minidom is known for being notoriously slow.
As you can see in Benchmarks, gpxsplitter is significantly faster, and requires fewer dependencies.