Skip to content

Instantly share code, notes, and snippets.

@karronoli
Last active August 14, 2022 05:10
Show Gist options
  • Save karronoli/18342d01b4fba18363b14c16840ef65c to your computer and use it in GitHub Desktop.
Save karronoli/18342d01b4fba18363b14c16840ef65c to your computer and use it in GitHub Desktop.
JINBASAN TRAIL RACE 20th Long GPX (no warranty)
import gpxpy
import gpxpy.gpx
gpx = gpxpy.gpx.GPX()
gpx_track = gpxpy.gpx.GPXTrack()
gpx.tracks.append(gpx_track)
gpx_segment = gpxpy.gpx.GPXTrackSegment()
gpx_track.segments.append(gpx_segment)
# http://www.k-y-trail.com/jinbayama/
# http://www.k-y-trail.com/jinbayama/images/20220821_pureko-su.JPG
waypoints = [
((35, 37, 11.31), (139, 9, 54.55), 257),
((35, 37, 23.60), (139, 9, 50.19), 293),
((35, 37, 55.53), (139, 10, 11.16), 541),
((35, 38, 3.93), (139, 10, 32.14), 547),
((35, 38, 15.66), (139, 10, 47.48), 606),
((35, 38, 25.68), (139, 10, 54.25), 610),
((35, 38, 42.11), (139, 11, 3.06), 732),
((35, 39, 3.86), (139, 10, 12.97), 791),
((35, 39, 8.25), (139, 10, 8.15), 768),
((35, 39, 31.61), (139, 10, 5.90), 700),
((35, 39, 56.64), (139, 9, 51.54), 771),
((35, 40, 3.84), (139, 9, 41.16), 867),
((35, 40, 1.19), (139, 9, 29.78), 801),
((35, 39, 59.78), (139, 9, 5.13), 811),
((35, 40, 11.69), (139, 8, 33.76), 1010),
((35, 40, 18.63), (139, 7, 51.71), 962),
((35, 40, 19.29), (139, 7, 53.48), 951),
((35, 40, 4.63), (139, 7, 48.33), 927),
((35, 39, 35.49), (139, 7, 56.25), 765),
((35, 39, 27.98), (139, 7, 54.03), 749),
((35, 38, 57.20), (139, 7, 51.69), 516),
((35, 38, 45.27), (139, 7, 58.80), 424),
((35, 38, 39.99), (139, 7, 44.61), 339),
((35, 38, 36.38), (139, 7, 45.51), 341),
((35, 38, 29.12), (139, 7, 51.47), 326),
((35, 38, 25.59), (139, 7, 52.02), 317),
((35, 38, 23.19), (139, 7, 54.78), 323),
((35, 37, 45.99), (139, 7, 58.66), 394),
((35, 38, 1.52), (139, 8, 28.50), 224),
((35, 38, 16.45), (139, 8, 41.32), 393),
((35, 37, 48.47), (139, 8, 51.04), 203),
((35, 38, 16.13), (139, 9, 56.22), 357),
((35, 38, 21.79), (139, 10, 14.36), 486),
# additional to goal
((35, 38, 25.88), (139, 10, 54.23), 609),
((35, 38, 3.93), (139, 10, 32.14), 547),
((35, 37, 55.53), (139, 10, 11.16), 541),
((35, 37, 23.60), (139, 9, 50.19), 293),
((35, 37, 11.31), (139, 9, 54.55), 257),
]
def convert(pos):
return round(pos[0] + pos[1] / 60 + pos[2] / 3600, 3)
for waypoint in waypoints:
gpx_segment.points.append(gpxpy.gpx.GPXTrackPoint(
convert(waypoint[0]), convert(waypoint[1]), elevation = waypoint[2]))
print(gpx.to_xml())
<?xml version="1.0" encoding="UTF-8"?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="gpx.py -- https://github.com/tkrajina/gpxpy">
<trk>
<trkseg>
<trkpt lat="35.62" lon="139.165">
<ele>257</ele>
</trkpt>
<trkpt lat="35.623" lon="139.164">
<ele>293</ele>
</trkpt>
<trkpt lat="35.632" lon="139.17">
<ele>541</ele>
</trkpt>
<trkpt lat="35.634" lon="139.176">
<ele>547</ele>
</trkpt>
<trkpt lat="35.638" lon="139.18">
<ele>606</ele>
</trkpt>
<trkpt lat="35.64" lon="139.182">
<ele>610</ele>
</trkpt>
<trkpt lat="35.645" lon="139.184">
<ele>732</ele>
</trkpt>
<trkpt lat="35.651" lon="139.17">
<ele>791</ele>
</trkpt>
<trkpt lat="35.652" lon="139.169">
<ele>768</ele>
</trkpt>
<trkpt lat="35.659" lon="139.168">
<ele>700</ele>
</trkpt>
<trkpt lat="35.666" lon="139.164">
<ele>771</ele>
</trkpt>
<trkpt lat="35.668" lon="139.161">
<ele>867</ele>
</trkpt>
<trkpt lat="35.667" lon="139.158">
<ele>801</ele>
</trkpt>
<trkpt lat="35.667" lon="139.151">
<ele>811</ele>
</trkpt>
<trkpt lat="35.67" lon="139.143">
<ele>1010</ele>
</trkpt>
<trkpt lat="35.672" lon="139.131">
<ele>962</ele>
</trkpt>
<trkpt lat="35.672" lon="139.132">
<ele>951</ele>
</trkpt>
<trkpt lat="35.668" lon="139.13">
<ele>927</ele>
</trkpt>
<trkpt lat="35.66" lon="139.132">
<ele>765</ele>
</trkpt>
<trkpt lat="35.658" lon="139.132">
<ele>749</ele>
</trkpt>
<trkpt lat="35.649" lon="139.131">
<ele>516</ele>
</trkpt>
<trkpt lat="35.646" lon="139.133">
<ele>424</ele>
</trkpt>
<trkpt lat="35.644" lon="139.129">
<ele>339</ele>
</trkpt>
<trkpt lat="35.643" lon="139.129">
<ele>341</ele>
</trkpt>
<trkpt lat="35.641" lon="139.131">
<ele>326</ele>
</trkpt>
<trkpt lat="35.64" lon="139.131">
<ele>317</ele>
</trkpt>
<trkpt lat="35.64" lon="139.132">
<ele>323</ele>
</trkpt>
<trkpt lat="35.629" lon="139.133">
<ele>394</ele>
</trkpt>
<trkpt lat="35.634" lon="139.141">
<ele>224</ele>
</trkpt>
<trkpt lat="35.638" lon="139.145">
<ele>393</ele>
</trkpt>
<trkpt lat="35.63" lon="139.148">
<ele>203</ele>
</trkpt>
<trkpt lat="35.638" lon="139.166">
<ele>357</ele>
</trkpt>
<trkpt lat="35.639" lon="139.171">
<ele>486</ele>
</trkpt>
<trkpt lat="35.641" lon="139.182">
<ele>609</ele>
</trkpt>
<trkpt lat="35.634" lon="139.176">
<ele>547</ele>
</trkpt>
<trkpt lat="35.632" lon="139.17">
<ele>541</ele>
</trkpt>
<trkpt lat="35.623" lon="139.164">
<ele>293</ele>
</trkpt>
<trkpt lat="35.62" lon="139.165">
<ele>257</ele>
</trkpt>
</trkseg>
</trk>
</gpx>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment