## edu.wisc.ssec.mcidas
Class MSGnav

    java.lang.Object
      edu.wisc.ssec.mcidas.AREAnav
          edu.wisc.ssec.mcidas.MSGnav

All Implemented Interfaces:
  Serializable

public final class MSGnav
extends AREAnav

Navigation class for MSG type nav. This code was modified from the original FORTRAN code (nvxmsgt.dlm) on the McIDAS system. It only supports latitude/longitude to line/element transformations (LL) and vice/versa. Transform to 'XYZ' not implemented.

See Also:
  McIDAS Programmer's Manual, Serialized Form

Field Summary
`(package private) double` `a`
`(package private) double` `cdr`
`(package private) int` `count`
`(package private) double` `crd`
`(package private) double` `deltax`
`(package private) double` `deltay`
`(package private) double` `EARTH_RADIUS`
`(package private) boolean` `first`
`(package private) double` `h`
`(package private) int[]` `ioff`
`(package private) int` `itype`
`(package private) double` `NOMORB`
`(package private) double` `rp`
`(package private) double` `rs`
`(package private) double` `yk`

Fields inherited from class edu.wisc.ssec.mcidas.AREAnav
`DEGREES_TO_RADIANS, DMSP, GMSX, GOES, GVAR, indexEle, indexLat, indexLine, indexLon, LALO, LAMB, LL, MERC, MOLL, MSAT, MSG, MSGT, POES, PS, RADIANS_TO_DEGREES, RADR, RECT, serialVersionUID, TANC, XY`

Constructor Summary
`MSGnav(int[] iparms)` Set up for the real math work.

Method Summary
`double[][]` `toLatLon(double[][] linele)` converts from satellite coordinates to latitude/longitude
`float[][]` `toLatLon(float[][] linele)` converts from satellite coordinates to latitude/longitude
`double[][]` `toLinEle(double[][] latlon)` toLinEle converts lat/long to satellite line/element
`float[][]` `toLinEle(float[][] latlon)` toLinEle converts lat/long to satellite line/element

Methods inherited from class edu.wisc.ssec.mcidas.AREAnav
`areaCoordToImageCoord, areaCoordToImageCoord, areaCoordToImageCoord, areaCoordToImageCoord, doubleToFloat, equals, floatToDouble, getLineOffset, imageCoordToAreaCoord, imageCoordToAreaCoord, imageCoordToAreaCoord, imageCoordToAreaCoord, isFlippedLineCoordinates, makeAreaNav, makeAreaNav, setFlipLineCoordinates, setImageStart, setMag, setMag, setRes, setRes, setStart, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### NOMORB

    final double NOMORB

See Also:
  Constant Field Values

### EARTH_RADIUS

    final double EARTH_RADIUS

See Also:
  Constant Field Values

### itype

    int itype

### h

    double h

### a

    double a

### rp

    double rp

### cdr

    double cdr

### crd

    double crd

### rs

    double rs

### yk

    double yk

### deltax

    double deltax

### deltay

    double deltay

### ioff

    int[] ioff

### first

    boolean first

### count

    int count

Constructor Detail

### MSGnav

    public MSGnav(int[] iparms)
           throws IllegalArgumentException

  Set up for the real math work. Must pass in the int array of the MSG nav 'codicil'.

Parameters:
  `iparms` - the nav block from the image file
Throws:
  `IllegalArgumentException` - if the nav block is not a MSG type.

Method Detail

### toLatLon

    public double[][] toLatLon(double[][] linele)

  converts from satellite coordinates to latitude/longitude

  Specified by:
    `toLatLon` in class `AREAnav`
  Returns:
    latlon[][] array of lat/long pairs. Output array is latlon[indexLat][] of latitudes and latlon[indexLon][] of longitudes.

### toLinEle

    public double[][] toLinEle(double[][] latlon)

  toLinEle converts lat/long to satellite line/element

  Specified by:
    `toLinEle` in class `AREAnav`
  Returns:
    linele[][] array of line/element pairs. Where linele[indexLine][] is a line and linele[indexEle][] is an element. These are in 'file' coordinates (not "image" coordinates);

### toLatLon

    public float[][] toLatLon(float[][] linele)

  converts from satellite coordinates to latitude/longitude

  Overrides:
    `toLatLon` in class `AREAnav`
  Returns:
    latlon[][] array of lat/long pairs. Output array is latlon[indexLat][] of latitudes and latlon[indexLon][] of longitudes.

### toLinEle

    public float[][] toLinEle(float[][] latlon)

  toLinEle converts lat/long to satellite line/element

  Overrides:
    `toLinEle` in class `AREAnav`
  Returns:
    linele[][] array of line/element pairs. Where linele[indexLine][] is a line and linele[indexEle][] is an element. These are in 'file' coordinates (not "image" coordinates);