12.1.1 Introduction

The UMPACK consists of draw routines to show map information (such as coastlines, meridians, and parallels) and control routines for setting appropriate parameters necessary for map projection transformations 

Below are the subroutines a user will be using in UMPACK.



The umpfit is returned to the undefined state by grfrm, etc., and after that, the parameters for transformation functions that were not specified by the user will be set appropriately. To make the transformation function effective using these parameters, grstrf must be called.

When all of the parameters necessary for map projection are set, umpfit does nothing. On the other hand, when there is even one parameter necessary for map projection that is not set, umpfit will try to set an appropriate parameter based on information that has been set. The operation of  umpfit can largely be divided into the two steps below.

1:
Set the pole for map projection (PLX, PLY, PLROT).
2:
Adjust the similarity transformation parameters (SIMFAC, VXOFF, VYOFF) so that the specified points all fall within range.

In other words, first, the center point for the map projection is set, and then scaling and parallel shifting is performed to include all of the specified points.

The center point of the map projection will be referred to as the "contact" in this package. In cylindrical or conical projections, the contact between the sphere and the plane of projection from a line; in this case, the node of the tangent and the central meridian is considered to be the "contact." In azimuthal projections, the "contact" is synonymous with the pole of the map projection. Although this is not a correct usage of the term in cartography, we will use the common term "contact" for all projections to refer to the central point at which the distortions is usually minimal.

The first step in umpfit is to determine this "contact." The following information will be used for this purpose.

1:
Specification of the pole using SGSMPL.
2:
Specification of the contact using UMSCNT.
3:
Specification of the circular window using UMSCWD.
4:
Specification of a rectangular window using SGSWND.
5:
Specification of the drawing using UMSPNT.
6:
The defalut value (PLX=0, PLY=90)
If information of higher priority is specified, then all information at lower priority will be ignored.

In the second step, the determination of the frame, a frame is set so that the circular window set by umscwd, the rectangular window set by sgswnd, and the points specified by umspnt are all included. There is no priority among them. When information necessary to set the frame has not been specified, it is considered that the whole Earth has been specified. However, when the internal variable 'LGLOBE'  handled by umlset is .true., all information concerning window, etc. is ignored, and the whole Earth is mapped. For the projection s below which include the line of infinity, the following area in the TC will be considered as the "whole Earth."

Mercator's projection: between S75 and N75 
Polar stereo projection: between the equator and the north pole
Lambert's conformal conical projection: between the equator and the north pole

When a part or all of the viewport parameters, vxmin, vxmax, vymin, and vymax are not specified, scaling is performed so that the specified range inscribes the maximum frame area. Then, the minimum viewport that can display all of the specified range is then set.

In the UMPACK, several coding methods can be made to achieve the same results. The standard usages are presented below.