Size: 410
Comment: First rev
|
Size: 2475
Comment: Remove unnecessary paragraph
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
[[GpxSplitter|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 }}} [[http://gitorious.org/samatjain/gpxsplitter/blobs/raw/master/gpxsplitter.py|Download gpxsplitter.py directly]] (this link will always download the latest version), or [[http://gitorious.org/samatjain/gpxsplitter|browse the gpxsplitter repository]] on Gitorious. == Changelog == * v0.2 — 15 Feb 2011 — Bug fixes. Works with both GPX 1.0 and 1.1, tracks without timestamps. Thanks malenki! * v0.1 — 28 Jan 2011 — First release (not really kept public) == Other programs == I found a few pre-existing programs that perform the same, or similar function: * [[http://b42.cz/gpxsplit/|gpxsplit]] is a Haskell/Haxml-based GPX file splitter. On Ubuntu, required some 360 MB of dependencies (Haskell compilers, libraries, etc). * [[http://shallowsky.com/software/mapping/|gpxmgr]] is a Python/minidom-based GPX file splitter. Python's minidom is known for being notoriously slow. Neither preserve waypoints, a discerning GpxSplitter feature. As you can see in Benchmarks, GpxSplitter is significantly faster. |
|
Line 10: | Line 41: |
== Other programs == | == Future plans == |
Line 12: | Line 43: |
[[http://b42.cz/gpxsplit/|gpxsplit]] is a Haskell/Haxml-based GPX file splitter | Port to Python 3. |
Line 14: | Line 45: |
[[http://shallowsky.com/software/mapping/|gpxmgr]] is a Python/minidom-based GPX file splitter. Python's minidom is known for being notoriously slow. | Remove dependency upon mxDateTime. (for Python 3 support) Make lxml dependency optional, so GpxSplitter can run with Python's built-in ElementTree only. For better portability. Formalize testing. I have a collection of GPX files I use for testing, but at the moment I test manually. To test functions within GpxSplitter, a rewrite of many functions will probably be required. == Thanks == Thanks for the following people who have helped test and develop GpxSplitter: * [[http://www.openstreetmap.org/user/malenki|malenki]] |
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
Download gpxsplitter.py directly (this link will always download the latest version), or browse the gpxsplitter repository on Gitorious.
Changelog
- v0.2 — 15 Feb 2011 — Bug fixes. Works with both GPX 1.0 and 1.1, tracks without timestamps. Thanks malenki!
- v0.1 — 28 Jan 2011 — First release (not really kept public)
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.
Neither preserve waypoints, a discerning GpxSplitter feature. As you can see in Benchmarks, GpxSplitter is significantly faster.
Benchmarks
Very informal testing:
Program |
Time |
gpxsplit |
24s |
gpxmgr |
32s |
gpxsplitter |
1s |
Future plans
Port to Python 3.
Remove dependency upon mxDateTime. (for Python 3 support)
Make lxml dependency optional, so GpxSplitter can run with Python's built-in ElementTree only. For better portability.
Formalize testing. I have a collection of GPX files I use for testing, but at the moment I test manually. To test functions within GpxSplitter, a rewrite of many functions will probably be required.
Thanks
Thanks for the following people who have helped test and develop GpxSplitter: