MAPIQM(3NCARG)

πŸ’– MAPIQM πŸ’–

okay bestie, so this is MAPIQM, and it lives in the NCAR GRAPHICS manual (section 3NCARG, for the record). Think of it as the little "ok we're DONE here" button. ✨


✨ NAME ✨

MAPIQM β€” the routine that terminates a string of calls to its bestie routine, MAPITM. it's giving "closing the group chat" energy. πŸ’…


✨ SYNOPSIS ✨

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

🌈 C-BINDING SYNOPSIS 🌈

#include <ncarg/ncargC.h>

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))

πŸ’œ DESCRIPTION πŸ’œ

okay so here's the whole cast of characters, one by one, no skips:

  • IAMA β€” an input/output array of type INTEGER, dimensioned exactly as you specified back when you called the AREAS initialization routine ARINAM. it's the array holding the area map that the lines drawn by MAPIQM are gonna get masked against. so yeah, it matters. πŸ‘‘
  • XCRA and YCRA β€” scratch arrays of type REAL, each dimensioned MCRA. MAPIQM hands these off 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 defining some portion of the projection of a user-defined polyline on the globe. fancy, right? 🌍
  • MCRA β€” an input expression of type INTEGER, and it's the size of each of the arrays XCRA and YCRA. MCRA must be at least two. and ngl, for most applications the value 100 works nicely. that's the vibe. ✨
  • IAAI and IAGI β€” scratch arrays of type INTEGER, each dimensioned NOGI. same deal as before: MAPIQM passes these to the AREAS routine ARDRLN, which uses them when calling your user line-processing routine ULPR. they hold 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. heads up: NOGI must be greater than or equal to the number of groups of edges placed in the area map in IAMA. don't skimp on it, bestie, it's not the moment. πŸ’€
  • ULPR β€” the name of a user-provided line-processing routine. and listen, this name must appear in an EXTERNAL statement in the routine that calls MAPITM, so the compiler and loader know it's the name of a routine to be called, and not just some random variable name. don't skip the EXTERNAL, it's lowkey essential. πŸ”₯

🌸 C-BINDING DESCRIPTION 🌸

the C-binding argument descriptions are the same as the FORTRAN argument descriptions. that's it, that's the whole section. matching outfits. iconic. πŸŽ€


πŸ¦‹ USAGE πŸ¦‹

here's the rule, and it's simple:

  1. you must call MAPITM once for each point along the line.
  2. after the last call to MAPITM for a given line, you must call MAPIQM to signal the end of the line.

that's the whole choreography. MAPITM MAPITM MAPITM … then MAPIQM to close it out. periodt. πŸ’…

for more info, go check the man pages for the routines MAPIT and MAPITM. they're right there, go be nosy. πŸ‘€

SH EXAMPLES

use the ncargex command to see the following relevant example: cmpitm,


⭐ ACCESS ⭐

to use MAPIQM or c_mapiqm, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c β€” preferably in that order. order matters, bestie, it's giving load-bearing. 🫢


🌈 SEE ALSO 🌈

Online: ezmap, ezmap_params, mapaci, mapbla, mapblm, mapdrw, mapeod, mapfst, mapgci, mapgrd, mapgrm, mapgtc, mapgti, mapgtl, mapgtr, mapint, mapiq, mapiqa, mapiqd, mapit, mapita, mapitd, 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

that list is long enough to be its own friend group, and honestly? respect. 😭

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


⚠️ real talk, bestie: this whole page is the property of the University Corporation for Atmospheric Research, and using the Software is governed by a License Agreement β€” so read that license, fr fr. no cap.

and that's the whole page, mwah πŸ’‹ this little write-up came to you from the UNIX manual, dated March 1993, filed under MAPIQM(3NCARG) β€” vintage but still slaying. πŸŽ€βœ¨πŸ¦‹