Altitude in Lowrance USR file

mjm

Observer
I have a Lowrance Baja 540c in my Jeep. I use the track files to make maps of the trails I run. As near as I can tell, Lowrance does not put elevation information in the track point data sets. Is this a configuration issue? I would like to make elevation profiles.
 

mjm

Observer
I use GPS Babel. It is a fine product. I may contribute to its development in order to access the knowledge base. The GPS Babel page noted may not be applicable to the Baja, but it is worth a try.

ExpertGPS will also import USR files, but not the elevation data. This led me to think the data may not be included. I emailed Lowrance, but it will take some time before they answer the question.
 

paulj

Expedition Leader
I found a Word file on my computer dated 2003. The file properties say it was created by a John Galvin. I have no record of where I found it. It describes in detail the file structure of .usr files. I'd be happy to share it, but it is 87k.

Waypoints and route points have a slot for altitude. Track points only have lat and long. Maybe these two structure descriptions will help.

Code:
           [FONT=Courier, Courier New, monospace][SIZE=2]Typdef struct WAYPOINT {[/SIZE][/FONT]
     [FONT=Courier, Courier New, monospace][SIZE=2]WORD  wWaypointNum        ;zero-based internal waypoint number[/SIZE][/FONT]
     [FONT=Courier, Courier New, monospace][SIZE=2]DWORD dwLatitudeMM        ;waypoint latitude in mercator meters[/SIZE][/FONT]
     [FONT=Courier, Courier New, monospace][SIZE=2]DWORD dwLongitudeMM       ;waypoint longitude in mercator meters[/SIZE][/FONT]
     [FONT=Courier, Courier New, monospace][SIZE=2]DWORD dwAltitudeFT        ;waypoint altitude in feet[/SIZE][/FONT]
     [FONT=Courier, Courier New, monospace][SIZE=2]DWORD dwWaypointNmLength  ;waypoint name length in bytes[/SIZE][/FONT]
     [FONT=Courier, Courier New, monospace][SIZE=2]char  abWaypointName      ;waypoint name in ascii[/SIZE][/FONT]
     [FONT=Courier, Courier New, monospace][SIZE=2]WORD  wWaypointNmTerm     ;waypoint name terminator 0x0000[/SIZE][/FONT]
     [FONT=Courier, Courier New, monospace][SIZE=2]WORD  wUnknown            ;unknown function, value is don’t care    [/SIZE][/FONT]
     [FONT=Courier, Courier New, monospace][SIZE=2]DWORD dwWaypointTime      ;waypoint creation time (seconds since Jan 1, 2000)[/SIZE][/FONT]
     [FONT=Courier, Courier New, monospace][SIZE=2]DWORD dwWaypointSymbol    ;waypoint symbol specifier 0x00002710 based index[/SIZE][/FONT]
     [FONT=Courier, Courier New, monospace][SIZE=2]WORD  wWaypointStatus     ;active = 0x0000 non-visible = 0x0001[/SIZE][/FONT]
 [FONT=Courier, Courier New, monospace][SIZE=2]} WAYPOINT;[/SIZE][/FONT]
Code:
           [FONT=Courier, Courier New, monospace][SIZE=2]Typedef struct TRAILPOINT  {[/SIZE][/FONT]
       [FONT=Courier, Courier New, monospace][SIZE=2]DWORD      dwLatitudeMM            ;      ----[/SIZE][/FONT]
       [FONT=Courier, Courier New, monospace][SIZE=2]DWORD      dwLongitudeMM           ;          |----- repeat for wTrailSegPointCount[/SIZE][/FONT]
       [FONT=Courier, Courier New, monospace][SIZE=2]BYTE       bTrailPointSeparator    ;      ----[/SIZE][/FONT]
 [FONT=Courier, Courier New, monospace][SIZE=2]}  TRAILPOINT    ;[/SIZE][/FONT]

since that code formatting seems to work, here's his full trail structure (except for indents):
Code:
 	 	 [FONT=Courier, Courier New, monospace][SIZE=2]TRAILLIST[/SIZE][/FONT]
    [FONT=Courier, Courier New, monospace][SIZE=2]wTrailCount [/SIZE][/FONT] 
       [FONT=Courier, Courier New, monospace][SIZE=2]TRAIL[/SIZE][/FONT]
         [FONT=Courier, Courier New, monospace][SIZE=2]dwTrailNameLen           [/SIZE][/FONT] 
         [FONT=Courier, Courier New, monospace][SIZE=2]abTrailName              [/SIZE][/FONT] 
         [FONT=Courier, Courier New, monospace][SIZE=2]bUnknown                 [/SIZE][/FONT] 
         [FONT=Courier, Courier New, monospace][SIZE=2]wRecTrailPts             [/SIZE][/FONT] 
         [FONT=Courier, Courier New, monospace][SIZE=2]wMaxTrailPts             [/SIZE][/FONT] 
             [FONT=Courier, Courier New, monospace][SIZE=2]TRAILSEGMENT[/SIZE][/FONT]
                [FONT=Courier, Courier New, monospace][SIZE=2]wTrailSegPointCount[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]TRAILPOINT[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLatitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLongitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]bTrailPointSeparator[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILPOINT[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]TRAILPOINT[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLatitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLongitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]bTrailPointSeparator[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILPOINT[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]TRAILPOINT[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLatitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLongitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]bTrailPointSeparator[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILPOINT[/SIZE][/FONT]
                         [FONT=Courier, Courier New, monospace][SIZE=2].[/SIZE][/FONT]
                        [FONT=Courier, Courier New, monospace][SIZE=2]repeat ‘til wTrailSegPointCount[/SIZE][/FONT]
                         [FONT=Courier, Courier New, monospace][SIZE=2].[/SIZE][/FONT]
                         [FONT=Courier, Courier New, monospace][SIZE=2].[/SIZE][/FONT]
             [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILSEGMENT[/SIZE][/FONT]
             [FONT=Courier, Courier New, monospace][SIZE=2]TRAILSEGMENT[/SIZE][/FONT]
                [FONT=Courier, Courier New, monospace][SIZE=2]wTrailSegPointCount[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]TRAILPOINT[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLatitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLongitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]bTrailPointSeparator[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILPOINT[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]TRAILPOINT[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLatitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLongitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]bTrailPointSeparator[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILPOINT[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]TRAILPOINT[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLatitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLongitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]bTrailPointSeparator[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILPOINT[/SIZE][/FONT]
                         [FONT=Courier, Courier New, monospace][SIZE=2].[/SIZE][/FONT]
                        [FONT=Courier, Courier New, monospace][SIZE=2]repeat ‘til wTrailSegPointCount[/SIZE][/FONT]
                         [FONT=Courier, Courier New, monospace][SIZE=2].[/SIZE][/FONT]
                         [FONT=Courier, Courier New, monospace][SIZE=2].[/SIZE][/FONT]
             [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILSEGMENT                  [/SIZE][/FONT] 
       [FONT=Courier, Courier New, monospace][SIZE=2]END TRAIL[/SIZE][/FONT]
       [FONT=Courier, Courier New, monospace][SIZE=2]TRAIL[/SIZE][/FONT]
         [FONT=Courier, Courier New, monospace][SIZE=2]dwTrailNameLen           [/SIZE][/FONT] 
         [FONT=Courier, Courier New, monospace][SIZE=2]abTrailName              [/SIZE][/FONT] 
         [FONT=Courier, Courier New, monospace][SIZE=2]bUnknown                 [/SIZE][/FONT] 
         [FONT=Courier, Courier New, monospace][SIZE=2]wRecTrailPts             [/SIZE][/FONT] 
         [FONT=Courier, Courier New, monospace][SIZE=2]wMaxTrailPts             [/SIZE][/FONT] 
             [FONT=Courier, Courier New, monospace][SIZE=2]TRAILSEGMENT[/SIZE][/FONT]
                [FONT=Courier, Courier New, monospace][SIZE=2]wTrailSegPointCount[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]TRAILPOINT[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLatitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLongitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]bTrailPointSeparator[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILPOINT[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]TRAILPOINT[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLatitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLongitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]bTrailPointSeparator[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILPOINT[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]TRAILPOINT[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLatitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLongitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]bTrailPointSeparator[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILPOINT[/SIZE][/FONT]
                         [FONT=Courier, Courier New, monospace][SIZE=2].[/SIZE][/FONT]
                        [FONT=Courier, Courier New, monospace][SIZE=2]repeat ‘til wTrailSegPointCount[/SIZE][/FONT]
                         [FONT=Courier, Courier New, monospace][SIZE=2].[/SIZE][/FONT]
                         [FONT=Courier, Courier New, monospace][SIZE=2].[/SIZE][/FONT]
             [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILSEGMENT[/SIZE][/FONT]
             [FONT=Courier, Courier New, monospace][SIZE=2]TRAILSEGMENT[/SIZE][/FONT]
                [FONT=Courier, Courier New, monospace][SIZE=2]wTrailSegPointCount[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]TRAILPOINT[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLatitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLongitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]bTrailPointSeparator[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILPOINT[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]TRAILPOINT[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLatitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLongitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]bTrailPointSeparator[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILPOINT[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]TRAILPOINT[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLatitudeMM [/SIZE][/FONT] 
                      [FONT=Courier, Courier New, monospace][SIZE=2]dwLongitudeMM[/SIZE][/FONT]
                      [FONT=Courier, Courier New, monospace][SIZE=2]bTrailPointSeparator[/SIZE][/FONT]
                   [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILPOINT[/SIZE][/FONT]
                         [FONT=Courier, Courier New, monospace][SIZE=2].[/SIZE][/FONT]
                        [FONT=Courier, Courier New, monospace][SIZE=2]repeat ‘til wTrailSegPointCount[/SIZE][/FONT]
                         [FONT=Courier, Courier New, monospace][SIZE=2].[/SIZE][/FONT]
                         [FONT=Courier, Courier New, monospace][SIZE=2].[/SIZE][/FONT]
             [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILSEGMENT                  [/SIZE][/FONT] 
       [FONT=Courier, Courier New, monospace][SIZE=2]END TRAIL[/SIZE][/FONT]
 [FONT=Courier, Courier New, monospace][SIZE=2]END TRAILLIST[/SIZE][/FONT]
 

mjm

Observer
I found a post on SourceForge.net which this issue was discussed. Track points do not have elevations.

I doubt Lowrance will upgrade their software to include saving elevations.

Thank you for your help.

Mike
 

mjm

Observer
Lowrance response

Lowrance replied to my email, so I will post it here for future searches.

Thank you for your inquiry,

The elevation is stored in waypoints, if you have a 3D lock. Unfortunately, tracks do not store this information.

Thank you for choosing Lowrance Electronics.

I have a feeling if they could provide consistent reliable elevation data in the track file, they would.
 

paulj

Expedition Leader
I suspect that backward compatibility is the biggest issue. .usr format is compact, and easily processed using C structures, but it is not flexible. XML based GPX files are much larger, but use the same data structure for track points as for waypoints, so it can include time information as well as elevation.

Back when memory was at a premium, the fact that a basic IFinder could store something like 10,000 basic track points was a plus.
 

Forum statistics

Threads
186,164
Messages
2,882,733
Members
225,984
Latest member
taunger
Top