Class 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.
     
    • 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