APRS Data in the AX.25 Information Field¶
Generic Data Format¶
Bytes:
APRS Data Type Identifier¶
In general, the AX.25 Information field can contain some or all of the following information:
- APRS Data Type Identifier
- APRS Data
- APRS Data Extension
- Comment
| Generic APRS Information Field | |||
|---|---|---|---|
| Data Type ID | APRS Data | APRS Data Extension | Comment |
| 1 | n | 7 | n |
Every APRS packet contains an APRS Data Type Identifier (DTI). This determines the format of the remainder of the data in the Information field, as follows:
APRS Data Type Identifiers
| Ident | Data Type |
|---|---|
| < | Station Capabilities |
| = | Position without timestamp (with APRS messaging) |
| > | Status |
| ? | Query |
| @ | Position with timestamp (with APRS messaging) |
| A–S | [Do not use] |
| T | Telemetry data |
| U–Z | [Do not use] |
| [ | Maidenhead grid locator beacon (obsolete) |
| ** | [Unused] |
| ] | [Unused] |
| ^ | [Unused] |
| _ | Weather Report (without position) |
| ‘ | Current Mic-E Data (not used in TM-D700) |
| a–z | [Do not use] |
| { | User-Defined APRS packet format |
| ** | ** |
| } | Third-party traffic |
| ~ | [Do not use] |
| Ident | Data Type |
|---|---|
| 0x1c | Current Mic-E Data (Rev 0 beta) |
| 0x1d | Old Mic-E Data (Rev 0 beta) |
| ! | Position without timestamp (no APRS messaging), or Ultimeter 2000 WX Station |
| " | [Unused] |
| # | Peet Bros U-II Weather Station |
| $ | Raw GPS data or Ultimeter 2000 |
| % | Agrelo DFJr / MicroFinder |
| & | [Reserved — Map Feature] |
| ' | Old Mic-E Data (but Current data for TM-D700) |
| ( | [Unused] |
| ) | Item |
| * | Peet Bros U-II Weather Station |
| + | [Reserved — Shelter data with time] |
| , | Invalid data or test data |
| - | [Unused] |
| . | [Reserved — Space weather] |
| / | Position with timestamp (no APRS messaging) |
| 0–9 | [Do not use] |
| : | Message |
| ; | Object |
Note: The Kenwood TM-D700 radio uses the ' DTI for current Mic-E data. The radio does not use the ‘ DTI.
APRS Data and Data Extension¶
There are 10 main types of APRS Data:
-
- Position
- Direction Finding
- Objects and Items
- Weather
- Telemetry
- Messages, Bulletins and Announcements
- Queries
- Responses
- Status
- Other
Some of this data may also have an APRS Data Extension that provides additional information.
The APRS Data and optional Data Extension follow the Data Type Identifier.
The table on the next page shows a complete list of all the different possible types of APRS Data and APRS Data Extension.
| Possible APRS Data | Possible APRS Data Extension | |
|---|---|---|
| Position | Time (DHM or HMS) Lat/long coordinates Compressed lat/long/course/speed/radio range/altitude Symbol Table ID and Symbol Code Mic-E longitude, speed and course, telemetry or status Raw GPS NMEA sentence Raw weather station data | Course and Speed Power, Effective Antenna Height/Gain/Directivity Pre-Calculated Radio Range Omni DF Signal Strength Storm Data (in Comment field) |
| Direction Finding | Time (DHM or HMS) Lat/long coordinates Compressed lat/long/course/speed/radio range/altitude Symbol Table ID and Symbol Code | Course and Speed Power, Effective Antenna Height/Gain/Directivity Pre-Calculated Radio Range Omni DF Signal Strength Bearing and Number/Range/Quality (in Comment field) |
| Object name | Course and Speed | |
| Item name | Power, Effective Antenna Height/Gain/Directivity | |
| Objects and Items | Time (DHM or HMS) Lat/long coordinates Compressed lat/long/course/speed/radio range/altitude | Pre-Calculated Radio Range Omni DF Signal Strength Area Object |
| Symbol Table ID and Symbol Code | Storm Data (in Comment field) | |
| Raw weather station data | ||
| Weather | Time (MDHM) Lat/long coordinates Compressed lat/long/course/speed/radio range/altitude Symbol Table ID and Symbol Code Raw weather station data | Wind Direction and Speed Storm Data (in Comment field) |
| Telemetry | Telemetry (non Mic-E) | |
| Addressee | ||
| Messages, Bulletins and Announcements | Message Text Message Identifier Message Acknowledgement Bulletin ID, Announcement ID | |
| Group Bulletin ID | ||
| Queries | Query Type Query Target Footprint Addressee (Directed Query) | |
| Position | Course and Speed | |
| Object/Item | Power, Effective Antenna Height/Gain/Directivity | |
| Weather | Pre-Calculated Radio Range | |
| Status | Omni DF Signal Strength | |
| Responses | Message Digipeater Trace | Area Object Wind Direction and Speed |
| Stations Heard | ||
| Heard Statistics | ||
| Station Capabilities | ||
| Status | Time (DHM zulu) Status text Meteor Scatter Beam Heading/Power Maidenhead Locator (Grid Square) Altitude (Mic-E) E-mail message | |
| Other | Third-Party forwarding Invalid Data/Test Data |
Comment FieldIn general, any APRS packet can contain a plain text comment (such as a beacon message) in the Information field, immediately following the APRS Data or APRS Data Extension.
There is no separator between the APRS data and the comment unless otherwise stated.
The freeform text part of the comment may contain any printable ASCII or UTF-8 character.
Do not put any carriage return (0x0d) or line feed (0x0a) at the end. IGate stations will remove them, resulting in slightly different contents.
The very small and seemingly arbitrary maximum length of the comment field depends on the report — details are included in the description of each report.
In special cases, the Comment field can also contain further APRS data:
-
-
- Altitude in comment text (see Chapter 6: Time and Position Formats), or in Mic-E status text (see Chapter 10: Mic-E Data Format).
- Maidenhead Locator (grid square), in a Mic-E status text field (see Chapter 10: Mic-E Data Format) or in a Status Report (see Chapter 16: Status Reports).
- Bearing and Number/Range/Quality parameters (/BRG/NRQ), in DF reports (see Chapter 7: APRS Data Extensions).
- Area Object Line Widths (see Chapter 11: Object and Item Reports).
- Signpost Objects (see Chapter 11: Object and Item Reports).
- Weather and Storm Data (see Chapter 12: Weather Reports).
- Beam Heading and Power, in Status Reports (see Chapter 16: Status Reports).
-
Base-91 NotationTwo APRS data formats use base-91 notation: lat/long coordinates in compressed format (see Chapter 9) and the altitude in Mic-E format (see Chapter 10).
Base-91 data is compressed into a short string of characters. All the characters are printable ASCII, with character codes in the range 33–124 decimal (i.e. ! through |).
To compute the base-91 ASCII character string for a given data value, the value is divided by progressively reducing powers of 91 until the remainder is less than 91. At each step, 33 is added to the modulus of the division process to obtain the corresponding ASCII character code.
For example, for a data value of 12345678:
| 12345678 / 913 | = | modulus 16, remainder 288542 |
|---|---|---|
| 288542 / 912 | = | modulus 34, remainder 6988 |
| 6988 / 911 | = | modulus 76, remainder 72 |
The four ASCII character codes are thus 49 (i.e. 16+33), 67 (i.e. 34+33), 109 (i.e. 76+33) and 105 (i.e. 72+33), corresponding to the ASCII string 1Cmi.
APRS Precision and¶
Datum Option¶
This enhancement to the APRS spec is to allow for greater precision to be transmitted between users. But since precision without the accuracy of the datum is meaningless, this format also includes the identification of the datum used to gain this precision.
DATUM: The default datum for GPS and for APRS is WGS84. This is specified in the APRS spec that all on-air positions are assumed to be WGS84 unless otherwise indicated. This "option" then documents two such methods for "otherwise indicating":
BY COUNTRY: or Continental local agreement. Two such agreements have been declared: WGS84 in North America and OSGB36 in the UK. If others cam be agreed, they will be listed.
BY DATUM BYTE: the DATUM byte in this "PRECISION and DATUM Option".
FORMAT: The format of this APRS Precision-and-Datum option is the presence of a 5 byte field !DAO! appearing anywhere in the position comment field. This option is backwards compatible because the basic DDMM.HH/DDDMM.HH format is retained and will still be decoded by all existing applications. The !DAO! simply provides the additional precision down to a foot or so and also identifies the datum:
!DAO! - is fixed length anywhere in the position commment
D - is the datum identifier (base-91)
A - is the added LAtitude precision (base-91)
O - is the added LOngitude precision (base-91)
RECOMMENDATION: Recommend placing this option on the END of all other position comment text. This way it does not displace any human readable comment text that is otherwise desired to display on older systems. This added option may extend beyond the existing "viewable" limit of 57 bytes currently in the spec since these added bytes are not used by legacy
systems anyway.
PRECISION: There are three degrees of precision offered by this option.
1) HUMAN READABLE, Thousandths of a minute. This is good to the
nearest 6 feet or so and being human readable gives even users
of the D7 and D700 or any other existing application the ability
to human read position to 3 decimal digits of Minutes. This
format is identified if the Datum byte is in uppercase.
2) BASE-91. This adds additional precision to the nearest 91/ten
thousandth of a minute, or about 4 decimal fractional digits of
a minute or about one foot. This format is identified if the
datum byte is in lowercase.
3) NULL. If the A and O bytes are SPACE characters, then they
are only there to fulfill the !DAO! format and imply NO ADDED
precision. This is used when one wants to send DATUM info
but without claming added precision. This use of space characters
to imply lacking digits of precision is consistent with the
existing APRS ambiguity system.
DATUMS: There are several categories of datums that can be used.
PRE-DEFINED: The Letters A-Z and a-z indicate one of 26 common datums. The case of these 26 letters indicates which precision is used.
Capital letters indicate human readable decimal digits for A
and O, and lower case indicates base 91 encoding for A and O.
There are 26 pre-defined DATUMS. A table will be prepared of
the 26 common datums. Here are some examples:
W = WGS84
N = NAD27
O = OSGB36
LOCAL CUSTOM: For special and closed events, the DATUM can be one of ten locally defined options. These are indicated by the digits 0 through 9. One creative use of this is for closed events using fixed maps or venues. These digits could define the maps by number!
BASE-91 ENCODING: Base-91 is used frequently in APRS to improve the
resolution of a byte without using Binary and while still using
only the printable ASCII character subset. Using only printable
ASCII has many benefits and advantages that have been discussed
ad nausium elsewhere. Base 91 simply means the value of an
ASCII byte after subtracting decimal 33 Thus the character
"!" minus 33 is "0" on up to the character "}" minus 33 which
has the value "90"
OTHER: There remains 28 other possiblities of DATUM information in
the D digit that can be used if needed.
Examples:
!W23! means it is WGS84 and the upper case indicates it is the human
readable 3rd digit format. "2" is the third decimal digit of latitude
minutes and is human readable. "3" is the added digit of longitude
minutes and is also human readable.
!wAb! means it is WGS84 but the lower case indicates this is the added
precision to the nearest foot. "A" is the base 91 code for two more
digits (65 minus 33 yields "32") and "b" is two more digits of longitude
(98 -33 or "...65").
!w:! would also be WGS84 but with ":" and "\" decoding to two additional digits of "27" to latitude and "59" to longitude to the nearest foot or so.
BASE-91 CONVERSION: In the first !W23! example above, the actual digits are simply added to the existing LAT/LONG for example to add precision to DDMM.mmN/DDDMM.mmW to be come equivalent to DDMM.mm2N and DDDMM.mm3W.
But in the next two examples !wAb! and !w:! the added two digits cannot simply be added to the ASCII position string, since they can only go from 00 to 90. Thus they need to be scaled so that they go from 00 to 99. Do this by multiplying the two digits by 1.10. So for the !wAb! example with added latitude digits of 32, you multiply that by 1.10 to arrive at an actual added digits of 35.2. So the high precision latitude becomes DDMM.mm352N.
APRS Data UnitsFor historical reasons there is some lack of consistency between units of data in APRS packets — some speeds are in knots, others in miles per hour; some altitudes are in feet, others in meters, and so on. It is emphasized that this specification describes the units of data as they are transmitted on-air. It is the responsibility of APRS applications to convert the on-air units to more suitable units if required.
The default GPS earth datum is World Geodetic System (WGS) 1984 but Continental options such as OSG for the UK are OK.