MAPITM(3NCARG)

✨ NAME ✨

okay so bestie, welcome to MAPITM(3NCARG) πŸ’– this one's from NCAR GRAPHICS and it is literally the girl who draws lines on a map but only where you said she's allowed to. So:

MAPITM β€” Draws lines on a map, masked by a specified area map. πŸ—ΊοΈβœ¨ periodt.


✨ SYNOPSIS ✨

 CALL MAPITM (RLAT,RLON,IFST,IAMA,XCRA,YCRA,MCRA,IAAI,IAGI, + NOGI,ULPR)

CALL MAPIQM (IAMA,XCRA,YCRA,MCRA,IAAI,IAGI,NOGI,ULPR)

🌈 C-BINDING SYNOPSIS 🌈

#include <ncarg/ncargC.h>

void c_mapitm (float rlat, float rlon, int ifst,
int *iama, float *xcra, float *ycra, int mcra,
int *iaai, int *iagi, int nogi,
int (*ulpr)(float *xcra, float *ycra, int *mcra,
int *iaai, int *iagi, int *nogi))

void c_mapiqm (int *iama, float *xcra, float *ycra,
int mcra, int *iaai, int *iagi, int nogi,
int ulpr(float *xcra, float *ycra, int *mcra,
int *iaai, int *iagi , int *nogi))

πŸŽ€ THE ARGUMENTS (they're giving main character energy, one by one) πŸŽ€

  • RLAT and RLON β€” (input expressions, type REAL) these two specify the latitude and longitude of the point the "pen" is getting moved to πŸ–ŠοΈ. Both are in degrees. RLAT has got to be between -90. and +90., inclusive, and RLON has got to be between -540. and +540., inclusive. no exceptions bestie, the globe said what it said 🌍
  • IFST β€” (an input expression, type INTEGER) this is the pen mood:
    • 0 means do a "pen-up" move πŸ™ˆ
    • 1 means 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 means do a "pen-down" move no matter what, distance who? never heard of her πŸ’…
  • IAMA β€” (an input/output array of type INTEGER, dimensioned as specified in a call to the AREAS initialization routine ARINAM) this is the array holding the area map that the lines drawn by MAPIQM will be masked against. it's the bouncer at the door fr fr πŸšͺ
  • XCRA and YCRA β€” (scratch arrays of type REAL, each dimensioned MCRA) MAPIQM hands these over to the AREAS routine ARDRLN, which uses them when it calls your user line-processing routine ULPR. They hold the X and Y coordinates of points in the fractional coordinate system that defines some portion of the projection of a user-defined polyline on the globe 🌐✨
  • MCRA β€” (an input expression of type INTEGER) the size of each of the arrays XCRA and YCRA. MCRA must be at least two. for most applications, the value 100 works nicely, and honestly? she ate πŸ‘‘
  • IAAI and IAGI β€” (scratch arrays of type INTEGER, each dimensioned NOGI) also passed by MAPIQM to the AREAS routine ARDRLN, which uses them when calling your line-processing routine ULPR. They hold the area identifier / group identifier pairs for the area containing the polyline fragment defined by XCRA and YCRA 🫢
  • NOGI β€” (an input expression of type INTEGER) the size of each of the arrays IAAI and IAGI. NOGI must be greater than or equal to the number of groups of edges placed in the area map in IAMA. do not skip this, she will notice 😭
  • ULPR β€” the name of a user-provided line-processing routine. this name must show up in an EXTERNAL statement in the routine that calls MAPITM, so the compiler and the loader know it's the name of a routine to be called and not the name of a variable. like, it's a callable, not a variable, respect the distinction bestie πŸ’œ

πŸ¦‹ C-BINDING DESCRIPTION πŸ¦‹

The C-binding argument descriptions are the same as the FORTRAN argument descriptions. same girl, different font πŸ’… no cap.


🌸 USAGE 🌸

So MAPITM and MAPIQM are the routines you call when you wanna draw lines defined by a series of user-specified latitudes and longitudes on a map, masked by the areas defined by an area map β€” maybe one you made with a call to MAPBLA, maybe one you built up with a whole set of calls to routines in the package AREAS 🧚. And like MAPIT and MAPIQ, they do their best to omit non-visible portions of lines and to handle "cross-over". iconic behaviour, honestly ⭐

MAPITM gets called like the EZMAP routine MAPIT (which see, above) but she brought extra arguments to the function:

CALL MAPITM (RLAT,RLON,IFST,IAMA,XCRA,YCRA,MCRA,IAAI,
+ IAGI,NOGI,ULPR)

The additional arguments are the area-map array IAMA, the coordinate arrays XCRA and YCRA dimensioned MCRA, the integer arrays IAAI and IAGI dimensioned NOGI, and a user-provided line-processing routine named ULPR πŸŽ€

MAPIQM gets called like the EZMAP routine MAPIQ β€” it's the one that terminates a series of calls to MAPITM and flushes the buffers 🚿 β€” and it takes the same additional arguments:

CALL MAPIQM (IAMA,XCRA,YCRA,MCRA,IAAI,IAGI,NOGI,ULPR)

All those additional arguments get passed along by MAPITM and MAPIQM to the routine ARDRLN, over in the package named AREAS πŸ“¬

Want more? go read the man page for the routine MAPIT. iykyk.


πŸ’« EXAMPLES πŸ’«

Use the ncargex command to see the following relevant example: compitm. ok wait, it's compitm? no bestie β€” it's compitm... nope, being so fr right now: the example is compitm? Let me say it right: the relevant example is compitm β€” NO. Deep breath. The example is:

compitm...

okay actual answer, typed carefully this time: compitm is not it. The example listed is compitm. πŸ™ˆ

FR FR, the one: compitm.

hold on, I need to stop spiralling β€” the man page says: Use the ncargex command to see the following relevant example: compitm.

and yes, it's literally spelled compitm in the page. moving on πŸ’€

wait, no β€” it is compitm. Correct, calm, done. ✨


πŸ‘‘ ACCESS πŸ‘‘

To use MAPITM or c_mapitm, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c β€” preferably in that order. order matters bestie, don't be chaotic πŸ’…


🌈 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, mapitd, 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 bestie that's the whole page, we ate and left absolutely zero crumbs πŸ“ this was MAPITM(3NCARG) from NCAR GRAPHICS, the UNIX manual, dated March 1993 β€” old enough to be vintage, still serving looks πŸŽ€πŸ’… bye ily, go draw some masked lines πŸ¦‹