org.n52.math
Class SatelliteTriangulation

java.lang.Object
  extended by org.n52.math.SatelliteTriangulation

public class SatelliteTriangulation
extends java.lang.Object

Supplier class for azimuth, zenith angle, distance and pixel size algorithms, to calculate with satellite triangulation. SatelliteTriangulation holds the geometric properties (3D) of the triangle ETS:

E earth-center = (0.0.0),
T observed terrain-pixel position,
S satellite position;
All positions are metric, cartesian and geo-centric. T depends on assumptions about ellipsoid and image georeference. terrTriangulation contains the geometry depending merely on T. S is for the moment geo-stationary (latit = 0, longit = constant). The purpose is to produce (output) parameters for (a.o) solar reflection:
  1. zenith angle, angle between local vertical and satellite direction;
  2. azimuth, angle between local North and ground-projected satellite direction;
  3. distance, distance from terrain point to satellite (meters);
  4. pixel size, apparent area per pixel at location in square km ;

Author:
Jan Hendrikse

Constructor Summary
SatelliteTriangulation(TerrainTriangulation terrTri, double satLat, double satLon, double pixNadir, double satHeight)
          constructor of SatelliteTriangulation using terrain and satellite -related geometric input to allow mainly angle computations satHeight is a final member depending on satOrbitRadius and the eq radius a of the assumed ellipsoid, for the time being
 
Method Summary
 Algorithm getAzimuthAlgorithm()
          returns the Azimuth Algorithm; it produces the azimuth, angle (in degrees) between local North and projected satellite direction, given local lat and lon (in degrees)
 Algorithm getDistanceAlgorithm()
          returns the Distance Algorithm; it produces the distance, between local position and satellite position, in meters, given local lat and lon (in degrees)
 Algorithm getPixelSizeAlgorithm()
          returns the Pixel Size Algorithm; it produces the pixel size, in square km (area covered by one pixel)at a local position, given local lat and lon (in degrees) and nadir pixel size
 Algorithm getZenithAngleAlgorithm()
          returns the ZenithAngle Algorithm; it produces the zenith angle, angle (in degrees) between local vertical and satellite direction, given local lat and lon (in degrees)
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SatelliteTriangulation

public SatelliteTriangulation(TerrainTriangulation terrTri,
                              double satLat,
                              double satLon,
                              double pixNadir,
                              double satHeight)
constructor of SatelliteTriangulation using terrain and satellite -related geometric input to allow mainly angle computations satHeight is a final member depending on satOrbitRadius and the eq radius a of the assumed ellipsoid, for the time being

Parameters:
terrTri - holds terrainlocation specific vectors
satLat - geocentric latitude (angle with equator-plane)
satLon - (subSatellite) longitude
pixNadir - in km
satHeight - orbit height of the satellite from the earth ellipsoid surface
Method Detail

getZenithAngleAlgorithm

public Algorithm getZenithAngleAlgorithm()
returns the ZenithAngle Algorithm; it produces the zenith angle, angle (in degrees) between local vertical and satellite direction, given local lat and lon (in degrees)

Returns:
the Algorithm

getAzimuthAlgorithm

public Algorithm getAzimuthAlgorithm()
returns the Azimuth Algorithm; it produces the azimuth, angle (in degrees) between local North and projected satellite direction, given local lat and lon (in degrees)

Returns:
the Algorithm

getDistanceAlgorithm

public Algorithm getDistanceAlgorithm()
returns the Distance Algorithm; it produces the distance, between local position and satellite position, in meters, given local lat and lon (in degrees)

Returns:
the Algorithm

getPixelSizeAlgorithm

public Algorithm getPixelSizeAlgorithm()
returns the Pixel Size Algorithm; it produces the pixel size, in square km (area covered by one pixel)at a local position, given local lat and lon (in degrees) and nadir pixel size

Returns:
the Algorithm