|
NAME
| |
map – digitized map formats
|
DESCRIPTION
| |
Files used by map(7) are a sequence of structures of the form:
struct {
| |
signed char patchlatitude;
signed char patchlongitude;
short n;
union {
| |
struct {
short latitude;
short longitude;
} point[n];
struct {
short latitude;
short longitude;
struct {
signed char latdiff;
signed char londiff;
} point[–n];
} highres;
|
} segment;
|
};
where short stands for 16-bit integers and there is no padding
within or between structs. Shorts are stored in little-endian
order, low byte first. To assure portability, map accesses them
bytewise.
Fields patchlatitude and patchlongitude tell to what 10-degree
by 10-degree patch of the earth’s surface a segment belongs. Their
values range from –9 to 8 and from –18 to 17, respectively, and
indicate the coordinates of the southeast corner of the patch
in units of 10 degrees.
Each segment of |n| points is connected; consecutive segments
are not necessarily related. Latitude and longitude are measured
in units of 0.0001 radian. If n is negative, then differences
to the first and succeeding points are measured in units of 0.00001
radian. Latitude is counted positive to the north and longitude
positive to the west.
The patches are ordered lexicographically by patchlatitude then
patchlongitude. A printable index to the first segment of each
patch in a file named data is kept in an associated file named
data.x. Each line of an index file contains patchlatitude, patchlongitude
and the byte position of the patch in the map file. Both the map
file and
the index file are ordered by patch latitude and longitude.
|
SEE ALSO
| |
map(7)
The data comes from the World Data Bank I and II and U.S. Government
sources: the Census Bureau, Geological Survey, and CIA.
|
|
|