Package ucar.nc2.iosp.gempak
Class NavigationBlock
- java.lang.Object
-
- ucar.nc2.iosp.grid.GridDefRecord
-
- 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.
-
-
Field Summary
-
Fields inherited from class ucar.nc2.iosp.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
Constructors Constructor Description NavigationBlock()
Create a new grid nav blockNavigationBlock(float[] words)
Create a new grid nav block with the values
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getGroupName()
Get a short name for this GDSKey for the netCDF group.void
setValues(float[] values)
Set the grid nav block valuesString
toString()
Print out the navibation block so it looks something like this:-
Methods inherited from class ucar.nc2.iosp.grid.GridDefRecord
addParam, addParam, addParam, addParam, addParam, addParam, compare, getDouble, getInt, getKeys, getParam, getParamDouble, getParamInt, getParamsValues, readDouble
-
-
-
-
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
-
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 classGridDefRecord
- Returns:
- short name
-
-