GPX
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
GPX Preview.
At a glance
| Purpose | A GPX file: GPS waypoints, tracks and routes in XML. |
| Extensions | .gpx |
| Poka parser | poka-gpx |
| Viewer | poka-vector-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B3 Core (see Breadth tiers) |
How much Poka reads
B3 Core. Only the main content type or types are decoded (for example geometry but not materials, layers or annotations, or only one version family). The list of gaps is substantial.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-gpx/src/main.rs (199 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has cerknicko-jezero.gpx, test.gpx, track_with_time_extension.gpx, read by no test. Covers .gpx. The gpx crate reads the document and every waypoint is drawn as a point and every track segment and route as a polyline on the 2D map. Judgement: B3: the geometry is drawn, but names, elevation, times and metadata are not shown.
What Poka does not read
- Names, descriptions and symbols of waypoints, tracks and routes are not shown
- Elevation and times are not shown (no profile, speed or duration)
- Document metadata (author, links, bounds) is not shown
- Extensions (heart rate, cadence) are not read
- Files over 32 MiB are cut without a flag
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- gpx (used; MIT; Rust)
- gpxpy (candidate; Apache-2.0; Python; https://github.com/tkrajina/gpxpy) — Reads and writes GPX 1.0 and 1.1, keeps extensions
- GPXParser.js (candidate; MIT; JavaScript; https://github.com/Luuka/GPXParser.js) — Parses GPX, computes distances and elevation stats, exports GeoJSON; npm package gpxparser
Sources
- parsers/poka-gpx/src/main.rs
- parsers/poka-gpx/plugin.json