edu.wisc.ssec.mcidas
Class GVARnav

java.lang.Object
  extended by edu.wisc.ssec.mcidas.AREAnav
      extended by edu.wisc.ssec.mcidas.GVARnav
All Implemented Interfaces:
Serializable

public class GVARnav
extends AREAnav

The GVARnav class creates the ability to navigate GVAR image data. It is a math copy of the McIDAS nvxgvar.dlm code. When used with AreaFile class, set up like this:


  AreaFile af;
  try {
    af = new AreaFile("/home/user/mcidas/data/AREA0001");
  } catch (AreaFileException e) {
    System.out.println(e);
    return;
  }
  int[] dir;
  try { dir=af.getDir();
  } catch (AreaFileException e){
    System.out.println(e);
    return;
  }
  int[] nav;
  try { nav=af.getNav();
  } catch (AreaFileException e){
    System.out.println(e);
    return;
  }
  try { 
    GVARnav ng = new GVARnav(nav);  // XXXXnav is the specific implementation
  } catch (IllegalArgumentException excp) {
    System.out.println(excp);
    return;
  }
  ng.setImageStart(dir[5], dir[6]);
  ng.setRes(dir[11], dir[12]);
  ng.setStart(1,1);
  ......................
 

Author:
Tom Whittaker
See Also:
Serialized Form

Field Summary
 
Fields inherited from class edu.wisc.ssec.mcidas.AREAnav
ABIS, DEGREES_TO_RADIANS, DMSP, GEOS, GMSX, GOES, GVAR, indexEle, indexLat, indexLine, indexLon, KALP, LALO, LAMB, LL, MERC, MOLL, MSAT, MSG, MSGT, POES, PS, RADIANS_TO_DEGREES, RADR, RECT, SIN, TANC, XY
 
Constructor Summary
GVARnav(int[] iparms)
          Set up for the real math work.
GVARnav(int ifunc, int[] iparms)
          Deprecated. Since ifunc must be 1, replaced with #GVARnav(int[] iparms). If ifunc != 1, ifunc is set to 1.
 
Method Summary
 double[] getSubpoint()
          return the lat,lon of the subpoint
 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, canApproximateWithSpline, 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
 

Constructor Detail

GVARnav

public GVARnav(int[] iparms)
        throws IllegalArgumentException
Set up for the real math work. Must pass in the int array of the GVAR nav 'codicil'.

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

GVARnav

public GVARnav(int ifunc,
               int[] iparms)
        throws IllegalArgumentException
Deprecated. Since ifunc must be 1, replaced with #GVARnav(int[] iparms). If ifunc != 1, ifunc is set to 1.

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

Parameters:
ifunc - the function to do (always 1 for now)
iparms - the nav block from the image file
Throws:
IllegalArgumentException - if the nav block is not a GVAR type.
Method Detail

getSubpoint

public double[] getSubpoint()
return the lat,lon of the subpoint

Overrides:
getSubpoint in class AREAnav
Returns:
double[2] {lat, lon}

toLatLon

public double[][] toLatLon(double[][] linele)
converts from satellite coordinates to latitude/longitude

Specified by:
toLatLon in class AREAnav
Parameters:
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.)
Returns:
latlon[][] array of lat/lon pairs. Output array is latlon[indexLat][] of latitudes and latlon[indexLon][] of longitudes.

toLatLon

public float[][] toLatLon(float[][] linele)
converts from satellite coordinates to latitude/longitude

Overrides:
toLatLon in class AREAnav
Parameters:
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.)
Returns:
latlon[][] array of lat/lon 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
Parameters:
latlon - array of lat/long pairs. Where latlon[indexLat][] are latitudes and latlon[indexLon][] are longitudes.
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);

toLinEle

public float[][] toLinEle(float[][] latlon)
toLinEle converts lat/long to satellite line/element

Overrides:
toLinEle in class AREAnav
Parameters:
latlon - array of lat/long pairs. Where latlon[indexLat][] are latitudes and latlon[indexLon][] are longitudes.
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);