Terrenus HRPT v2.2

terrenus.instrument
Class LineScannerLocator

java.lang.Object
  extended by terrenus.instrument.LineScannerLocator
Direct Known Subclasses:
AVHRRLocator, MVISRLocator

public abstract class LineScannerLocator
extends java.lang.Object

The LineScannerLocator class computes image scanner earth locations for a cross-track line scanner similar to NOAA AVHRR.


Field Summary
protected  EllipsoidModel earthModel
          The ellipsoid model.
protected  double scanStep
          The line scanner stepping angle in radians.
protected  SensorModel sensorModel
          The sensor model.
protected  Spacecraft spacecraft
          The spacecraft for orbital computations.
 
Constructor Summary
LineScannerLocator()
           
 
Method Summary
protected abstract  java.util.Date getLineDate(int line)
          Gets the date for the specified scan line.
 void getLocations(int line, int[] samples, double[] latitude, double[] longitude, double[] satZenith, double[] solZenith, double[] relAzimuth)
          Computes the scanner location and angle data for the specified scan line.
 double[] getViewVector(double[] satPosition)
          Gets the view vector from a spacecraft position to its geodetic subpoint.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

spacecraft

protected Spacecraft spacecraft
The spacecraft for orbital computations.


earthModel

protected EllipsoidModel earthModel
The ellipsoid model.


sensorModel

protected SensorModel sensorModel
The sensor model.


scanStep

protected double scanStep
The line scanner stepping angle in radians.

Constructor Detail

LineScannerLocator

public LineScannerLocator()
Method Detail

getLineDate

protected abstract java.util.Date getLineDate(int line)
Gets the date for the specified scan line.

Parameters:
line - the scan line to query.
Returns:
the date for the scan line.

getViewVector

public double[] getViewVector(double[] satPosition)
Gets the view vector from a spacecraft position to its geodetic subpoint. The geodetic subpoint is the point on the reference ellipsoid at which a vector between the ellipsoid surface and the spacecraft is normal to the surface. This is the standard view vector for the AVHRR instrument on NOAA spacecrafts.

Parameters:
satPosition - the spacecraft position as [x,y,z] in radians.
Returns:
the view vector from the spacecraft to the subpoint as an [x,y,z] unit vector.

getLocations

public void getLocations(int line,
                         int[] samples,
                         double[] latitude,
                         double[] longitude,
                         double[] satZenith,
                         double[] solZenith,
                         double[] relAzimuth)
Computes the scanner location and angle data for the specified scan line. Locations are geodetic latitude and longitude. All angles are in radians.

Parameters:
line - the desired scan line.
samples - the samples to generate locations and angles for, starting at 0.
latitude - the output latitude array.
longitude - the output longitude array.
satZenith - the output spacecraft zenith array.
solZenith - the output solar zenith array.
relAzimuth - the output relative azimuth array.

Terrenus HRPT v2.2