Generally, there are three steps involved when modifying the record:
1. Update each subfield with the new values.
2. Update the field length and field positon value.
3. Update the total record length.
Use an editor that supports the editing of binary data.
The XREF module contains two variable length records. The record format is based on the ISO8211 standard.
In the sample 1013XREF.DDF file, the first record is 235 bytes long and user should not edit this record since it contains meta data about the file and it will not change.
The second record is the real data record, in the sample 1013XREF.DDF file it starts at byte location 236 with the string value “00240”. This is where you need to start modifying.
The following table shows the structure of the record.
Since this deals with variable length records, after modifying the subfield(s) content (e.g. content of COMT), make sure the total record length, field position and field length are correct and in sync.
The following example demonstrates how to update this record. Imagine the following edits are required:
COMT from “Vertical Datum�” to "LMSL - Local Mean Sea Level"
RSNM from “UTM” to "GEO"
HDAT from “NAS” to "WGE"
ZONE from “19” to “”
VDAT from “NGVD” to "LMSL"
AUTH from “USGS/NMD” to "NOAA/GLOBE"
Update each value in the data file with the new value. You can update the corresponding subfield content but be careful not remove the end of subfield (ASCII value 31, “^_”) or end of field (ASCII value 30, “^^”) character.
After updating the subfield in the data file the field length and field position must be updated starting at byte 259 in the sample 1013XREF.DDF file.
From byte 259 the input string reads as follows:
The following table shows the breakdown of field length and position for the above string: