The following fields are not present in the FCC ULS or archival data, and are thus not changeable. They are derived from other values in the ULS or archival data:
- County. This value is derived from the ZIP code.
- Maidenhead. This value is derived from the ZIP code.
- Callsign Group. This value is derived from the Callsign.
- Operator Group. This value is derived from the Operator Class.
- Call Region. This value is derived from the Callsign.
- Geo Region. This value is derived from the State code.
- Phonetic Weight. This value is derived† from the Callsign.
- Morse Weight. This value is derived† from the Callsign.
The following fields are not present in the FCC ULS or archival data, and are thus not changeable. They are derived from both the ULS history and archival history. The accuracy of these fields may depend upon the accurate linking of archival data to ULS data (see below):
- Code Proficiency.
- Next Callsign.
The following fields have been added to archival data, in order to link archival data to ULS data. They are derived from both the ULS history and archival history. A best attempt is made to match archival records with those from the ULS database, but if the names are different, the automated software cannot make a match. These values may be changed in archival data upon request:
- Licensee ID.
- FCC Registration Number (FRN).
†These use the following SQL statement, plus a simple database table of characters and their phonetic & Morse equivalents (in dots and dashes):
SELECT SUM( CHAR_LENGTH( REPLACE( morse_code, '-', '==' ) ) * 2 + 2 ), SUM( CHAR_LENGTH( REGEXP_REPLACE( phonetic, '[^-]', '', 'g' ) ) + 1 ) FROM "CharMap" NATURAL JOIN (SELECT SUBSTRING( callsign FROM GENERATE_SERIES( 1, 6 ) FOR 1) AS char_id) AS dummy Explanation: The phonetic & Morse weights (the relative time it takes to key the callsign) is computed above, as follows:
- The PostreSQL GENERATE_SERIES function is used to generate the string offsets of 1 through 6 in turn.
- The string offsets are used with the SQL SUBSTRING function to extract each individual character from the callsign in turn.
- Each extracted character from the callsign is used to lookup the equivalent phonetic & Morse code pattern in the database table.
For phonetic syllables:
- The PostreSQL REGEXP_REPLACE function is used to remove all non-hyphen characters from the phonetic name.
- Next, the SQL CHAR_LENGTH function gives the length of the result, which is just a count of the number of hyphens in the phonetic name.
- Next, 1 is added to the count of hyphens, to give the number of syllables in the phonetic name. This now correctly computes the phonetic syllable weight of a single character.
- Each dot has a weight of two (the dot and the space after it), and each dash has a weight of four (the dash and the space after it). Therefore, a dash and its space is weighted twice as long as dot and its space. As a result, the SQL REPLACE function replaces each dash in the Morse code pattern with two (not three) "equal signs" (the actual character is unimportant) to give the proper relative weighting (in terms of length).
- Next, the SQL CHAR_LENGTH function gives the length of the modified (above) Morse code pattern.
- Next, the length is multiplied by 2 (remember that dots have a weight of two, and dashes have a weight of four), to give the actual weight.