1MPLNDM(3NCARG)                   NCAR GRAPHICS                  MPLNDM(3NCARG)
2
3
4

NAME

6       MPLNDM - Reads a specified EZMAP database and draws boundary lines from
7       it, masked by a specified area map.
8

SYNOPSIS

10       CALL MPLNDM (FLNM,ILVL,IAMA,XCRA,YCRA,MCRA,IAAI,IAGI,NOGI,ULPR)
11

C-BINDING SYNOPSIS

13       #include <ncarg/ncargC.h>
14
15       void c_mplndm (char *flnm, int ilvl, int *iama, float *xcra, float
16       *ycra, int mcra, int *iaai, int *iagi, int nogi, int (*ulpr_)(float
17       *xcra, float *ycra, int *ncra, int *iaai, int *iagi, int *ngps))
18

DESCRIPTION

20       FLNM        (an input expression of type CHARACTER) specifies the name
21                   of the database to be used.  MPLNDM will first look for the
22                   files of the specified database in the current working
23                   directory; if the files are not found there, MPLNDM will
24                   look for them in the NCAR Graphics database directory.  The
25                   database created in 1998 and provided as part of Version
26                   4.1 of NCAR Graphics is named "Earth..1".
27
28       ILVL        (an input expression of type INTEGER) specifies the level
29                   at which the database is to be used.  The value 1 says to
30                   use only land/water boundaries, the value 2 says to add
31                   continental boundaries (like the boundary which separates
32                   Africa from Eurasia), the value 3 says to add the
33                   boundaries of countries, and the value 4 says to add
34                   states.  (The value 5 will eventually be used to add
35                   counties.)
36
37       IAMA        (an input/output array of type INTEGER, dimensioned as
38                   specified in a call to the AREAS routine ARINAM) is the
39                   array containing the area map against which boundary lines
40                   are to be masked.  The area map must have been initialized
41                   by a call to ARINAM; it should contain the edges required
42                   to create a desired effect.  For example, an area map might
43                   be created that defines a region of interest, within which
44                   user data is available and within which boundary lines are
45                   to be drawn.
46
47       XCRA and YCRA
48                   (scratch arrays, dimensioned at least MCRA, of type REAL)
49                   are to be used by MPLNDM in calls to the AREAS routine
50                   ARDRLN; they will eventually be used in calls to the user-
51                   provided line-processing routine ULPR.
52
53       MCRA        (an input expression of type INTEGER) is the dimension of
54                   the arrays XCRA and YCRA.
55
56       IAAI and IAGI
57                   (scratch arrays, dimensioned at least NOGI, of type
58                   INTEGER) are to be used by MPLNDM in calls to the AREAS
59                   routine ARDRLN; they will eventually be used in calls to
60                   the user-provided line-processing routine ULPR. The
61                   mnemonics stand for "Integer Array of Area Identifiers" and
62                   "Integer Array of Group Identifiers", respectively.
63
64       NOGI        (an input expression of type INTEGER) is the dimension of
65                   the arrays IAAI and IAGI. The mnemonic stands for "Number
66                   Of Group Identifiers (of edges in the area map)", which
67                   determines the required dimension of IAAI and IAGI.
68
69       ULPR        is the name of the user-supplied line-processing routine.
70                   It must be declared EXTERNAL in the routine that calls
71                   MPLNDM, so that the compiler and loader will know that it
72                   is the name of a routine to be called instead of a
73                   variable. The user routine ULPR will be called once for
74                   each piece of a boundary line resulting from the masking
75                   process; it may decide to draw (or to not draw) each such
76                   piece. ULPR will be called using a FORTRAN statement like
77
78                        CALL ULPR (XCRA,YCRA,NCRA,IAAI,IAGI,NGPS)
79
80                   where XCRA and YCRA are real arrays holding the normalized
81                   device coordinates of NCRA points defining a polyline which
82                   is part of some boundary line and IAAI and IAGI are integer
83                   arrays holding NGPS area-identifier/group-identifier pairs
84                   for the area within which that piece of the line lies. In
85                   writing ULPR, the user may rely upon a SET call's having
86                   been done which makes it possible to use normalized device
87                   coordinates in calls to routines like CURVE, CURVED, GPL,
88                   etc.  For more details, see the reference document for the
89                   package named AREAS and, in particular, the description of
90                   the subroutine ARDRLN.
91

C-BINDING DESCRIPTION

93       The C-binding argument description is the same as the FORTRAN argument
94       description.
95

USAGE

97       MPLNDM is called to draw the lines defined by the map database whose
98       name is FLNM, masked against the area map in the array IAMA.
99
100       MPLNDM is much like MPLNDR, except that the boundary lines are drawn
101       using calls to MAPITM and MAPIQM, which does the masking of the lines
102       against an area map and passes the pieces resulting from the masking
103       process along to a user-provided line-drawing routine.
104

EXAMPLES

106       Use the ncargex command to see the following relevant example: mpex11.
107

ACCESS

109       To use MPLNDM or c_mplndm, load the NCAR Graphics libraries ncarg,
110       ncarg_gks, and ncarg_c, preferably in that order.
111

SEE ALSO

113       Online: ezmap, ezmap_params, mapaci, mapbla, mapblm, mapdrw, mapeod,
114       mapfst, mapgci, mapgrd, mapgrm, mapgtc, mapgti, mapgtl, mapgtr, mapint,
115       mapiq, mapiqa, mapiqd, mapiqm, mapit, mapita, mapitd, mapitm, maplbl,
116       maplmb, maplot, mappos, maproj, maprs, maprst, mapsav, mapset, mapstc,
117       mapsti, mapstl, mapstr, maptra, maptri, maptrn, mapusr, mapvec, mpchln,
118       mpfnme, mpgetc, mpgeti, mpgetl, mpgetr, mpglty, mpiaty, mpifnb, mpilnb,
119       mpiola, mpiosa, mpipai, mpipan, mpipar, mpisci, mplnam, mplndr, mplnri,
120       mpname, mprset, mpsetc, mpseti, mpsetl, mpsetr, supmap, supcon,
121       ncarg_cbind
122
124       Copyright (C) 1987-2007
125       University Corporation for Atmospheric Research
126
127       This documentation is free software; you can redistribute it and/or
128       modify it under the terms of the GNU General Public License as
129       published by the Free Software Foundation; either version 2 of the
130       License, or (at your option) any later version.
131
132       This software is distributed in the hope that it will be useful, but
133       WITHOUT ANY WARRANTY; without even the implied warranty of
134       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
135       General Public License for more details.
136
137       You should have received a copy of the GNU General Public License along
138       with this software; if not, write to the Free Software Foundation,
139       Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
140
141
142
143UNIX                              April 1998                    MPLNDM(3NCARG)
Impressum