MAPITM(3NCARG)

NAME
MAPITM - Draws lines on a map, masked by a specified area map.

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

RLAT and RLON
    (input expressions, of type REAL) specify the latitude and longitude of a point to which the "pen" is to be moved. Both are given in degrees. RLAT must be between -90. and +90., inclusive; RLON must be between -540. and +540., inclusive.

IFST
    (an input expression, of type INTEGER) is 0 to do a "pen-up" move, 1 to do a "pen-down" move only if the distance from the last point to the new point is greater than 'MV' plotter units, and 2 or greater to do a "pen-down" move regardless of the distance from the last point to the new one.

IAMA
    (an input/output array of type INTEGER, dimensioned as specified in a call to the AREAS initialization routine ARINAM) is the array containing the area map against which lines drawn by MAPIQM will be masked.

XCRA and YCRA
    (scratch arrays of type REAL, each dimensioned MCRA) are to be passed by MAPIQM to the AREAS routine ARDRLN, which uses them in calls to the user line-processing routine ULPR. They will 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.

MCRA
    (an input expression of type INTEGER) is the size of each of the arrays XCRA and YCRA. The value of MCRA must be at least two. For most applications, the value 100 works nicely.

IAAI and IAGI
    (scratch arrays of type INTEGER, each dimensioned NOGI) are to be passed by MAPIQM to the AREAS routine ARDRLN, which uses them in calls to the user line-processing routine ULPR. They will 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) is the size of each of the arrays IAAI and IAGI. The value of NOGI must be greater than or equal to the number of groups of edges placed in the area map in IAMA.

ULPR
    is the name of a user-provided line-processing routine. This name must appear in an EXTERNAL statement in the routine that calls MAPITM, so that the compiler and loader will know that it is the name of a routine to be called, rather than the name of a variable.

C-BINDING DESCRIPTION
The C-binding argument descriptions are the same as the FORTRAN argument descriptions.

USAGE
The routines MAPITM and MAPIQM may be used to draw lines defined by a series of user-specified latitudes and longitudes on a map, masked by the areas defined by an area map (perhaps one created by a call to MAPBLA or perhaps one created by a set of calls to routines in the package AREAS); like MAPIT and MAPIQ, they attempt to omit non-visible portions of lines and to handle "cross-over".

MAPITM is called like the EZMAP routine MAPIT (which see, above) but has some additional arguments:

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

Additional arguments are the area-map array IAMA, coordinate arrays XCRA and YCRA, dimensioned MCRA, integer arrays IAAI and IAGI, dimensioned NOGI, and a user-provided line-processing routine named ULPR. MAPIQM is called like the EZMAP routine MAPIQ, to terminate a series of calls to MAPITM and to flush the buffers; it has the same additional arguments:

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

The additional arguments are passed by MAPITM and MAPIQM to the routine ARDRLN, in the package named AREAS.

For more information, see the man page for the routine MAPIT.

EXAMPLES
Use the ncargex command to see the following relevant example: cmpitm.

ACCESS
To use MAPITM or c_mapitm, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order.

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
Copyright (C) 1987-2009
University Corporation for Atmospheric Research
The use of this Software is governed by a License Agreement.