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.

          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
          the index file are ordered by patch latitude and longitude.

     Page 1                       Plan 9            (printed 12/22/24)

     MAP(6)                                                     MAP(6)

          Shorts are stored in little-endian order, low byte first,
          regardless of computer architecture.  To assure portability,
          map accesses them bytewise.

     SEE ALSO
          map(7)

     Page 2                       Plan 9            (printed 12/22/24)