Provided by: libncarg-dev_6.4.0-9_amd64 bug

NAME

       ARPRAM - Preprocesses an area map that has been initialized by a call to ARINAM and to
       which edges have been added by calls to AREDAM.

SYNOPSIS

       CALL ARPRAM (MAP,IF1,IF2,IF3)

C-BINDING SYNOPSIS

       #include <ncarg/ncargC.h>

       void c_arpram (int *map, int if1, int if2, int if3)

DESCRIPTION

       Preprocessing an area map is a seven-step process that makes all of the area-identifier
       information in the area map consistent:

       Step 1:     ARPRAM shortens edge segments whose projections on the X axis are more than
                   twice as long as the average. ARPRAM does this by interpolating points along
                   their lengths. This improves efficiency when executing other parts of the
                   algorithm.

       Step 2:     ARPRAM locates all intersections of edge segments and interpolates the
                   intersection points along these edge segments.  This step can take a lot of
                   time. If you set IF1 nonzero, then pairs of edge segments are examined for
                   intersections only if one of the pair has a left or a right area identifier
                   that is zero or negative.

       Step 3:     ARPRAM locates coincident edge segments (edge segments with identical
                   endpoints).  If two such coincident edge segments belong to the same group,
                   one of them is removed; if they belong to different groups, one of them is
                   modified in such a way that it will appear to be present when looking for
                   areas defined by edge segments in a particular group, but absent when looking
                   for areas defined by all edge segments.

       Step 4:     ARPRAM searches for and removes "dangling" edge segments (those that do not
                   contribute to enclosing any area). This step is skipped if IF2 is nonzero.

       Step 5:     ARPRAM looks for holes in the areas defined by each edge group and draws
                   connecting edge segments between the edge and the hole. This step is skipped
                   if IF3 is nonzero.

       Step 6:     ARPRAM adjusts area identifier information in the area map. It examines all
                   the edge segments of each area in each group to see what area identifier
                   should be assigned to the area, and then makes adjustments.

       Step 7:     Connecting lines that were inserted in step 5 are removed from the area map.

       You can put edges in an area map, preprocess it, add more edges, preprocess it again, and
       so on.

       Each of the routines ARDRLN, ARGTAI, and ARSCAM checks to make sure that the area map has
       been preprocessed since the last time that edges were added to it and, if not, calls
       ARPRAM; the only advantage to the user of calling ARPRAM directly is to use the time-
       saving shortcuts specified by the arguments IF1, IF2, and IF3.

       The arguments of ARPRAM are as follows:

       MAP         (an input/output array of type INTEGER) - An array containing an area map that
                   has been initialized by a call to ARINAM and to which edges have been added by
                   calls to AREDAM.

                   Note: As part of initializing the area map, ARINAM stores the dimension of MAP
                   in MAP(1); therefore, the dimension does not have to be given as an argument
                   in calls to ARPRAM.)

       IF1         (an input expression of type INTEGER) - If you set IF1 nonzero, ARPRAM checks
                   a pair of edge segments for intersection only if one of the pair has a left or
                   right area identifier that is zero or negative. This would be appropriate for
                   contour lines, which intersect the perimeter, but do not intersect each other.

       IF2         (an input expression of type INTEGER) - If you set IF2 nonzero, ARPRAM does
                   not check for dangling edges. This would be appropriate for contour lines,
                   which are known not to have any such edges. This is not appropriate for Ezmap
                   boundary lines, because the Ezmap dataset contains some edge segments (small
                   islands) that are formed by unclosed curves.

       IF3         (an input expression of type INTEGER) - If you set IF3 nonzero, ARPRAM speeds
                   up the process of adjusting area identifiers by omitting the consideration of
                   "holes" in the areas examined. This is appropriate for contour lines as long
                   as the left and right area identifiers provided at each contour level are
                   consistent with those provided at the adjacent levels.

C-BINDING DESCRIPTION

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

EXAMPLES

       Use the ncargex command to see the following relevant examples: eezmpa, tareas, tezmpa,
       fsppoint.

ACCESS

       To use ARPRAM or c_arpram, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c,
       preferably in that order.

MESSAGES

       See the areas man page for a description of all Areas error messages and/or informational
       messages.

SEE ALSO

       Online: areas, areas_params, ardbpa, ardrln, aredam, argeti, argetr, argtai, arinam,
       armvam, arscam, arseti, arsetr, 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.