Size: 1863
Comment: Move hyperlink text
|
Size: 2475
Comment: Remove unnecessary paragraph
|
Deletions are marked like this. | Additions are marked like this. |
Line 16: | Line 16: |
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.py|Download gpxsplitter.py directly]] (this link will always download the latest version), or [[http://gitorious.org/gpxsplitter|browse the gpxsplitter repository]] on Gitorious. |
[[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. |
Line 22: | Line 20: |
v0.1 — 04 Jan 2010 — First release. | * 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 33: | Line 41: |
== Other programs == | == Future plans == |
Line 35: | Line 43: |
I found a few pre-existing programs that perform the same, or similar function: | Port to Python 3. |
Line 37: | Line 45: |
* [[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. |
Remove dependency upon mxDateTime. (for Python 3 support) |
Line 40: | Line 47: |
As you can see in Benchmarks, gpxsplitter is significantly faster, and requires fewer dependencies. | 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: