|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.