APRS PRECISION AND DATUM OPTION 18 APRIL 2004 ---------------------------------------------------------------------------- WB4APR Updated 7 May 2008 for clarity Updated 1 May 2006 to add some examples. This proposed 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 identificaiton 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 can 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 beacause 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 characers, 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. Return to the APRS Errata web page: http://www.ew.usna.edu/~bruninga/aprs/errata.html de WB4APR, Bob