I’m missing something real obvious and I apologize for revisiting a topic addressed in several Q&A’s here. I’m an experienced GIS user (not programmer) who’s new to QGIS (can’t afford Arc in retirement). I was given GPX files from a race organizer who wants to know whether they truly have a 50K course laid out. These were generated by Motion-X GPS on an iPhone and that program can also produce KMZ files.
The files had a number of small dropouts and had to be merged into a total race route, so I performed quite a few edits before moving on to determining the total distance of the current race route.
I have followed the manual, tutorials, and a few answers here several times now. In essence, the correct steps appear to be:
- import the GPX tracks or KMZ file in CRS 4326
- save to a shapefile in an equidistant CRS
- add a new field to the attribute table for length, populated by
$length
All values in that field remain NULL. I tried bringing in the trackpoints and converting those to a line using point to one then repeated the steps above without success. I also tried dumping the coordinates from the GPX to a text file then reading that in as a CSV file before attempting the steps above. I tried importing a KMZ instead, without success. Every alternate attempt or workaround hasn’t achieved what I need.
I’m feeling pretty dim right now. The imported map layers (GPX or KMZ) display properly and register with other base geodata, of course, so it’s extra frustrating.
First few lines of a GPX:
<gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" creator="MotionXGPSFull 22.2 Build 4844R">
<trk>
<name>50K - 0 to 1</name>
<desc>Mar 28, 2015 7:38 am</desc>
<trkseg>
<trkpt lat="39.1847345" lon="-78.5107859">
<ele>308.437</ele>
<time>2015-03-28T11:38:28.034Z</time>
</trkpt>
<trkpt lat="39.1847345" lon="-78.5107859">
<ele>308.358</ele>
<time>2015-03-28T11:38:29.413Z</time>
</trkpt>