Lowrance USR (lowranceusr)
Prev | Chapter 3. The Formats | Next

## Lowrance USR (lowranceusr)

This format can...

- read and write waypoints

- read and write tracks

- read and write routes

This format has the following options: ignoreicons, writeasicons, merge, break, wversion, title, serialnum, description .

Many Lowrance systems have the ability to output their data to an external storage device. Early models (such as iFinder Hunt) supported an MMC card. Newer models (HDS, Hook, Hook2, etc) support either an SD card or a microSD card. When exported the data is saved to the card as a file. Some models have the ability to export data in GPX format but the format native to Lowrance units is called USR. Typically the file created by the export operation will have a ".usr" suffix if is a native format or a ".gpx" suffix if is is a GPX format file.

Lowrance units currently use five different versions of USR files. These different USR versions store the four internal elements (waypoints, routes, trails, and event marker icons) using different formats. Some units do not support all four elements (typically event marker icons are not supported). Some USR formats also have multiple element versions (i.e. USR version 4 has two different formats for storing route data). Depending on the model of device you have you may be able to select the format for export data from any of the five USR formats or even the GPX format.

The following provides a high-level description of the multiple USR formats that are supported by the Lowrance product set (this is based on information contained in the 2018 Lowrance Hook2 Series Operator Manual) and other sources.

User Data File version 2 - Legacy file format. This is the default output USR version used by GPSBabel. It contains only basic information on waypoints, routes, and trails.

User Data File version 3 - Legacy file format. Added depth information to Route waypoints. Supports trails with a maximum of 10,000 trail-points. Last version that supports Event Marker ICONs.

User Data File version 4 - Seems to be the best option for transferring data from older Lowrance units. Many of the counts (Number of Waypoints, Number of Routes, etc) were expanded from 16-bit integer values (maximum value of 65,535) to 32-bit (maximum value 2,147,483,647) USRv4 and above support a maximum of 20,000 trail-points (actually 24K and change). USRv4 and above and GPX support trails with trail-segments.

User Data File version 5 - Lowrance introduced universally unique identifiers (UUIDs) in this version.

User Data File version 6 - Latest format. Supports trail characteristics speed and temperature.

Lowrance systems support varying numbers of waypoints, routes, and tracks dependent on the specific device capabilities. Some early systems also supported entities called event marker icons. Event icon markers are represented by symbol, latitude and longitude data only. By default, event marker icons are converted by GPSBabel to waypoints on read with their name being generated in the format "Event Marker NNN" where NNN is replaced by the sequence number of the Event Marker ICON found in the input data. You have the option to ignore Event Icon Markers effectively removing them from the output data using the input option ignoreicons. On output, you can use the write option writeasicons to create event marker icons from waypoint data present in the input file.

The following tables detail the content format of USR data files.

- Lowrance USR Data File Contents

- Lowrance USR 2 and 3 Waypoint Object Format

- Lowrance USR 4, 5 and 6 Waypoint Object Format

- Lowrance USR 2 and 3 Route Object Format

- Lowrance USR 4, 5 and 6 Route Object Format

- Lowrance USR 2 and 3 Event Marker ICON Object Format

- Lowrance USR 2 and 3 Trail Object Format

- Lowrance USR 4, 5 and 6 Trail Object Format

Table 3.4. Lowrance USR Data File Contents

Present In USR Version | Field | Size (Bytes) | Description
--- | --- | --- | ---
2 | 3 | 4 | 5 | 6
X | X | X | X | X | USR Format | 4 | Identifies the USR file format (integer). Valid values are 2 (USR 2), 3 (USR 3), 4 (USR 4), 5 (USR 5) and 6 (USR 6).
- | - | X | X | X | Data Stream Version | 4 | Appears only in USR 4, 5, and 6. Identifies the Data Stream Version (integer).
- | - | X | X | X | File Title Length | 4 | Appears only in USR 4, 5, and 6. Length of file title text (integer).
- | - | X | X | X | File Title | File Title Length * 2 | Appears only in USR 4, 5, and 6. File title captured in UTF-16 character set.
- | - | X | X | X | File Creation Date Length | 4 | Appears only in USR 4, 5, and 6. Length of File creation date string (integer).
- | - | X | X | X | File Creation Date | File Creation Date Length * 2 | Appears only in USR 4, 5, and 6. File creation date string captured in UTF-16 character set.
- | - | X | X | X | File Creation Date | 4 | Appears only in USR 4, 5, and 6. File creation date (integer).
- | - | X | X | X | File Creation Time | 4 | Appears only in USR 4, 5, and 6. File creation time (integer).
- | - | X | X | X | Unknown value | 1 | Appears only in USR 4, 5, and 6. Unknown data value (byte).
- | - | X | X | X | Unit Serial Number | 4 | Appears only in USR 4, 5, and 6. Serial number of Lowrance Unit creating the data file (integer).
- | - | X | X | X | File Description Length | 4 | Appears only in USR 4, 5, and 6. Length of File description string.
- | - | X | X | X | File Description | File Description Length * 2 | Appears only in USR 4, 5, and 6. File description captured in UTF-16 character set.
X | X | - | - | - | Number of Waypoint Objects | 2 | In USR versions 2 and 3, the number of Waypoint objects is represented as a short integer. If the value is zero there are no Waypoint objects present in the data.
- | - | X | X | X | Number of Waypoint Objects | 4 | In USR versions 4, 5 and 6, the number of Waypoint objects is represented as an integer, If the value is zero there are no Waypoint objects present in the data.
X | X | X | X | X | Waypoint Objects | Sizeof Waypoint Object * Number of Waypoint Objects | Array of Waypoint Object data. Only present if the number of objects is greater than zero.
X | X | - | - | - | Number of Route Objects | 2 | In USR versions 2 and 3, the number of Route objects is represented as a short integer. If the value is zero there are no Route objects present in the data.
- | - | X | X | X | Number of Route Objects | 4 | In USR versions 4, 5 and 6, the number of Route objects is represented as an integer, If the value is zero there are no Route objects present in the data.
X | X | X | X | X | Route Objects | Sizeof Route Object * Number of Route Objects | Array of Route Object data. Only present if the number of objects is greater than zero.
X | X | - | - | - | Number of Event Marker ICON Objects | 2 | The number of Event Marker ICON objects is represented as a short integer. This data is only present in USR version 2 and 3 data files. If the value is zero there are no Event Marker ICON objects present in the data.
X | X | X | X | X | Event Marker ICON Objects | Sizeof Event Marker ICON Object * Number of Event Marker ICON Objects | Array of Event Marker ICON object data. Only present if the number of objects is greater than zero.
X | X | - | - | - | Number of Trail Objects | 2 | In USR versions 2 and 3, the number of Trail objects is represented as a short integer. If the value is zero there are no Trail objects present in the data.
- | - | X | X | X | Number of Trail Objects | 4 | In USR versions 4, 5 and 6, the number of Trail objects is represented as an integer, If the value is zero there are no Trail objects present in the data.
X | X | X | X | X | Trail Objects | Sizeof Trail Object * Number of Trail Objects | Array of Trail Object data. Only present if the number of objects is greater than zero.

Table 3.5. Lowrance USR 2 and 3 Waypoint Object Format

Present In USR Version | Field | Size (Bytes) | Description
--- | --- | --- | ---
2 | 3 | 4 | 5 | 6
X | X | - | - | - | Waypoint Object Sequence Number | 2 | Sequence number of the Waypoint Object
X | X | - | - | - | Latitude | 4 | Waypoint Latitude value (float)
X | X | - | - | - | Longitude | 4 | Waypoint Longitude value (float)
X | X | - | - | - | Altitude | 4 | Waypoint Altitude (float)
X | X | - | - | - | Name Length | 4 | Length of Waypoint Name string (integer)
X | X | - | - | - | Name | Name Length | Name text, with USR 2 and 3 format this is UTF-8 representation.
X | X | - | - | - | Creation Time | 4 | Description
X | X | - | - | - | Unknown Data | 4 | Unknown data field. Only present if USR 2 or 3 format data generated by HOOK 2 unit
X | X | - | - | - | ICON Identifier | 4 | ICON identifier value (integer)
X | X | - | - | - | Description Length | 4 | Length of Description (integer)
X | X | - | - | - | Description | Description Length | Description text represented in UTF-8 characters.
X | X | - | - | - | Type | 2 | Waypoint type (short integer)
- | X | - | - | - | Depth | 4 | Waypoint depth (float)

Table 3.6. Lowrance USR 4, 5 and 6 Waypoint Object Format

Present In USR Version | Field | Size (Bytes) | Description
--- | --- | --- | ---
2 | 3 | 4 | 5 | 6
- | - | - | X | X | Waypoint Universally Unique ID Number | 16 | Appears only in USR 5 and 6 format. Universally Unique Waypoint ID captured as four integers.
- | - | X | X | X | Unit Number | 4 | Serial Number of Unit capturing Waypoint (integer).
- | - | X | X | X | Waypoint Object Sequence Number | 8 | Sequence number of the Waypoint Object captured as a long integer.
- | - | X | X | X | Stream Version | 4 | Waypoint Stream version (integer).
- | - | X | X | X | Name Length | 4 | Length of Waypoint Name string (integer)
- | - | X | X | X | Name | Name Length | Name text, with USR 4, 5 and 6 format this is UTF-16 representation.
- | - | - | X | X | Unit Number | 4 | Serial Number of Unit capturing Waypoint (integer). Duplicate information.
- | - | X | X | X | Longitude | 4 | Waypoint Longitude
- | - | X | X | X | Flag | 1 | Waypoint Flag
- | - | X | X | X | Waypoint ICON Identifier | 2 | Waypoint ICON identifier value (short)
- | - | X | X | X | Waypoint Color | 2 | Waypoint color value (short)
- | - | X | X | X | Description Length | 4 | Length of Waypoint Description (integer)
- | - | X | X | X | Description | Description Length | Waypoint description text represented in UTF-16 characters.
- | - | X | X | X | Alarm Radius | 4 | Waypoint alarm radius (float)
- | - | X | X | X | Creation Date | 4 | Waypoint creation date (integer)
- | - | X | X | X | Creation Time | 4 | Waypoint creation time (integer)
- | - | X | X | X | Unused Byte | 1 | Unused byte (character)
- | - | X | X | X | Depth | 4 | Waypoint depth (float)
- | - | X | X | X | Lorain GRI | 4 | Lorain GRI (obsolete ??)
- | - | X | X | X | Lorain Tda | 4 | Lorain Tda (obsolete ??)
- | - | X | X | X | Lorain Tdb | 4 | Lorain Tdb (obsolete ??)

Table 3.7. Lowrance USR 2 and 3 Route Object Format

Present In USR Version | Field | Size (Bytes) | Description
--- | --- | --- | ---
2 | 3 | 4 | 5 | 6
X | X | - | - | - | Waypoint Object Sequence Number | 2 | Sequence number of the Waypoint Object
X | X | X | X | X | Latitude | 4 | Waypoint Latitude value (float)
X | X | - | - | - | Longitude | 4 | Waypoint Longitude value (float)
X | X | - | - | - | Altitude | 4 | Waypoint Altitude (float)
X | X | - | - | - | Name Length | 4 | Length of Waypoint Name string (integer)
X | X | - | - | - | Name | Name Length | Name text, with USR 2 and 3 format this is UTF-8 representation.
X | X | - | - | - | Creation Time | 4 | Description
X | X | - | - | - | Unknown Data | 4 | Unknown data field. Only present if USR 2 or 3 format data generated by HOOK 2 unit
X | X | - | - | - | ICON Identifier | 4 | ICON identifier value (integer)
X | X | - | - | - | Description Length | 4 | Length of Description (integer)
X | X | - | - | - | Description | Description Length | Description text represented in UTF-8 characters.
X | X | - | - | - | Type | 2 | Waypoint type (short integer)
- | X | - | - | - | Depth | 4 | Waypoint depth (float)

Table 3.8. Lowrance USR 4, 5 and 6 Route Object Format

Present In USR Version | Field | Size (Bytes) | Description
--- | --- | --- | ---
2 | 3 | 4 | 5 | 6
- | - | - | X | X | Route Universally Unique ID Number | 16 | Appears only in USR 5 and 6 format. Universally Unique Route ID captured as four integers
- | - | X | X | X | Unit Number | 4 | Serial Number of Unit capturing Route (integer)
- | - | X | X | X | Route Object Sequence Number | 8 | Sequence number of the Route Object captured as a long integer
- | - | X | X | X | Stream Version | 4 | Route Stream version (integer)
- | - | X | X | X | Name Length | 4 | Length of Route Name string (integer)
- | - | X | X | X | Name | Name Length | Name text, with USR 4, 5 and 6 format this is UTF-16 representation.
- | - | - | X | X | Unit Number | 4 | Serial Number of Unit capturing Route (integer). Only present in USR 5 and 6 format.
- | - | X | X | X | Number of Legs | 4 | Number of legs in route (integer)
- | - | X | X | X | Leg Objects | Sizeof Leg Object * Number of Legs | Array of Leg Object data.
- | - | - | X | X | Unknown Data | 9 | Unknown data fields. Appears to be three values, two integers and one character.
- | - | X | X | X | Unknown Data | 1 | Unknown data field. Possibly end of Route element indicator.

Table 3.9. Lowrance USR 4, 5 and 6 Route Leg Object Format

Present In USR Version | Field | Size (Bytes) | Description
--- | --- | --- | ---
2 | 3 | 4 | 5 | 6
- | - | - | X | X | Route Universally Unique ID Number | 16 | Appears only in USR 5 and 6 format. Universally Unique ID for Waypoint that represents this leg of Route captured as four integers. Used to find Lat/Long values for leg.
- | - | X | - | - | Unit Number | 4 | Serial Number of Unit capturing Route Leg(integer). Used with Waypoint Sequence Number to find Lat/Long values for leg.
- | - | X | - | - | Waypoint Object Sequence Number | 8 | Sequence number of the Waypoint Object captured as a long integer. Used with Unit Number to find Lat/Long values for leg.

Table 3.10. Lowrance USR 2 and 3 Event Marker ICON Object Format

Present In USR Version | Field | Size (Bytes) | Description
--- | --- | --- | ---
2 | 3 | 4 | 5 | 6
X | X | - | - | - | Latitude | 4 | Waypoint Latitude value (float)
X | X | - | - | - | Longitude | 4 | Waypoint Longitude value (float)
X | X | - | - | - | ICON Identifier | 4 | ICON identifier value (integer)

Table 3.11. Lowrance USR 2 and 3 Trail Object Format

Present In USR Version | Field | Size (Bytes) | Description
--- | --- | --- | ---
2 | 3 | 4 | 5 | 6
X | X | - | - | - | Name Length | 4 | Length of Trail Name string (integer)
X | X | - | - | - | Name | Name Length | Name text, with USR 2 and 3 format this is UTF-8 representation.
X | X | - | - | - | Flag | 1 | = 0 Trail not displayed, = 1 Trail Visible (byte)
X | X | - | - | - | Number of Points | 2 | Number of points on trail (integer)
X | X | - | - | - | Max Points | 2 | Maximum number of points on trail (integer)
X | X | - | - | - | Trail Point Objects | Sizeof Trail Point Object * Number of Points | Array of Trail Point Object data

Table 3.12. Lowrance USR 2 and 3 Trail Point Object Format

Present In USR Version | Field | Size (Bytes) | Description
--- | --- | --- | ---
2 | 3 | 4 | 5 | 6
X | X | - | - | - | Number of Section Points | 2 | Number of Lat-Long Pairs in Section (integer)
X | X | - | - | - | Lat-Lon Pair Objects | 8 * Number of Section Points | Array of Lat-Long Pair values for Section Points. Each Latitude value occupies 4 bytes (float) and each Longitude value occupies 4 bytes (float)

Table 3.13. Lowrance USR 4, 5 and 6 Trail Object Format

Present In USR Version | Field | Size (Bytes) | Description
--- | --- | --- | ---
2 | 3 | 4 | 5 | 6
- | - | X | X | X | Unit Number | 4 | Serial Number of Unit capturing Trail (integer).
- | - | X | X | X | Trail Object Sequence Number | 8 | Sequence number of the Waypoint Object captured as a long integer.
- | - | X | X | X | Stream Version | 4 | Trail Stream version (integer).
- | - | X | X | X | Name Length | 4 | Length of Trail Name string (integer)
- | - | X | X | X | Name | Name Length | Name text, with USR 4, 5 and 6 format this is UTF-16 representation.
- | - | X | X | X | Flag | 4 | Unknown flag value
- | - | X | X | X | Color | 4 | Trail Display Color
- | - | X | X | X | Desc Length | 4 | Length of Trail Description string (integer)
- | - | X | X | X | Description | Desc Length | Description text, with USR 4, 5 and 6 format this is UTF-16 representation.
- | - | X | X | X | Creation Date | 4 | Date Trail was captured
- | - | X | X | X | Creation Time | 4 | Time stamp when Trail was captured
- | - | X | X | X | Flag1 | 1 | Unknown flag byte
- | - | X | X | X | Flag2 | 1 | Unknown flag byte
- | - | X | X | X | Flag3 | 1 | Unknown flag byte
- | - | X | X | X | Count | 4 | Unknown Count (integer)
- | - | X | X | X | Flag4 | 1 | Unknown flag byte
- | - | X | X | X | Flag5 | 1 | Unknown flag byte
- | - | X | X | X | Flag6 | 1 | Unknown flag byte
- | - | X | X | X | Number of Trail Points | 4 | Number of Trail Point Objects (integer)
- | - | X | X | X | Trail Points Array | Sizeof Trail Point Object * Number of Trail Points | Array of Trail Point Objects

Table 3.14. Lowrance USR 4, 5 and 6 Trail Point Object Format

Present In USR Version | Field | Size (Bytes) | Description
--- | --- | --- | ---
2 | 3 | 4 | 5 | 6
- | - | X | X | X | Unknown1 | 2 | Unknown Trail Point value
- | - | X | X | X | Unknown2 | 1 | Unknown Trail Point value
- | - | X | X | X | Creation Time | 4 | Trail Point creation time
- | - | X | X | X | Long-Lat Pair | 8 | Long-Lat Pair values for Trail Points. Latitude value occupies 4 bytes (float) and Longitude value occupies 4 bytes (float)
- | - | X | X | X | Attribute Count | 4 | Number of Trail Point Attributes.
- | - | X | X | X | Attribute Data | Attribute Count * 5 | Unknown Data Array. Each entry has a one byte type identifier followed by a four byte value.

Some Lowrance units have the ability to export GPX (GPS Exchange Format) formatted data. Lowrance only provides minimal support for GPX export data on their HOOK2 series (only data available to the author). Refer to the official GPX 1.1 Schema Documentation for the complete schema.

Example 3.20. Lowrance GPX Export Data

        <metadata>
          <time>xsd:dateTime</time>
          <depthunits>meters</depthunits>
          <tempunits>C</tempunits>
          <sogunits>m/s</sogunits>
        </metadata>
        <wpt lon="longitudeType" lat="latitudeType">
          <time>xsd:dateTime</time>
          <name>xsd:string</name>
          <sym>xsd:string</sym>
        </rte>
          <name>xsd:string</name>
          <rtept lon="longitudeType" lat="latitudeType">
            <time>xsd:dateTime</time>
            <name>xsd:string</name>
            <sym>xsd:string</sym>
          </rtept>
        </rte>
        <trk>
          <name>xsd:string</name>
          <trkseg>
            <trkpt lon="longitudeType" lat="latitudeType">
              <time>xsd:dateTime</time>
            </trkpt>
          </trkseg>
        </trk>

### `ignoreicons` option

(USR input) Ignore event marker icons on read.

This option instructs GPSBabel to not convert event marker icons found in the input data to waypoints, but to instead disregard them altogether. These are present only in USR version 2 and 3 formats.

### `writeasicons` option

(USR output) Treat waypoints as icons on write.

(USR output) This option causes waypoint information read from the input to be converted to event marker icons in the output.

### `merge` option

(USR output) Merge into one segmented trail.

(USR output) This option merges all tracks into a single track with multiple segments.

### `break` option

(USR input) Break segments into separate trails.

(USR input) Breaks multi-segment tracks into multiple separate tracks.

### `wversion` option

(USR output) Write version.

While GPSBabel is capable of supporting all five USR formats for input processing it is currently only able to generate USR format 2, 3, or 4 due to the lack of detailed information on some of the data contained in the other formats.

By default, GPSBabel will generate USR version 2 data if the output format is specified as lowranceusr.

`gpsbabel ... -o lowranceusr,wversion=2 -F blah.usr` is exactly the same as `gpsbabel ... -o lowranceusr -F blah.usr`

Newer (post 2006 or so) Lowrance devices added a version three of their USR file format that adds waypoint depth. Lowrance recommends that this USR version be used when transferring user data to systems such as LMS, LCX, and so on. Specify "3" to output USR version 3 data on write.

To create a USR version 3 file that contains waypoint depth information use these output options: `gpsbabel ... -o lowranceusr,wversion=3 -F blah.usr`

### `title` option

(USR output) Output file title string.

This option can be used when writing a version 4 or higher Lowrance USR file to set the file title. If the option is not used the title will be "GPSBabel generated USR data file".

### `serialnum` option

(USR output) Device serial number.

This option can be used when writing a version 4 or higher Lowrance USR file to set the device serial number. If the option is not used and the source of the data is a Lowrance USR file with a valid serial number then that serial number will be used, otherwise a value of 0 will be used.

### `description` option

(USR output) Output file content description.

This option can be used when writing a version 4 or higher Lowrance USR file to set the description text. If the option is not used the description text will be "Waypoints, routes, and trails".

Prev | Up | Next
Humminbird waypoints and routes (.hwr) (humminbird) | Home | MiniHomer, a skyTraq Venus 6 based logger (download tracks, waypoints and get/set POI) (miniHomer)