Files
maptool/test/fixtures/sample_route.gpx
T
randy 708c08259b
CI / check (push) Successful in 43s
CI / deploy (push) Successful in 16s
Fix a severe GPX parse slowdown and add route (<rte>) support
GPX tracks were silently failing to render for large real-world files:
point_extensions used REXML's "extensions//*" XPath, and the // descendant
axis costs low-single-digit milliseconds per call regardless of subtree
size. Run once per point, that's negligible on small files but ~30s on a
real 8000-point track — long enough to hit a proxy timeout in production,
so the file just never appeared with no error. Replaced with plain
recursive child traversal (~40x faster on the same file, confirmed
29.9s -> 3.16s); test_parsing_many_points_with_extensions_stays_fast
guards against reintroducing it.

Also adds support for <rte> routes (not just <trk> tracks and <wpt>
waypoints), sharing the track/route conversion logic via a new
line_feature helper. Routes get their own "route" kind and a dashed
ROUTE_ICON in the file tree so the type is visible at a glance.
2026-09-07 14:36:12 +02:00

13 lines
268 B
XML

<?xml version="1.0" encoding="UTF-8"?>
<gpx version="1.1" creator="test">
<rte>
<name>Planned Loop</name>
<rtept lat="48.1" lon="17.2">
<ele>200</ele>
</rtept>
<rtept lat="48.101" lon="17.201">
<ele>210</ele>
</rtept>
</rte>
</gpx>