ucar.nc2.iosp.gempak
Class NavigationBlock

java.lang.Object
  extended by ucar.grid.GridDefRecord
      extended by ucar.nc2.iosp.gempak.NavigationBlock

public class NavigationBlock
extends GridDefRecord

Class to hold the grid navigation information.

     PROJ is the map projection, projection angles, and margins separated
     by slashes and an optional image drop flag separated from the rest by
     a bar:

       map proj / ang1;ang2;ang3 / l;b;r;t (margins) | image drop flag

     For all map projections, the lower left and upper right corners of
     the graphics area should be specified in GAREA.

     The following simple map projections may be specified:

       MER     Mercator
       NPS     North Polar Stereographic
       SPS     South Polar Stereographic
       LCC     Northern Hemisphere Lambert Conic Conformal
       SCC     Southern Hemisphere Lambert Conic Conformal
       CED     Cylindrical Equidistant
       MCD     Modified Cylindrical Equidistant
       NOR     North Orthographic
       SOR     South Orthographic


     The following full map projections may also be specified:

       MER     (CYL)   Mercator
       CED     (CYL)   Cylindrical Equidistant
       MCD     (CYL)   Modified Cylindrical Equidistant
       STR     (AZM)   Polar Stereographic
       AED     (AZM)   Azimuthal Equidistant
       ORT     (AZM)   Orthographic
       LEA     (AZM)   Lambert equal area
       GNO     (AZM)   Gnomonic
       LCC     (CON)   Northern Hemisphere Lambert Conic Conformal
       SCC     (CON)   Southern Hemisphere Lambert Conic Conformal


     In addition for full map projections, three angles MUST be specified
     in PROJ.  The angles have the following meanings for the different
     projection classes:

       CYL     angle1 -- latitude of origin on the projection cylinder
                         0 = Equator
               angle2 -- longitude of origin on the projection cylinder
                         0 = Greenwich meridian
               angle3 -- angle to skew the projection by rotation of
                         the cylindrical surface of projection about
                         the line from the Earth's center passing
                         through the origin point. This results in
                         curved latitude and longitude lines.

                         If angle3 is greater than 360 or less than -360
                         degrees, then the rectangular Cartesian coordinate
                         system on the projection plane is rotated
                         +/- |angle3|-360 degrees. This results in
                         latitude and longitude lines that are skewed
                         with respect to the edge of the map.  This option
                          is only valid when specifying a map projection and
                          is not available for grid projections.

                         The difference between |angle3| < 360 and
                         |angle3| > 360 is that, in the former case,
                         the rotation is applied to the developable
                         cylindrical surface before projection and
                         subsequent development; while, in the latter
                         case, the rotation is applied to the Cartesian
                         coordinate system in the plane after development.
                         Development here refers to the mathematical
                         flattening of the surface of projection into a
                         planar surface.

     Exception:

     MCD     angle1 -- scaling factor for latitude
                       0 = default scaling (1/cos(avglat))
             angle2 -- longitude of origin (center longitude)
             angle3 -- not used


     AZM     angle1 -- latitude of the projection's point of tangency
             angle2 -- longitude of the projection's point of tangency
             angle3 -- angle to skew the projection by rotation about
                       the line from the Earth's center passing
                       through the point of tangency

     CON     angle1 -- standard latitude 1
             angle2 -- polon is the central longitude
             angle3 -- standard latitude 2

     The angles for the full map projection types are given as three numbers
     separated with semicolons.  Note that THREE angles must be entered even
     if some angles are not used.

     Note that transverse projections may be obtained using a cylindrical
     projection with the first angle set to either 90 or -90.  The second
     angle is the longitude at which the cylinder axis intersects the
     equator.  This will be the transformed location of the "south" pole
     when the first angle is 90 or the "north" pole when the first angle
     is -90.  For example, if angle1 = 90 and angle2 = 0, the axis of the
     cylinder of projection is perpendicular to the earth's axis and enters
     the earth at 0N 0E and emerges at 0N 180E.  The great circle formed
     by 90E and 90W becomes the "equator" on the cylinder.  This cylinder
     is ideal for a transverse cylindrical projection of locations on the
     continent of North America.
  

Version:
$Revision: 1.3 $
Author:
IDV Development Team

Field Summary
 
Fields inherited from class ucar.grid.GridDefRecord
ANGLE, BASICANGLE, debug, DX, DY, GDS_KEY, GRID_NAME, GRID_SHAPE, GRID_SHAPE_CODE, GRID_TYPE, GRID_UNITS, J, K, LA1, LA2, LAD, LAP, LATIN, LATIN1, LATIN2, LO1, LO2, LOP, LOV, M, MAJOR_AXIS_EARTH, METHODNORM, MINOR_AXIS_EARTH, MODEORDER, NP, NPPROJ, NR, NUMBERPARALLELS, NX, NY, PLAT, PLON, PROJ, QUASI, RADIUS_SPHERICAL_EARTH, RESOLUTION, ROTATIONANGLE, SCANNING_MODE, SPLAT, SPLON, STRETCHINGFACTOR, UNDEFINED, VECTOR_COMPONENT_FLAG, WIND_FLAG, XO, XP, YO, YP
 
Constructor Summary
NavigationBlock()
          Create a new grid nav block
NavigationBlock(float[] words)
          Create a new grid nav block with the values
 
Method Summary
 String getGroupName()
          Get a short name for this GDSKey for the netCDF group.
 void setValues(float[] values)
          Set the grid nav block values
 String toString()
          Print out the navibation block so it looks something like this:
 
Methods inherited from class ucar.grid.GridDefRecord
addParam, addParam, addParam, addParam, addParam, addParam, compare, getDouble, getGdsv, getInt, getKeys, getParam, getParamDouble, getParamInt, getParamsValues, readDouble
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NavigationBlock

public NavigationBlock()
Create a new grid nav block


NavigationBlock

public NavigationBlock(float[] words)
Create a new grid nav block with the values

Parameters:
words - analysis block values
Method Detail

setValues

public void setValues(float[] values)
Set the grid nav block values

Parameters:
values - the raw values

toString

public String toString()
Print out the navibation block so it looks something like this:
        PROJECTION:          LCC
        ANGLES:                25.0   -95.0    25.0
        GRID SIZE:           93  65
        LL CORNER:              12.19   -133.46
        UR CORNER:              57.29    -49.38
 

Overrides:
toString in class Object
Returns:
a String representation of this.

getGroupName

public String getGroupName()
Get a short name for this GDSKey for the netCDF group. Subclasses should implement as a short description

Specified by:
getGroupName in class GridDefRecord
Returns:
short name


Copyright © 1999-2011 UCAR/Unidata. All Rights Reserved.