Annotation of researchv10no/cmd/map/export/map.man, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: 
                      4:      MAP(7)                                                     MAP(7)
                      5: 
                      6: 
                      7: 
                      8:      NAME
                      9:           map - draw maps on various projections
                     10: 
                     11:      SYNOPSIS
                     12:           map _p_r_o_j_e_c_t_i_o_n [ _p_a_r_a_m ... ] [ _o_p_t_i_o_n ... ]
                     13: 
                     14:      DESCRIPTION
                     15:           _M_a_p prepares on the standard output a map suitable for dis-
                     16:           play by any plotting filter described in _p_l_o_t(1).  A menu of
                     17:           projections is produced in response to an unknown
                     18:           _p_r_o_j_e_c_t_i_o_n.  For the meanings of _p_a_r_a_m_s pertinent to partic-
                     19:           ular projections see _p_r_o_j(3).
                     20: 
                     21:           The default data for _m_a_p are world shorelines.  Option -f
                     22:           accesses the higher-resolution World Data Bank II.
                     23: 
                     24:           -f [ _f_e_a_t_u_r_e ... ]
                     25:                Features are ranked 1 (default) to 4 from major to
                     26:                minor.  Higher-numbered ranks include all lower-
                     27:                numbered ones.  Features are
                     28: 
                     29:                shore[1-4]    seacoasts, lakes, and islands; in the
                     30:                              absence of -m, option -f automatically
                     31:                              includes shore1
                     32:                ilake[1-2]    intermittent lakes
                     33:                river[1-4]    rivers
                     34:                iriver[1-3]   intermittent rivers
                     35:                canal[1-3]    3=irrigation canals
                     36:                glacier
                     37:                iceshelf[12]
                     38:                reef
                     39:                saltpan[12]
                     40:                country[1-3]  2=disputed boundaries, 3=indefinite
                     41:                              boundaries
                     42:                state         states and provinces (US and Canada only)
                     43: 
                     44:           In other options coordinates are in degrees, with north lat-
                     45:           itude and west longitude counted as positive.
                     46: 
                     47:           -l _S _N _E _W
                     48:                Set the southern and northern latitude and the eastern
                     49:                and western longitude limits.  Missing arguments are
                     50:                filled out from the list -90, 90, -180, 180.
                     51: 
                     52:           -k _S _N _E _W
                     53:                Set the scale as if for a map with limits -l _S _N _E _W
                     54:                and no -w option.
                     55: 
                     56:           -o _l_a_t _l_o_n _r_o_t
                     57:                Orient the map in a nonstandard position.  Imagine a
                     58:                transparent gridded sphere around the globe.  Turn the
                     59:                overlay about the North Pole so that the Prime Meridian
                     60: 
                     61: 
                     62: 
                     63:      Page 1                    Tenth Edition          (printed 2/9/93)
                     64: 
                     65: 
                     66: 
                     67: 
                     68: 
                     69: 
                     70:      MAP(7)                                                     MAP(7)
                     71: 
                     72: 
                     73: 
                     74:                (longitude 0) of the overlay coincides with meridian
                     75:                _l_o_n on the globe.  Then tilt the North Pole of the
                     76:                overlay along its Prime Meridian to latitude _l_a_t on the
                     77:                globe.  Finally again turn the overlay about its `North
                     78:                Pole' so that its Prime Meridian coincides with the
                     79:                previous position of meridian _r_o_t.  Project the map in
                     80:                the standard form appropriate to the overlay, but pre-
                     81:                senting information from the underlying globe.  Missing
                     82:                arguments are filled out from the list 90, 0, 0.  In
                     83:                the absence of -o, the orientation is 90, 0, _m, where _m
                     84:                is the middle of the longitude range.
                     85: 
                     86:           -w _S _N _E _W
                     87:                Window the map by the specified latitudes and longi-
                     88:                tudes in the tilted, rotated coordinate system.  Miss-
                     89:                ing arguments are filled out from the list -90, 90,
                     90:                -180, 180.  (It is wise to give an encompassing -l
                     91:                option with -w.  Otherwise for small windows computing
                     92:                time varies inversely with area!)
                     93: 
                     94:           -d _n For speed, plot only every _nth point.
                     95: 
                     96:           -r   Reverse left and right (good for star charts and
                     97:                inside-out views).
                     98:           -s1
                     99:           -s2  Superpose.  Outputs for a -s1 map (no closing) and a
                    100:                -s2 map (no opening) may be concatenated.
                    101: 
                    102:           -g _d_l_a_t _d_l_o_n _r_e_s
                    103:                Grid spacings are _d_l_a_t, _d_l_o_n. Zero spacing means no
                    104:                grid.  Missing _d_l_a_t is taken to be zero.  Missing _d_l_o_n
                    105:                is taken the same as _d_l_a_t.  Grid lines are drawn to a
                    106:                resolution of _r_e_s (28o9 or less by default).  In the
                    107:                absence of -g, grid spacing is 108o9.
                    108: 
                    109:           -p _l_a_t _l_o_n _e_x_t_e_n_t
                    110:                Position the point _l_a_t, _l_o_n at the center of a square
                    111:                plotting area.  Scale the map so that a side of the
                    112:                square is _e_x_t_e_n_t times the size of one degree of lati-
                    113:                tude at the center.  By default maps are scaled and
                    114:                positioned to fit within the plotting area.  An _e_x_t_e_n_t
                    115:                overrides option -k.
                    116: 
                    117:           -c _x _y _r_o_t
                    118:                After all other positioning and scaling operations,
                    119:                rotate the image _r_o_t degrees counterclockwise about the
                    120:                center and move the center to position _x, _y, of the
                    121:                plotting area, whose nominal extent is -1_<x_<1, -1_<y_<1.
                    122:                The map is clipped to this area.  Missing arguments are
                    123:                taken to be 0.
                    124: 
                    125:           -m [ _f_i_l_e ... ]
                    126: 
                    127: 
                    128: 
                    129:      Page 2                    Tenth Edition          (printed 2/9/93)
                    130: 
                    131: 
                    132: 
                    133: 
                    134: 
                    135: 
                    136:      MAP(7)                                                     MAP(7)
                    137: 
                    138: 
                    139: 
                    140:                Use map data from named files.  If no files are named,
                    141:                omit map data.  Files that cannot be found directly are
                    142:                looked up a standard directory, which contains, in
                    143:                addition to the data for -f,
                    144: 
                    145:                world     World Data Bank I from CIA (default)
                    146:                states    US map from Census Bureau
                    147:                counties  US map from Census Bureau
                    148: 
                    149:                The environment variables MAP and MAPDIR change the
                    150:                default map and default directory.
                    151: 
                    152:           -b [ _l_a_t_1 _l_o_n_1 _l_a_t_2 _l_o_n_2 ... ]
                    153:                Suppress the drawing of the normal boundary (defined by
                    154:                options -l and -w).  Coordinates, if present, define
                    155:                the vertices of a polygon to which the map is clipped.
                    156:                If only two vertices are given, they are taken to be
                    157:                the diagonal of a rectangle.  To draw the polygon, give
                    158:                its vertices as a -u track.
                    159: 
                    160:           -t _f_i_l_e ...
                    161:                The arguments name ASCII files that contain lists of
                    162:                points, given as latitude-longitude pairs in degrees.
                    163:                If the first file is named `-', the standard input is
                    164:                taken instead.  The points of each list are plotted as
                    165:                connected `tracks'.
                    166: 
                    167:                Points in a track file may be followed by label
                    168:                strings.  A label breaks the track.  A label may be
                    169:                prefixed by ", `:', or `!'  and is terminated by a new-
                    170:                line.  An unprefixed string or a string prefixed with "
                    171:                is displayed at the designated point.  The first word
                    172:                of a `:' or `!'  string names a special symbol (see
                    173:                option -y).  An optional numerical second word is a
                    174:                scale factor for the size of the symbol, 1 by default.
                    175:                A `:' symbol is aligned with its top to the north; a
                    176:                `!'  symbol is aligned vertically on the page.
                    177: 
                    178:           -u _f_i_l_e ...
                    179:                Same as -t, except the tracks are unbroken lines.  (-t
                    180:                tracks are dot-dash lines.)
                    181: 
                    182:           -y _f_i_l_e
                    183:                The _f_i_l_e contains _p_l_o_t(5)-style data for `:' or `!'
                    184:                labels in -t or -u files.  Each symbol is defined by a
                    185:                comment :_n_a_m_e then a sequence of `m' and `v' commands.
                    186:                Coordinates (0,0) fall on the plotting point.  Default
                    187:                scaling is as if the nominal plotting range were `ra -1
                    188:                -1 1 1'; `ra' commands in _f_i_l_e change the scaling.
                    189: 
                    190:      EXAMPLES
                    191:           map perspective 1.025 -o 40.75 74
                    192: 
                    193: 
                    194: 
                    195:      Page 3                    Tenth Edition          (printed 2/9/93)
                    196: 
                    197: 
                    198: 
                    199: 
                    200: 
                    201: 
                    202:      MAP(7)                                                     MAP(7)
                    203: 
                    204: 
                    205: 
                    206:                A view looking down on New York from 100 miles (0.025
                    207:                of the 4000-mile earth radius).  The job can be done
                    208:                faster by limiting the map so as not to `plot' the
                    209:                invisible part of the world: `map perspective 1.025 -o
                    210:                40.75 74 -l 20 60 30 100'.  A circular border can be
                    211:                forced by adding option `-w 77.33'.  (Latitude 77.338o9
                    212:                falls just inside a polar cap of opening angle arc-
                    213:                cos(1/1.025) = 12.68048o9.)
                    214: 
                    215:           map mercator -o 49.25 -106 180
                    216:                A map whose `equator' is a great circle pasing east-
                    217:                west through New York.  The pole of the map is placed
                    218:                908o9 away (40.75+49.25=90) on the other side of the
                    219:                earth.  A 1808o9 twist around the pole of the map
                    220:                arranges that the Prime Meridian of the map runs from
                    221:                the pole of the map over the North Pole to New York
                    222:                instead of down the back side of the earth.  The same
                    223:                effect can be had from map mercator -o 130.75 74
                    224: 
                    225:           map albers 28 45 -l 20 50 60 130 -m states
                    226:                A customary curved-latitude map of the United States.
                    227: 
                    228:           map albers 28 45 -l 20 50 60 130 -y yfile -t tfile
                    229:                An example of tracks, labels, and symbols.  Arrows at
                    230:                New York and Miami are 8% and 12% as long as the map is
                    231:                wide.  The contents of `yfile' and `tfile' are
                    232:                ra -50 -50 50 50              25.77 80.20 :arrow 12
                    233:                :arrow                        25.77  80.20 Miami
                    234:                m -1 0                        25.77  80.20
                    235:                v 0 0                         35.00  74.02
                    236:                v -.6 .3                      40.67  74.02 !arrow 8
                    237:                m -.6 -.3                     40.67  74.02 " New York
                    238:                v 0 0                         34.05 118.25 Los Angeles
                    239: 
                    240:           map harrison 2 30 -l -90 90 120 240 -o 90 0 0
                    241:                A fan view covering 608o9 on either
                    242:                side of the Date Line, as seen from one earth radius
                    243:                above the North Pole gazing at the
                    244:                earth's limb, which is 308o9 off vertical.
                    245:                Option
                    246:                -o
                    247:                overrides the default
                    248:                -o 90 0 180,
                    249:                which would rotate
                    250:                the scene to behind the observer.
                    251: 
                    252:      FILES
                    253:           All files in directory $MAPDIR
                    254: 
                    255:           [1-4]??   World Data Bank II for option -f
                    256:           world,states,counties
                    257:                     default and other maps for option -m
                    258: 
                    259: 
                    260: 
                    261:      Page 4                    Tenth Edition          (printed 2/9/93)
                    262: 
                    263: 
                    264: 
                    265: 
                    266: 
                    267: 
                    268:      MAP(7)                                                     MAP(7)
                    269: 
                    270: 
                    271: 
                    272:           *.x       map indexes
                    273:           map       the program proper
                    274: 
                    275:      SEE ALSO
                    276:           _m_a_p(5), _p_r_o_j(3), _p_l_o_t(1)
                    277: 
                    278:      DIAGNOSTICS
                    279:           `Map seems to be empty'-a coarse survey found zero extent
                    280:           within the -l and -w bounds; for maps of limited extent the
                    281:           grid resolution, _r_e_s, or the limits may have to be refined.
                    282: 
                    283:      BUGS
                    284:           The syntax of range specifications in -y files differs from
                    285:           that in options.
                    286:           Windows (option -w) cannot cross the Date Line.
                    287:           No borders appear along edges arising from visibility lim-
                    288:           its.
                    289:           Segments that cross a border are dropped, not clipped.
                    290:           Certain very long line segments are dropped on the assump-
                    291:           tion that they were intended to go the other way around the
                    292:           world.
                    293:           Automatic scaling may miss the extreme points of peculiarly
                    294:           shaped maps; use option -p to recover.
                    295:           Although _m_a_p draws grid lines dotted and -t tracks dot-
                    296:           dashed, many plotting filters cannot cope and make them
                    297:           solid.
                    298: 
                    299: 
                    300: 
                    301: 
                    302: 
                    303: 
                    304: 
                    305: 
                    306: 
                    307: 
                    308: 
                    309: 
                    310: 
                    311: 
                    312: 
                    313: 
                    314: 
                    315: 
                    316: 
                    317: 
                    318: 
                    319: 
                    320: 
                    321: 
                    322: 
                    323: 
                    324: 
                    325: 
                    326: 
                    327:      Page 5                    Tenth Edition          (printed 2/9/93)
                    328: 
                    329: 
                    330: 
                    331: 
                    332: 
                    333: 
                    334:      PROJ(3X)                    (bowell)                     PROJ(3X)
                    335: 
                    336: 
                    337: 
                    338:      NAME
                    339:           orient, normalize - map projections
                    340: 
                    341:      SYNOPSIS
                    342:           orient(lat, lon, rot)
                    343:           double lat, lon, rot;
                    344: 
                    345:           normalize(p)
                    346:           struct place *p;
                    347: 
                    348:      DESCRIPTION
                    349:           Users of _m_a_p(7) may skip to the description of `Projection
                    350:           generators' below.
                    351: 
                    352:           The functions _o_r_i_e_n_t and _n_o_r_m_a_l_i_z_e plus a collection of map
                    353:           projection generators are loaded by option -lmap of _l_d(1).
                    354:           Most of them calculate maps for a spherical earth.  Each map
                    355:           projection is available in one standard form, into which
                    356:           data must be normalized for transverse or nonpolar projec-
                    357:           tions.
                    358: 
                    359:           Each standard projection is displayed with the Prime Merid-
                    360:           ian (longitude 0) being a straight vertical line, along
                    361:           which North is up.  The orientation of nonstandard projec-
                    362:           tions is specified by _o_r_i_e_n_t. Imagine a transparent gridded
                    363:           sphere around the globe.  First turn the overlay about the
                    364:           North Pole so that the Prime Meridian (longitude 0) of the
                    365:           overlay coincides with meridian _l_o_n on the globe.  Then tilt
                    366:           the North Pole of the overlay along its Prime Meridian to
                    367:           latitude _l_a_t on the globe.  Finally again turn the overlay
                    368:           about its `North Pole' so that its Prime Meridian coincides
                    369:           with the previous position of (the overlay's) meridian _r_o_t.
                    370:           Project the desired map in the standard form appropriate to
                    371:           the overlay, but presenting information from the underlying
                    372:           globe.  It is not useful to use _o_r_i_e_n_t without using
                    373:           _n_o_r_m_a_l_i_z_e.
                    374: 
                    375:           _N_o_r_m_a_l_i_z_e converts latitude-longitude coordinates on the
                    376:           globe to coordinates on the overlaid grid.  The coordinates
                    377:           and their sines and cosines are input to _n_o_r_m_a_l_i_z_e in a
                    378:           place structure.  Transformed coordinates and their sines
                    379:           and cosines are returned in the same structure.
                    380: 
                    381:                   struct place {
                    382:                           double radianlat, sinlat, coslat;
                    383:                           double radianlon, sinlon, coslon;
                    384:                   };
                    385: 
                    386:           The projection generators return a pointer to a function
                    387:           that converts normalized coordinates to _x-_y coordinates for
                    388:           the desired map, or 0 if the required projection is not
                    389:           available.  The returned function is exemplified by _p_r_o_j in
                    390: 
                    391: 
                    392: 
                    393:      Page 6                    Tenth Edition          (printed 2/9/93)
                    394: 
                    395: 
                    396: 
                    397: 
                    398: 
                    399: 
                    400:      PROJ(3X)                    (bowell)                     PROJ(3X)
                    401: 
                    402: 
                    403: 
                    404:           this example:
                    405: 
                    406:                   struct place pt;
                    407:                   int (*proj)() = mercator();
                    408:                   double x, y;
                    409: 
                    410:                   orient(45.0, 30.0, 180.0);      /* set coordinate rotation */
                    411: 
                    412:                   . . .                           /* fill in the pt structure */
                    413:                   normalize(&pt);                 /* rotate coordinates */
                    414:                   if((*proj)(&pt, &x, &y) > 0)    /* project onto x,y plane */
                    415:                           plot(x, y);
                    416: 
                    417:           The projection function (*proj)() returns 1 for a good
                    418:           point, 0 for a point on a wrong sheet (e.g. the back of the
                    419:           world in a perspective projection), and -1 for a point that
                    420:           is deemed unplottable (e.g. points near the poles on a Mer-
                    421:           cator projection).
                    422: 
                    423:           Scaling may be determined from the _x-_y coordinates of
                    424:           selected points.  Latitudes and longitudes are measured in
                    425:           degrees for ease of specification for _o_r_i_e_n_t and the projec-
                    426:           tion generators but in radians for ease of calculation for
                    427:           _n_o_r_m_a_l_i_z_e and _p_r_o_j. In either case latitude is measured pos-
                    428:           itive north of the equator, and longitude positive west of
                    429:           Greenwich.  Radian longitude should be limited to the range
                    430:           -_p_i <= _l_o_n < _p_i.
                    431: 
                    432:         Projection generators
                    433:           Equatorial projections centered on the Prime Meridian (lon-
                    434:           gitude 0).  Parallels are straight horizontal lines.
                    435:                mercator() equally spaced straight meridians, confor-
                    436:                mal, straight compass courses
                    437:                sinusoidal() equally spaced parallels, equal-area, same
                    438:                as _b_o_n_n_e(_0)
                    439:                cylequalarea(lat0) equally spaced straight meridians,
                    440:                equal-area, true scale on _l_a_t_0
                    441:                cylindrical() central projection on tangent cylinder
                    442:                rectangular(lat0) equally spaced parallels, equally
                    443:                spaced straight meridians, true scale on _l_a_t_0
                    444:                gall(lat0) parallels spaced stereographically on prime
                    445:                meridian, equally spaced straight meridians, true scale
                    446:                on _l_a_t_0
                    447:                mollweide() (homalographic) equal-area, hemisphere is a
                    448:                circle
                    449: 
                    450:           Azimuthal projections centered on the North Pole.  Parallels
                    451:           are concentric circles.  Meridians are equally spaced radial
                    452:           lines.
                    453:                azequidistant() equally spaced parallels, true dis-
                    454:                tances from pole
                    455:                azequalarea() equal-area
                    456: 
                    457: 
                    458: 
                    459:      Page 7                    Tenth Edition          (printed 2/9/93)
                    460: 
                    461: 
                    462: 
                    463: 
                    464: 
                    465: 
                    466:      PROJ(3X)                    (bowell)                     PROJ(3X)
                    467: 
                    468: 
                    469: 
                    470:                gnomonic() central projection on tangent plane,
                    471:                straight great circles
                    472:                perspective(dist) viewed along earth's axis _d_i_s_t earth
                    473:                radii from center of earth
                    474:                orthographic() viewed from infinity
                    475:                stereographic() conformal, projected from opposite pole
                    476:                laue() _r_a_d_i_u_s = tan(2x_c_o_l_a_t_i_t_u_d_e), used in xray crys-
                    477:                tallography
                    478:                fisheye(n) stereographic seen from just inside medium
                    479:                with refractive index n
                    480:                newyorker(r) _r_a_d_i_u_s = log(_c_o_l_a_t_i_t_u_d_e/_r): extreme `fish-
                    481:                eye' view from pedestal of radius _r degrees
                    482: 
                    483:           Polar conic projections symmetric about the Prime Meridian.
                    484:           Parallels are segments of concentric circles.  Except in the
                    485:           Bonne projection, meridians are equally spaced radial lines
                    486:           orthogonal to the parallels.
                    487:                conic(lat0) central projection on cone tangent at _l_a_t_0
                    488:                simpleconic(lat0,lat1) equally spaced parallels, true
                    489:                scale on _l_a_t_0 and _l_a_t_1
                    490:                lambert(lat0,lat1) conformal, true scale on _l_a_t_0 and
                    491:                _l_a_t_1
                    492:                albers(lat0,lat1) equal-area, true scale on _l_a_t_0 and
                    493:                _l_a_t_1
                    494:                bonne(lat0) equally spaced parallels, equal-area, par-
                    495:                allel _l_a_t_0 developed from tangent cone
                    496: 
                    497:           Projections with bilateral symmetry about the Prime Meridian
                    498:           and the equator.
                    499:                polyconic() parallels developed from tangent cones,
                    500:                equally spaced along Prime Meridian
                    501:                aitoff() equal-area projection of globe onto 2-to-1
                    502:                ellipse, based on _a_z_e_q_u_a_l_a_r_e_a
                    503:                lagrange() conformal, maps whole sphere into a circle
                    504:                bicentric(lon0) points plotted at true azimuth from two
                    505:                centers on the equator at longitudes +__l_o_n_0, great cir-
                    506:                cles are straight lines (a stretched gnomonic projec-
                    507:                tion)
                    508:                elliptic(lon0) points are plotted at true distance from
                    509:                two centers on the equator at longitudes +__l_o_n_0
                    510:                globular() hemisphere is circle, circular arc meridians
                    511:                equally spaced on equator, circular arc parallels
                    512:                equally spaced on 0- and 90-degree meridians
                    513:                vandergrinten() sphere is circle, meridians as in
                    514:                _g_l_o_b_u_l_a_r, circular arc parallels resemble _m_e_r_c_a_t_o_r
                    515: 
                    516:           Doubly periodic conformal projections.
                    517:                guyou() W and E hemispheres are square
                    518:                square() world is square with Poles at diagonally oppo-
                    519:                site corners
                    520:                tetra() map on tetrahedron with edge tangent to Prime
                    521:                Meridian at S Pole, unfolded into equilateral triangle
                    522: 
                    523: 
                    524: 
                    525:      Page 8                    Tenth Edition          (printed 2/9/93)
                    526: 
                    527: 
                    528: 
                    529: 
                    530: 
                    531: 
                    532:      PROJ(3X)                    (bowell)                     PROJ(3X)
                    533: 
                    534: 
                    535: 
                    536:                hex() world is hexagon centered on N Pole, N and S
                    537:                hemispheres are equilateral triangles
                    538: 
                    539:           Miscellaneous projections.
                    540:                harrison(dist,angle) oblique perspective from above the
                    541:                North Pole, _d_i_s_t earth radii from center of earth,
                    542:                looking along the Date Line _a_n_g_l_e degrees off vertical
                    543:                trapezoidal(lat0,lat1) equally spaced parallels,
                    544:                straight meridians equally spaced along parallels, true
                    545:                scale at _l_a_t_0 and _l_a_t_1 on Prime Meridian
                    546: 
                    547:           Retroazimuthal projections.  At every point the angle
                    548:           between vertical and a straight line to `Mecca', latitude
                    549:           _l_a_t_0 on the prime meridian, is the true bearing of Mecca.
                    550:                mecca(lat0) equally spaced vertical meridians
                    551:                homing(lat0) distances to `Mecca' are true
                    552: 
                    553:           Maps based on the spheroid.  Of geodetic quality, these pro-
                    554:           jections do not make sense for tilted orientations.  For
                    555:           descriptions, see corresponding maps above.
                    556:                sp_mercator()
                    557:                sp_albers(lat0,lat1)
                    558: 
                    559:      SEE ALSO
                    560:           _m_a_p(7), _m_a_p(5), _p_l_o_t(3)
                    561: 
                    562:      BUGS
                    563:           Only one projection and one orientation can be active at a
                    564:           time.
                    565:           The west-longitude-positive convention betrays Yankee chau-
                    566:           vinism.
                    567: 
                    568: 
                    569: 
                    570: 
                    571: 
                    572: 
                    573: 
                    574: 
                    575: 
                    576: 
                    577: 
                    578: 
                    579: 
                    580: 
                    581: 
                    582: 
                    583: 
                    584: 
                    585: 
                    586: 
                    587: 
                    588: 
                    589: 
                    590: 
                    591:      Page 9                    Tenth Edition          (printed 2/9/93)
                    592: 
                    593: 
                    594: 
                    595: 
                    596: 
                    597: 
                    598:      MAP(5)                                                     MAP(5)
                    599: 
                    600: 
                    601: 
                    602:      NAME
                    603:           map - digitized map formats
                    604: 
                    605:      DESCRIPTION
                    606:           Files used by _m_a_p(7) are a sequence of structures of the
                    607:           form:
                    608: 
                    609:           struct {
                    610:                signed char patchlatitude;
                    611:                signed char patchlongitude;
                    612:                short n;
                    613:                union {
                    614:                     struct {
                    615:                          short latitude;
                    616:                          short longitude;
                    617:                     } point[n];
                    618:                     struct {
                    619:                          short latitude;
                    620:                          short longitude;
                    621:                          struct {
                    622:                               signed char latdiff;
                    623:                               signed char londiff;
                    624:                          } point[-n];
                    625:                     } highres;
                    626:                } segment;
                    627:           };
                    628: 
                    629:           Fields `patchlatitude' and `patchlongitude' tell to what
                    630:           10-degree by 10-degree patch of the earth's surface a seg-
                    631:           ment belongs.  Their values range from -9 to 8 and from -18
                    632:           to 17, respectively, and indicate the coordinates of the
                    633:           southeast corner of the patch in units of 10 degrees.
                    634: 
                    635:           Each segment of |n| points is connected; consecutive seg-
                    636:           ments are not necessarily related.  Latitude and longitude
                    637:           are measured in units of 0.0001 radian.  If n is negative,
                    638:           then differences to the first and succeeding points are mea-
                    639:           sured in units of 0.00001 radian.  Latitude is counted posi-
                    640:           tive to the north and longitude positive to the west.
                    641: 
                    642:           The patches are ordered lexicographically by `patchlatitude'
                    643:           then `patchlongitude'.  A printable index to the first seg-
                    644:           ment of each patch in a file named _d_a_t_a is kept in an asso-
                    645:           ciated file named _d_a_t_a.x.  Each line of an index file con-
                    646:           tains `patchlatitude,' `patchlongitude' and the byte posi-
                    647:           tion of the patch in the map file.  Both the map file and
                    648:           the index file are ordered by patch latitude and longitude.
                    649: 
                    650:           Shorts are stored in little-endian order, low byte first,
                    651:           regardless of computer architecture.  To assure portability,
                    652:           _m_a_p accesses them bytewise.
                    653: 
                    654: 
                    655: 
                    656: 
                    657:      Page 10                   Tenth Edition          (printed 2/9/93)
                    658: 
                    659: 
                    660: 
                    661: 
                    662: 
                    663: 
                    664:      MAP(5)                                                     MAP(5)
                    665: 
                    666: 
                    667: 
                    668:      SEE ALSO
                    669:           _m_a_p(7), _p_r_o_j(3)
                    670: 
                    671: 
                    672: 
                    673: 
                    674: 
                    675: 
                    676: 
                    677: 
                    678: 
                    679: 
                    680: 
                    681: 
                    682: 
                    683: 
                    684: 
                    685: 
                    686: 
                    687: 
                    688: 
                    689: 
                    690: 
                    691: 
                    692: 
                    693: 
                    694: 
                    695: 
                    696: 
                    697: 
                    698: 
                    699: 
                    700: 
                    701: 
                    702: 
                    703: 
                    704: 
                    705: 
                    706: 
                    707: 
                    708: 
                    709: 
                    710: 
                    711: 
                    712: 
                    713: 
                    714: 
                    715: 
                    716: 
                    717: 
                    718: 
                    719: 
                    720: 
                    721: 
                    722: 
                    723:      Page 11                   Tenth Edition          (printed 2/9/93)
                    724: 
                    725: 
                    726: 
                    727: 
                    728: 
                    729: 
                    730:      PLOT(5)                                                   PLOT(5)
                    731: 
                    732: 
                    733: 
                    734:      NAME
                    735:           plot - graphics interface
                    736: 
                    737:      DESCRIPTION
                    738:           Files of this format are produced by routines described in
                    739:           _p_l_o_t(3), and are interpreted for various devices by commands
                    740:           described in _p_l_o_t(1).  A graphics file is an ASCII stream of
                    741:           instruction lines.  Arguments are delimited by spaces, tabs,
                    742:           or commas.  Numbers may be floating point.  Punctuation
                    743:           marks (except `:') , spaces, and tabs at the beginning of
                    744:           lines are ignored.  Comments run from `:' to newline.  Extra
                    745:           letters appended to a valid instruction are ignored.  Thus
                    746:           `...line', `line', `li' all mean the same thing.  Arguments
                    747:           are interpreted as follows:
                    748: 
                    749:           1.   If an instruction requires no arguments, the rest of
                    750:                the line is ignored.
                    751: 
                    752:           2.   If it requires a string argument, then all the line
                    753:                after the first field separator is passed as argument.
                    754:                Quote marks may be used to preserve leading blanks.
                    755:                Strings may include newlines represented as `\n'.
                    756: 
                    757:           3.   Between numeric arguments alphabetic characters and
                    758:                punctuation marks are ignored.  Thus line from 5 6 to 7
                    759:                8 draws a line from (5, 6) to (7, 8).
                    760: 
                    761:           4.   Instructions with numeric arguments remain in effect
                    762:                until a new instruction is read.  Such commands may
                    763:                spill over many lines. Thus the following sequence will
                    764:                draw a polygon with vertices (4.5, 6.77), (5.8, 5.6),
                    765:                (7.8, 4.55), and (10.0, 3.6).
                    766: 
                    767:                move 4.5 6.77
                    768:                vec 5.8, 5.6 7.8
                    769:                4.55 10.0, 3.6 4.5, 6.77
                    770: 
                    771:           The instructions are executed in order.  The last designated
                    772:           point in a line, move, rmove, vec, rvec, arc, or point com-
                    773:           mand becomes the `current point' (_X,_Y) for the next command.
                    774:           Each of the following descriptions corresponds to a routine
                    775:           in _p_l_o_t(3).
                    776: 
                    777:         Open & Close
                    778:           o _s_t_r_i_n_g  Open plotting device.  For _t_r_o_f_f, _s_t_r_i_n_g specifies
                    779:                     the size of the plot (default is `6i.')
                    780:           cl        Close plotting device.
                    781: 
                    782:         Basic Plotting Commands
                    783:           e         Start another frame of output or erase the screen
                    784:                     on CRT terminals without scroll.
                    785:           m _x _y     (move) Current point becomes _x _y.
                    786: 
                    787: 
                    788: 
                    789:      Page 12                   Tenth Edition          (printed 2/9/93)
                    790: 
                    791: 
                    792: 
                    793: 
                    794: 
                    795: 
                    796:      PLOT(5)                                                   PLOT(5)
                    797: 
                    798: 
                    799: 
                    800:           rm _d_x _d_y  Current point becomes _X+_d_x _Y+_d_y.
                    801:           poi _x _y   Plot the point _x _y and make it the current point.
                    802:           v _x _y     Draw a vector from the current point to _x _y.
                    803:           rv _d_x _d_y  Draw vector from current point to X+dx Y+dy
                    804:           li _x_1 _y_1 _x_2 _y_2
                    805:                     Draw a line from _x_1 _y_1 to _x_2 _y_2. Make the current
                    806:                     point _x_2 _y_2.
                    807:           t _s_t_r_i_n_g  Place the _s_t_r_i_n_g so that its first character is
                    808:                     centered on the current point (default).  If
                    809:                     _s_t_r_i_n_g begins with `\C' (`\R'), it is centered
                    810:                     (right-adjusted) on the current point.  A back-
                    811:                     slash at the beginning of the string may be
                    812:                     escaped with another backslash.
                    813:           a _x_1 _y_1 _x_2 _y_2 _x_c _y_c _r
                    814:                     Draw a circular arc from _x_1 _y_1 to _x_2 _y_2 with cen-
                    815:                     ter _x_c _y_c and radius _r. If the radius is positive,
                    816:                     the arc is drawn counterclockwise; negative,
                    817:                     clockwise.  The starting point is exact but the
                    818:                     ending point is approximate.
                    819:           ci _x_c _y_c _r
                    820:                     Draw a circle centered at _x_c _y_c with radius _r. If
                    821:                     the range and frame parameters do not specify a
                    822:                     square, the `circle' will be elliptical.
                    823:           di _x_c _y_c _r
                    824:                     Draw a disc centered at _x_c _y_c with radius _r using
                    825:                     the filling color (see cfill below).  Only works
                    826:                     on the 5620; on other devices is the same as
                    827:                     circle.
                    828:           bo _x_1 _y_1 _x_2 _y_2
                    829:                     Draw a box with lower left corner at _x_1 _y_1 and
                    830:                     upper right corner at _x_2 _y_2.
                    831:           sb _x_1 _y_1 _x_2 _y_2
                    832:                     Draw a solid box with lower left corner at _x_1 _y_1
                    833:                     and upper right corner at _x_2 _y_2 using the filling
                    834:                     color (see cfill below).
                    835:           par _x_1 _y_1 _x_2 _y_2 _x_g _y_g
                    836:                     Draw a parabola from _x_1 _y_1 to _x_2 _y_2 `guided' by _x_g
                    837:                     _y_g. The parabola passes through the midpoint of
                    838:                     the line joining _x_g _y_g with the midpoint of the
                    839:                     line joining _x_1 _y_1 and _x_2 _y_2 and is tangent to the
                    840:                     lines from _x_g _y_g to the endpoints.
                    841:           pol { {_x_1 _y_1 ... _x_n _y_n} ... {_X_1 _Y_1 ... _X_m _Y_m} }
                    842:                     Draw polygons with vertices _x_1 _y_1 ... _x_n _y_n and _X_1
                    843:                     _Y_1 ... _X_m _Y_m. If only one polygon is specified,
                    844:                     the inner brackets are not needed.
                    845:           fi { {_x_1 _y_1 ... _x_n _y_n} ... {_X_1 _Y_1 ... _X_m _Y_m} }
                    846:                     Fill a polygon.  The arguments are the same as
                    847:                     those for pol except that the first vertex is
                    848:                     automatically repeated to close each polygon.  The
                    849:                     polygons do not have to be connected.  Enclosed
                    850:                     polygons appear as holes.
                    851:           sp { {_x_1 _y_1 ... _x_n _y_n} ... {_X_1 _Y_1 ... _X_m _Y_m} }
                    852: 
                    853: 
                    854: 
                    855:      Page 13                   Tenth Edition          (printed 2/9/93)
                    856: 
                    857: 
                    858: 
                    859: 
                    860: 
                    861: 
                    862:      PLOT(5)                                                   PLOT(5)
                    863: 
                    864: 
                    865: 
                    866:                     Draw a parabolic spline guided by _x_1 _y_1 ... _x_n _y_n
                    867:                     with simple endpoints.
                    868:           fsp { {_x_1 _y_1 ... _x_n _y_n} ... {_X_1 _Y_1 ... _X_m _Y_m} }
                    869:                     Draw a parabolic spline guided by _x_1 _y_1 ... _x_n _y_n
                    870:                     with double first endpoint.
                    871:           lsp { {_x_1 _y_1 ... _x_n _y_n} ... {_X_1 _Y_1 ... _X_m _Y_m} }
                    872:                     Draw a parabolic spline guided by _x_1 _y_1 ... _x_n _y_n
                    873:                     with double last endpoint.
                    874:           dsp { {_x_1 _y_1 ... _x_n _y_n} ... {_X_1 _Y_1 ... _X_m _Y_m} }
                    875:                     Draw a parabolic spline guided by _x_1 _y_1 ... _x_n _y_n
                    876:                     with double endpoints.
                    877:           csp { {_x_1 _y_1 ... _x_n _y_n} ... {_X_1 _Y_1 ... _X_m _Y_m} }
                    878:           in _f_i_l_e_n_a_m_e
                    879:                     (include) Take commands from _f_i_l_e_n_a_m_e.
                    880:           de _s_t_r_i_n_g { _c_o_m_m_a_n_d_s }
                    881:                     Define _s_t_r_i_n_g as _c_o_m_m_a_n_d_s.
                    882:           ca _s_t_r_i_n_g _s_c_a_l_e
                    883:                     Invoke commands defined as _s_t_r_i_n_g applying _s_c_a_l_e
                    884:                     to all coordinates.
                    885: 
                    886:         Commands Controlling the Environment
                    887:           co _s_t_r_i_n_g Draw lines with color _s_t_r_i_n_g. Available colors
                    888:                     depend on the device.  _S_t_r_i_n_g may contain defini-
                    889:                     tions for several devices separated by `/'.  Col-
                    890:                     ors possible for the various devices are:
                    891:                     pen  black, red, green, blue, Tblack, Tred,
                    892:                          Tgreen, Tblue (assumes default carousel,
                    893:                          T=thick)
                    894:                          1-8 (pen number)
                    895:                          S_n_u_m_b_e_r character size as % of plotting area
                    896:                     troff
                    897:                          F_f_o_n_t
                    898:                          P_p_o_i_n_t _s_i_z_e
                    899:                     2621 H_c_h_a_r_a_c_t_e_r for plotting
                    900: 
                    901:           pe _s_t_r_i_n_g Use _s_t_r_i_n_g as the style for drawing lines.  Not
                    902:                     all pen styles are implemented for all devices.
                    903:                     _S_t_r_i_n_g may contain definitions for several devices
                    904:                     separated by `/'.  The available pen styles are:
                    905: 
                    906:                     pen  solid, dott[ed], short, long, dotd[ashed],
                    907:                          cdash, ddash
                    908:                     4014 solid , dott[ed], short, long, dotd[ashed],
                    909:                          ddash
                    910:                     troff
                    911:                          solid, dash only straight lines will be
                    912:                          dashed
                    913:                     5620 B_n_u_m_b_e_r line thickness
                    914:                     2621 H_c_h_a_r_a_c_t_e_r for plotting
                    915: 
                    916:           cf _s_t_r_i_n_g Color for filling; may contain the definitions for
                    917:                     several devices.  separated by `/'.  The following
                    918: 
                    919: 
                    920: 
                    921:      Page 14                   Tenth Edition          (printed 2/9/93)
                    922: 
                    923: 
                    924: 
                    925: 
                    926: 
                    927: 
                    928:      PLOT(5)                                                   PLOT(5)
                    929: 
                    930: 
                    931: 
                    932:                     colors are available on the specified devices:
                    933: 
                    934:                     pen  black, red, green, blue, Tblack, Tred,
                    935:                          Tgreen, Tblue
                    936:                          1-8 pen number
                    937:                     5620 B_t_e_x_t_u_r_e string with octal numbers for tex-
                    938:                          ture; see _t_y_p_e_s(9.5).  The 16 words of tex-
                    939:                          ture should be followed by one word for the
                    940:                          mode used by _t_e_x_t_u_r_e(); see _b_i_t_b_l_t(9.3).
                    941:                     2621 H_c_h_a_r_a_c_t_e_r for filling
                    942:                     All  /A_d_e_g_r_e_e_s slant of shading lines
                    943:                          /G_n_u_m_b_e_r gap between shading lines (in user
                    944:                          units)
                    945: 
                    946:           ra _x_1 _y_1 _x_2 _y_2
                    947:                     The data will fall between _x_1 _y_1 and _x_2 _y_2. The
                    948:                     plot will be magnified or reduced to fit the
                    949:                     device as closely as possible.
                    950: 
                    951:                     Range settings that exactly fill the plotting area
                    952:                     with unity scaling appear below for devices sup-
                    953:                     ported by the filters of _p_l_o_t(1).  The upper limit
                    954:                     is just outside the plotting area.  In every case
                    955:                     the plotting area is taken to be square; points
                    956:                     outside may be displayable on devices with non-
                    957:                     square faces.
                    958: 
                    959:                     4014      `range 0. 0. 3120. 3120.'
                    960:                     troff     `range 0. 0. 6144. 6144.'
                    961:                     2621      `range 0. 0. 22. 22.'
                    962:                     5620      range dependent on layer size
                    963:                     pen       range dependent on paper size
                    964: 
                    965:           fr _p_x_1 _p_y_1 _p_x_2 _p_y_2
                    966:                     Plot the data in the fraction of the display spec-
                    967:                     ified by _p_x_1 _p_y_1 for lower left corner and _p_x_2 _p_y_2
                    968:                     for upper right corner.  Thus `frame .5 0 1. .5'
                    969:                     plots in the lower right quadrant of the display;
                    970:                     `frame 0. 1. 1. 0.'  uses the whole display but
                    971:                     inverts the _y coordinates.
                    972: 
                    973:           sa        Save the current environment, and move to a new
                    974:                     one.  The new environment inherits the old one.
                    975:                     There are 7 levels.
                    976: 
                    977:           re        Restore previous environment.
                    978: 
                    979:      SEE ALSO
                    980:           _p_l_o_t(1), _p_l_o_t(3), _g_r_a_p_h(1)
                    981: 
                    982: 
                    983: 
                    984: 
                    985: 
                    986: 
                    987:      Page 15                   Tenth Edition          (printed 2/9/93)
                    988: 
                    989: 
                    990: 
                    991: 
                    992: 
                    993: 
                    994:      ROUTE(1)                                                 ROUTE(1)
                    995: 
                    996: 
                    997: 
                    998:      NAME
                    999:           route - map orientations and great circle paths
                   1000: 
                   1001:      SYNOPSIS
                   1002:           route [ -t ]
                   1003: 
                   1004:      DESCRIPTION
                   1005:           _R_o_u_t_e without an option reads from the standard input a
                   1006:           sequence of points, expressed as latitude-longitude pairs.
                   1007:           For each pair of points, say A and B, _r_o_u_t_e prints on the
                   1008:           standard output
                   1009: 
                   1010:           -    A _m_a_p(7) orientation, expressed as a -o option, that
                   1011:                transforms the great circle from A to B into the equa-
                   1012:                tor.  The transformed locations of A and B are located
                   1013:                on the equator at equal distances west and east of the
                   1014:                Prime Meridian.
                   1015: 
                   1016:           -    The transformed coordinates of the two points.
                   1017: 
                   1018:           -    The same information for a map orientation in which
                   1019:                point A appears to the east and B to the west of the
                   1020:                Prime Meridian.
                   1021: 
                   1022:           Under option -t _r_o_u_t_e produces coordinates along the great
                   1023:           circle from A to B in the form of a track for use with _m_a_p
                   1024:           option -t.
                   1025: 
                   1026:           Coordinates are expressed in degrees, with latitude positive
                   1027:           north of the equator and longitude positive west of Green-
                   1028:           wich.
                   1029: 
                   1030:      EXAMPLES
                   1031:           echo 40.75 74 52 0 | route -t | map mercator -l 30 70 -10 80
                   1032:                -t - | plot
                   1033:                Produce a map of the North Atlantic with a great circle
                   1034:                plotted from New York to London.
                   1035: 
                   1036:           route
                   1037:           40.75 74 52 0
                   1038:                Produces the output
                   1039: 
                   1040:                     -o 35.8283 -157.5308 -168.6148
                   1041:                     A -0.0000 24.9943
                   1042:                     B -0.0000 -24.9943
                   1043:                     -o -35.8283 22.4692 168.6149
                   1044:                     A -0.0000 -24.9943
                   1045:                     B 0.0000 24.9943
                   1046: 
                   1047:                From this we derive the following command to draw a
                   1048:                strip map 20 degrees wide along the great circle from
                   1049:                New York to London.  The -w option windows the map in
                   1050: 
                   1051: 
                   1052: 
                   1053:      Page 16                   Tenth Edition          (printed 2/9/93)
                   1054: 
                   1055: 
                   1056: 
                   1057: 
                   1058: 
                   1059: 
                   1060:      ROUTE(1)                                                 ROUTE(1)
                   1061: 
                   1062: 
                   1063: 
                   1064:                the new coordinate system, where the equator runs along
                   1065:                the great circle and the two cities sit at 25W and 25E
                   1066:                on that `equator'.  The -l option avoids surveying the
                   1067:                whole rest of the world for plottable points.
                   1068: 
                   1069:                map mercator -o 35.83 -157.53 -168.61 -w -10 10 -30 30
                   1070:                -l 30 75 -10 80
                   1071: 
                   1072:      SEE ALSO
                   1073:           _m_a_p(7)
                   1074: 
                   1075: 
                   1076: 
                   1077: 
                   1078: 
                   1079: 
                   1080: 
                   1081: 
                   1082: 
                   1083: 
                   1084: 
                   1085: 
                   1086: 
                   1087: 
                   1088: 
                   1089: 
                   1090: 
                   1091: 
                   1092: 
                   1093: 
                   1094: 
                   1095: 
                   1096: 
                   1097: 
                   1098: 
                   1099: 
                   1100: 
                   1101: 
                   1102: 
                   1103: 
                   1104: 
                   1105: 
                   1106: 
                   1107: 
                   1108: 
                   1109: 
                   1110: 
                   1111: 
                   1112: 
                   1113: 
                   1114: 
                   1115: 
                   1116: 
                   1117: 
                   1118: 
                   1119:      Page 17                   Tenth Edition          (printed 2/9/93)
                   1120: 
                   1121: 
                   1122: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.