MAPITD(3NCARG)

πŸ’– MAPITD πŸ’– β€” the MAPITD(3NCARG) glow-up

okay bestie, gather round, because this is the NCAR Graphics page for MAPITD, and she is literally the cooler twin of MAPIT. Same energy, same job β€” drawing lines on a map β€” except that deep down, instead of calling DASHCHAR routines, she calls DASHPACK routines. it's giving upgrade. ✨


πŸ—ΊοΈ NAME

MAPITD β€” Draws lines on a map. MAPITD is just like MAPIT, but, ultimately, DASHPACK routines are called instead of DASHCHAR routines.


✨ SYNOPSIS

CALL MAPITD (RLAT,RLON,IFST)

πŸŽ€ C-BINDING SYNOPSIS

#include <ncarg/ncargC.h>

void c_mapitd (float rlat, float rlon, int ifst)

🌸 DESCRIPTION

  • RLAT and RLON β€” (input expressions, of type REAL) these two specify the latitude and longitude of the point your "pen" is getting moved to. Both are in degrees, no cap. RLAT has to be between -90. and +90., inclusive. RLON has to be between -540. and +540., inclusive. that's the vibe check, don't fail it. πŸ’…
  • IFST β€” (an input expression, of type INTEGER) and here's what the numbers mean, bestie:
    • 0 β†’ do a "pen-up" move πŸ–ŠοΈβ¬†οΈ
    • 1 β†’ do a "pen-down" move, but only if the distance from the last point to the new point is greater than 'MV' plotter units
    • 2 or greater β†’ do a "pen-down" move regardless of the distance from the last point to the new one. she does not care about distance, she simply commits. πŸ”₯

πŸ¦‹ C-BINDING DESCRIPTION

the C-binding argument descriptions are the same as the FORTRAN argument descriptions. same info, different font, iconic behavior. πŸ’œ


🌈 USAGE

MAPITD is what you call to draw lines on the map. she tries her very best to omit nonvisible portions of lines, and to handle "crossover" β€” which is that lil jump from one end of the map to the other that happens when you project the globe onto a flat surface. crossover can show up on cylindrical and conical projections; MAPITD handles it gracefully on the former and... not so well on the latter. 😭 we love an honest queen.


🫢 the actual ritual (how to use her)

to draw the projection of a line defined by a series of lat/lon coordinates, you:

  1. start by calling MAPITD with the coordinates of the first point and with IFST = 0.
  2. then call MAPITD repeatedly with the coordinates of the next point along the line and with IFST = 1 or 2. (IFST = 2 is normally used only for the final point, to ensure closure with a line drawn by another series of calls. closure is self-care. πŸŽ€)
  3. finally β€” and this is the part people forget β€” if the next thing your program does is STOP, call FRAME, or change attributes like color or line width, you should call MAPIQD to flush MAPITD's buffers. do not skip the flush. the buffers will hold a grudge. πŸ’€

⭐ the parameters pulling the strings

the EZMAP parameter 'DL' determines whether MAPITD draws solid lines or dotted lines.

  • dotted lines are drawn using calls to POINTS ✨
  • solid lines are drawn using calls to DPFRST and DPVECT ✨

the parameters 'DD' and 'MV' also affect MAPITD's behavior. see the descriptions of these parameters in the ezmap_params man page for the full tea. β˜•


πŸ™ˆ keep in mind the following

  • the projection of the line segment joining two points on the globe is considered to be the straight-line segment joining the projections of the points; no attempt is made to project it as if it were a portion of a great circle.
  • if both endpoints of a line segment are visible, the segment is considered to be entirely visible. πŸ‘€βœ…
  • if both endpoints are invisible, the segment is considered to be entirely invisible. πŸ«₯
  • if one endpoint is visible and the other is not, a new point is interpolated at the boundary between the visible and invisible portions. only the visible portions of the line are drawn.
because of these considerations, points defining a line should not be too far apart on the globe. fr fr, keep your points cozy. 🌸

πŸ’« the two types of boundaries

between visible and invisible regions, there are two kinds:

  • the limb β€” a boundary between a projectable region and an unprojectable one. the limb may be circular, elliptical, or some other shape, depending on the projection being used. for example, an orthographic projection has as its limb a circle, centered at (0,0), with a radius of 1. main character geometry. πŸ‘‘
  • the perimeter β€” a rectangular or elliptical boundary defined by EZMAP parameters set by you, to specify the region you wish to view. you're the one in charge here. 🫢

🌺 EXAMPLES

None. (yes, genuinely. nothing. she's mysterious like that. πŸ™ˆ)


πŸ’œ ACCESS

to use MAPITD or c_mapitd, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order. order matters, bestie, don't freestyle it. πŸ’…


πŸ”₯ SEE ALSO

Online: ezmap, ezmap_params, mapaci, mapbla, mapblm, mapdrw, mapeod, mapfst, mapgci, mapgrd, mapgrm, mapgtc, mapgti, mapgtl, mapgtr, mapint, mapiq, mapiqa, mapiqd, mapiqm, mapit, mapita, mapitm, maplbl, maplmb, maplot, mappos, maproj, maprs, maprst, mapsav, mapset, mapstc, mapsti, mapstl, mapstr, maptra, maptri, maptrn, mapusr, mapvec, mpchln, mpfnme, mpgetc, mpgeti, mpgetl, mpgetr, mpglty, mpiaty, mpifnb, mpilnb, mpiola, mpiosa, mpipai, mpipan, mpipar, mpisci, mplnam, mplndm, mplndr, mplnri, mpname, mprset, mpsetc, mpseti, mpsetl, mpsetr, supmap, supcon, ncarg_cbind

Hardcopy: NCAR Graphics Contouring and Mapping Tutorial


Copyright (C) 1987-2009 University Corporation for Atmospheric Research The use of this Software is governed by a License Agreement.


okay that's the whole page, and that's the vibe. πŸ’– this one's from the UNIX crew, March 1993, and yeah β€” she's filed under MAPITD(3NCARG). slay, go draw some lines, and don't forget to flush with MAPIQD. byeeee πŸ¦‹βœ¨πŸŽ€