Prev Up Next Index
Go backward to 5.2.2 Record Headers
Go up to 5.2 Header Types
Go forward to 5.2.4 The dBASEfile Format

5.2.3 Separate Header Files

You may need to describe a data set with external headers. An external or separate header file can contain only headers-one file header or multiple record headers.

Separate File Header

 

Suppose you want the file header used to store the minimum and maximum values for latitude and longitude (from the llmaxmin example) in a separate file so that the data file is homogenous, thus easier for applications to read. Instead of one ASCII file (llmaxmin.dat), you will have an ASCII header file, say it is named llmxmn.hdr, and an ASCII data file-call it llmxmn.dat.

Here is llmxmn.hdr:

Latitude and Longitude:   -83.223548 54.118314  -176.161101 149.408117 

And here is llmxmn.dat:

-47.303545 -176.161101
-25.928001    0.777265
-28.286662   35.591879
 12.588231  149.408117
-83.223548   55.319598
 54.118314 -136.940570
 38.818812   91.411330
-34.577065   30.172129
 27.331551 -155.233735
 11.624981 -113.660611 

You will need to make one change to llmaxmin.fmt, adding the qualifier separate to the header descriptor, so that FreeForm ND will look for the header in a separate file. The first line of llmaxmin.fmt becomes:

ASCII_file_header_separate "Latitude/Longitude Limits" 

Save llmaxmin.fmt as llmxmn.fmt after you make the change.

To convert the data in llmxmn.dat to binary format in llmxmn.bin, use the following command:

newform llmxmn.dat -o llmxmn.bin 

NOTE: When you run newform, it will write the separate header to llmxmn.bin along with the data in llmxmn.dat.

Separate Record Headers

 

Record headers in separate files can act as indexes into data files if the headers specify the positions of the data in the data file. For example, if you have a file containing data from 25 observation stations, you could effectively index the file by including a station ID and the starting position of the data for that station in each record header. Then you could use the index to quickly locate the data for a particular station.

Returning to the aeromag example, suppose you want to place the two record headers in a separate file. Again, the only change you need to make to the format description file (aeromag.fmt) is to add the qualifier separate to the header descriptor. The first line would then be:

ASCII_record_header_separate "Aeromagnetic Record Header Format" 

The separate header file would contain the following two lines:

420       5     5272     178       2   413669.  6669740.   333345.  6751355.
411      10     8366     178       2   332640.  6749449.   412501.  6668591. 

The data file would look like the current aeromag.dat with the first and seventh lines removed.

Assuming the data file is named aeromag.dat, the default name and location of the header file would be aeromag.hdr in the same directory as the data file. Otherwise, the separate header file name and location need to be defined in an equivalence table. (For information about equivalence tables, see the GeoVu Tools Reference Guide.)


Tom Sgouros and James Gallagher, 2006-02-12

Prev Up Next