edu.wisc.ssec.mcidas
Class GMSXnav

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

public class GMSXnav
extends AREAnav

This class implements GMSX navigation. The code was modified from the original FORTRAN code (nvxgmsx.dlm) on the McIDAS system. It only supports latitude/longitude to line/element transformations (LL) and vice/versa. Transform to 'XYZ' not implemented.

Author:
Tommy Jasmin, University of Wisconsin, SSEC
See Also:
AREAnav, McIDAS Programmer's Manual, 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
GMSXnav(int[] navBlock)
          constructor: copy nav block to a byte array, eliminating text fields
 
Method Summary
 double[] getSubpoint()
          Get the lat,lon of the subpoint if available
static byte[] intToBytes(int v)
          intToBytes converts an int to an array of 4 bytes.
static void main(String[] args)
           
 double[][] toLatLon(double[][] linele)
          converts from satellite coordinates to latitude/longitude
 float[][] toLatLon(float[][] linele)
          toLatLon converts satellite line/element to lat/lon
 double[][] toLinEle(double[][] latlon)
          toLinEle converts lat/long to satellite line/element
 float[][] toLinEle(float[][] latlon)
          toLinEle converts lat/lon 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

GMSXnav

public GMSXnav(int[] navBlock)
constructor: copy nav block to a byte array, eliminating text fields

Parameters:
navBlock - - the navigation block from the image file
Method Detail

toLinEle

public float[][] toLinEle(float[][] latlon)
toLinEle converts lat/lon 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.

toLinEle

public double[][] toLinEle(double[][] latlon)
Description copied from class: AREAnav
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);

toLatLon

public float[][] toLatLon(float[][] linele)
toLatLon converts satellite line/element to lat/lon

Overrides:
toLatLon in class AREAnav
Parameters:
linele - array of line/element pairs. Where linele[indexLine][] is a line and linele[indexEle][] is an element.
Returns:
array of lat/lon pairs. Where latlon[indexLat][] are latitudes and latlon[indexLon][] are longitudes.

toLatLon

public double[][] toLatLon(double[][] linele)
Description copied from class: AREAnav
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/long pairs. Output array is latlon[indexLat][] of latitudes and latlon[indexLon][] of longitudes.

getSubpoint

public double[] getSubpoint()
Get the lat,lon of the subpoint if available

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

intToBytes

public static byte[] intToBytes(int v)
intToBytes converts an int to an array of 4 bytes.

Parameters:
v - input value
Returns:
the corresponding array of bytes

main

public static void main(String[] args)