MAP(6) MAP(6)
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 pad-
ding 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 seg-
ment 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 seg-
ments 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 mea-
sured in units of 0.00001 radian. Latitude is counted posi-
tive to the north and longitude positive to the west.
The patches are ordered lexicographically by `patchlatitude'
then `patchlongitude'. A printable index to the first seg-
ment of each patch in a file named data is kept in an asso-
ciated file named data.x. Each line of an index file con-
tains `patchlatitude,' `patchlongitude' and the byte posi-
tion of the patch in the map file. Both the map file and
Page 1 Plan 9 (printed 10/24/25)
MAP(6) MAP(6)
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.
Page 2 Plan 9 (printed 10/24/25)