This is the format of the 52 very high resolution boundary description files. There is one file for each state, one for Washington D.C., and one for the 48 contiguous states as a whole. The names of the files are boundaryAK.dat, boundaryAL.dat, etc up to boundaryWY.dat for the individual states, plus boundaryDC.dat and boundaryUS.dat. The state files give not only the outline of the main land area, but also for all islands within state waters, so a large number of the files contain multiple outlines. The files do not contain text; all data is in a binary format. These are the C++ or C structs needed to read the file: struct Descriptor { float area; int number; }; struct Region { float min_longitude; float min_latitude; float max_longitude; float max_latitude; }; struct Point { float longitude; float latitude; }; All of the floating point numbers are in the four byte "float" format, not the eight byte "double" format, and represent longitudes (x) and latitudes (y) in degrees. For the United States (which is the only area covered by these files), all longitudes are negative, and all latitudes are positive. The first 8 bytes in each file is a Descriptor. It gives the area of the entire state in square degrees, and the number of individual outlines that follow. The next 16 bytes in each file describe the smallest rectangle that contains all of the data points. This may be used to quickly determine whether or not any of this state appears in a given area of consideration. The remainder of each file, after those first 24 bytes, is just a series of outlines. Each outline begins with its own individual 8 byte Descriptor, giving the area (in square degrees) of the outline that follows, and the number of points in that outline. All outlines are "joined up", and make a properly closed shape. The area may be used to quickly decide whether a particular outline is worth considering or not. For a map covering a large area, an island of less than 0.01 square degrees might not be visible for example. All of the outlines in each file appear in descending order of area, so once you find an outline that is too small to be worth displaying, you can be certain that all subseequent outlines in that file will be just as small. After the descriptor for an outline, which reports the number of points that are to follow, those points immediately follow. After the points that make up an outline, the Descriptor for the next outline follows immediately, unless there are no more outlines in the file, in which case the file ends immediately. Some state files contain only a single outline, some contain a very large number of outlines indeed. The US file contains only one outline; all islands must be found in their individual state files. The outlines are very carefully coordinated to guarantee consistency: when two states share a common boundary, exactly the same points appear in both files, without a single bit of difference.