Version 1.9 1-26-1998
TOBIN International, Ltd.
1626 Broadway, Suite 500
Denver, Colorado 80202-4725
(303) 831-3555
The Land Grid, as available from Tobin International, Ltd, in a form with more detail than available elsewhere. The grid data available describes full and half townships, irregular townships, and sections with irregular boundaries. This document describes the data format of Land Grid data tapes supplied by Tobin International, Ltd in the ASCII format. Other formats which are less verbose are available. The EBCDIC character code is also supported. The information contained herein is intended for a technical audience, i.e. a systems analyst or experienced programmer.
1. Introduction *
2. Tape Format *
3. File Format *
4. Irregular Townships and Sections *
5. Record Format *
6. Record Types *
7. Ordering Information *
Appendix A 1.3 HTML is contained in tobin_v14tobinmc.html *
Land Base grid data is made available by Tobin International, Ltd in a variety of formats. This document describes what is referred to as the ASCII format. As such, all data is conveyed in character form using the ASCII code. Data in the form described in this document is available in the EBCDIC character code as well.
Data supplied on nine track, half inch tape, is written at a density of 1600 bpi. These tapes are unlabeled. Tapes will contain a single file which will be terminated by a double end of file mark. In some cases, multiple volumes may be required to convey all information purchased. In such cases, the paper label attached to the tape is the only volume identification provided. The tapes will not have volume labels magnetically recorded. All physical tape records will have 100 logical records except for the last record in a file which may have less than 100 logical records.
The file shall consist of 132 byte records, the format of which is described below. All records are of the same format and length, but may be of different types. A file may contain data with regard to several different geographic regions, states, and/or survey systems. All data is character data using the ASCII character code. (EBCDIC is also available.) All alphabetic characters are in upper case. Within a file, data is ordered so that all data pertaining to a specific township will appear in a group of records ordered by record type and then by record number. Township record groups appear in order by meridian code. Within meridian code, townships are ordered first by township number proceeding from the southernmost township to the northernmost township, and then by range number proceeding from west to east.
While the vast majority of the Land Grid is well behaved, there are many townships and sections which present severe data representation problems. These problems include:
The techniques used by Tobin International, Ltd to represent these data items are described in the Records Types below
There is a single record format in which all records are written. This record is 132 bytes long. The format of this record, in 'C' notation, is as follows:
struct g_ascii
{
| char | pre_amb | [2]; | /* A2 */ |
| char | rec_type | [1]; | /* A1 */ |
| char | meridian | [4]; | /* I4 */ |
| char | township | [5]; | /* F5.1 */ |
| char | twp_dir | [1]; | /* A1 */ |
| char | range | [5]; | /* F5.1 */ |
| char | rng_dir | [1]; | /* A1 */ |
| char | section | [2]; | /* I2 */ |
| char | rec_num | [2]; | /* I2 */ |
| char | rec_cnt | [2]; | /* I2 */ |
| char | source | [2]; | /* A2 */ |
| char | state | [2]; | /* A2 */ |
| char | flags | [4]; | /* A4 */ |
| char | long_lat | [4][2][12]; | /* F12.7 */ |
| char | post_amb | [2]; | /* A2 */ |
};
Each of the fields of this record are described in the following sections.
This two character field contains no data pertaining to the land grid data itself and should be ignored. This pro vision in the record format is for the convenience of formatting and transmission facilities. It should be ignored by all programs which extract data from the file.
This field is a numeric field written in I1 format. It identifies the record as being of a specific type. The different record types are described below.
This one character field is used to define the survey system which is referenced by the record. Currently, only two survey systems are supported. A 'J' is used to specify the the Jeffersonian Survey System used throughout the
western United States. A 'D' is used to specify the Dominion Survey used throughout the western provinces of Canada.
This field will contain a code number, in I4 format, indicating the base meridian which defines the origin of the township and range specifications in the record. These codes are defined in Appendix A.
5.5 Township Number (township)
This is a numeric field written in F5.1 format. It specifies the township being described by the record. Half townships are indicated by a non-integer value. For example,
56.0 Full Township, 56
56.5 Half Township, 56
5.6 Township Direction (twp_dir)
This single character field will contain an 'N' for a township north of the meridian origin, an 'S' for a township south of the meridian origin.
This is a numeric field written in F5.1 format. It specifies the range being described by the record. Half ranges are indicated by a non-integer value. For example,
128.0 Full Range, 128
128.5 Half Range, 128
This single character field will contain an 'E' for a range east of the meridian origin, a 'W' for a township west of the meridian origin.
This is a numeric field written in I2 format. It specifies the section being described by the record. For record types which describe township attributes, this value is set to zero.
This numeric field is written in I2 format. It contains the number of the record within a record group. That is, in such cases where more than one record is required to define a specific entity, the records will be numbered in this field. For consistency, in those cases where the data entity being defined contains only a single record, this field will contain a value of one.
This numeric field is written in I2 format. It contains the number of records which have been written to define the specific entity being defined. For consistency, in those cases where the data entity being defined requires a single record, this field will contain a value of one.
This character field is written in A2 format. It contains a code indicating the source of the data presented in the record. The character code "GS" is used to indicate that the data source was USGS quad maps. In rare cases, this field will contain the code "LM" which indicates that the data source was BLM plats.
This character field is written in A2 format. It contains the two character postal code which identifies the state in which the township is located.
This character field is used to indicated various type of data warning. The actual values are described in the Record Types below.
5.15 Latitude and Longitude (long_lat)
This definition defines four points, each point consisting of a longitude and a latitude in F12.7 format. The entire array is 96 bytes long. If one considers the array to be a single dimension array, the first element is the longitude of the first point. The second element is the latitude of the first point. The third element is the longitude of the second point. The eighth element is the latitude of the fourth point.
Longitudes and latitudes are given in degrees to seven decimal places. A positive latitude indicates latitude north of the equator. A negative latitude indicates latitude south of the equator. A positive longitude indicates longitude east of the prime meridian. A negative longitude indicates longitude west of the prime meridian. A value of -360.0 is used to indicate a null value. That is, in records where the use of all four points is not required, the remaining points are given this "bogus" value. A value of 0.0 is used to indicate the end of one boundary and the beginning of a second in townships and sections which have split boundaries. This is the equivalent of a 'PEN-UP' code
to a plotter.
In all cases, latitude and longitude values given in this array will be in the counter-clockwise direction, starting with the southwestern most point. In the case of a corners record type, the first point shall define the southwestern corner, the second point the southeastern corner, the third point the northeastern corner, and so on.\
5.16 Postamble (post_amb)
This two character field contains no data relevant to the land grid data. This field is provided solely for the convenience of formatting and data transmission programs. The contents of this field should be ignored by all programs
processing this data.
At the current time, there are five record types. Depending upon purchase options, a file may consist of a single record type, or any combination of the five. The normal data file consists solely of record type 4. The information contained in all other record types can be derived from the data contained in record type 4. The other record types are available for purchase as an option. Occasionally, a file consisting solely of a record type other than type 4 will be sufficient for a specific application. The five different record types are described in the following sections.
6.1 Township Corner Record Type 1
Records of this type will contain a value of one in the record type field. The presence of a record of this type indicates that the specific township identified in the record does indeed exist and provides the four corners of the township in the point array portion of the record. The section field is set to a value of zero on all records of this type. The flag field will be set to blanks.
6.2 Township Boundary Record Type 2
Records of this type will contain a value of two in the record type field. The presence of a record of this type indicates that the specific township identified in the record does indeed exist and provides the full boundary of the township in the point array portion of the record. The section field is set to a value of zero on all records of this type. The first character of the flag field will be set to 'S' if the township is split.
Boundaries provided in this record type are not closed. That is, the initial point is not repeated. Boundaries start at the southwestern most point and are defined in the counter-clockwise direction.
In nearly every case, the boundary definition will require more than four points. Additional type 2 records are written as required to define the complete boundary. The record count field of all records written to define the boundary will indicate how many records were required to complete the boundary. Each record within the group is numbered within the record number field. Unused points in the last record are encoded with the "bogus" value of -360.0. All identification information is repeated on all records of this type.
6.3 Section Corner Record Type 3
Records of this type will contain a value of three in the record type field. The presence of a record of this type indicates that the specific section identified in the record does indeed exist and provides the four corners of the section in the point array portion of the record. The first character of the flag field will be set to 'S' if the section is split.
6.4 Section Boundary Record Type 4
Records of this type will contain a value of four in the record type field. The presence of a record of this type indicates that the specific section identified in the record does indeed exist and provides the full boundary of the section in the point array portion of the record.
Boundaries provided in this record type are not closed. That is, the initial point is not repeated. Boundaries start at the southwestern most point and are defined in the counter-clockwise direction.
In many cases, the boundary definition will require more than four points. Additional type 4 records are written as required to define the complete boundary. The record count field of all records written to define the boundary will indicate how many records were required to complete the boundary. Each record within the group is numbered within the record number field. Unused points in the last record are encoded with the "bogus" value of -360.0. All identification information is repeated on all records of this type.
The first character of the flag field will be set to 'S' if the section is split. The second character of the flag field will be set to 'X' if the data used to build the boundary is of a highly irregular nature. In this case the
Section Edge Record data should be examined to ensure proper data usage.
6.5 Section Edge Record Type 5
Section Edge Records are generated ONLY where the system detects the presence of an irregular section boundary. These records allow the user to decide how to handle the irregular data.
Records of this type will contain a value of five in the record type field. The flag field will contain E, W, N, or S in the first character to indicate which edge is being represented. It is quite likely that less than four edges will be present. The data will be ordered from west to east for the northern and southern edges. The data will will be ordered from south to north for the eastern and western edges.
In many cases, the edge definition will require more than four points. Additional type 5 records are written as required to define the complete edge. The record count field of all records written to define the edge will indicate how many records were required to complete the edge. Each record within the group is numbered within the record number field. Unused points in the last record are encoded with the "bogus" value of -360.0. All identification information is repeated on all records of this type.
Since there are five different record types, 31 different data sets can be produced concerning a specific region. Each is numbered 1 through 31. The following table indicates the record types included in a each of the various formats. As mentioned above, the standard "ASCII" format is equivalent to ordering the "ASCII8" format.
|
Format Name |
Record Types Included |
|
ASCII |
4 |
|
ASCII1 |
1 |
|
ASCII2 |
2 |
|
ASCII3 |
1 & 2 |
|
ASCII4 |
3 |
|
ASCII5 |
1 & 3 |
|
ASCII6 |
2 & 3 |
|
ASCII7 |
1, 2, & 3 |
|
ASCII8 |
4 |
|
ASCII9 |
1 & 4 |
|
ASCII10 |
2 & 4 |
|
ASCII11 |
1, 2, & 4 |
|
ASCII12 |
3 & 4 |
|
ASCII13 |
1, 3, & 4 |
|
ASCII14 |
2, 3, & 4 |
|
ASCII15 |
1, 2, 3, & 4 |
|
ASCII16 |
5 |
|
ASCII17 |
1 & 5 |
|
ASCII18 |
2 & 5 |
|
ASCII19 |
1, 2, & 5 |
|
ASCII20 |
3 & 5 |
|
ASCII21 |
1, 3, & 5 |
|
ASCII22 |
2, 3, & 5 |
|
ASCII23 |
1, 2, 3, & 5 |
|
ASCII24 |
4 & 5 |
|
ASCII25 |
1, 4, & 5 |
|
ASCII26 |
2, 4, & 5 |
|
ASCII27 |
1, 2, 4, & 5 |
|
ASCII28 |
3, 4, & 5 |
|
ASCII29 |
1, 3, 4, & 5 |
|
ASCII30 |
2, 3, 4, & 5 |
|
ASCII31 |
1, 2, 3, 4, & 5 |
Any of the above data sets can be obtained in the EBCDIC character code by replacing the string "ASCII" with "EBCDIC". You should be aware that this format is rather verbose. That is, conversion of our entire inventory of 50,000 townships (as of this writing) to this format can require as much as 500 megabytes of disk storage. In evaluating the use of this format, the following may be helpful: The typical township boundary requires 24 points, or 6 type 2 records. At 132 bytes per record, the typical township boundary will require 792 bytes storage. A typical section boundary requires four points; one type 4 record. At 132 bytes per section, a typical township will require 4,752 bytes of storage. A typical state, Wyoming for example, has approximately 3,000 townships. Therefore, the ASCII10 format which includes both township and section boundaries for the typical state would require 17 megabytes of storage. Those considering purchases of large geographic areas should consider the alternate formats available from Tobin International, Ltd. These formats are written using binary integers and are capable of storing our entire inventory of(currently) 50,000 townships in less than 12 megabytes of storage.
Appendix A 1.4 HTML is contained in tobin_v14tobinmc.html