org.n52.math
Class SunTriangulation

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

public class SunTriangulation
extends java.lang.Object

Supplier class azimuth, zenith angle, distance, equation of time and declination algorithms, to calculate with sun triangulation. SunTriangulation holds the geometric properties (3D) of the triangle ETS:

E earth-center = (0.0.0),
T observed terrain-pixel position,
S sun 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 depends for the moment on 3 time parameters: year, month, dayInMonth. Its coords are expressed in an earth-fixed, earth-centered, cartesian system 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. sunSet, moment of sunSet in utc hours ;

Author:
Jan Hendrikse

Constructor Summary
SunTriangulation(TerrainTriangulation terrTri, int year, int month, int dayInMonth, double utc)
          constructor of SunTriangulation using sun- and satellite -related geometric input to allow mainly angle computations.
 
Method Summary
 Algorithm getAzimuthAlgorithm()
          returns the Azimuth Algorithm; it produces the azimuth, angle (in degrees) between local North and projected sun direction, given local lat and lon (in degrees)
 Algorithm getDistanceAlgorithm()
          returns the Distance Algorithm; it produces the distance, between local position and sun, in AU (astronomic units), given local lat and lon (in degrees).
 Algorithm getEquationOfTimeResultAlgorithm()
           
 Algorithm getSunDeclinationAlgorithm()
          returns the Sun Declination Algorithm; it produces the declination, angle (in degrees) between equator plane and sun direction, given utc time
 Algorithm getZenithAngleAlgorithm()
          returns the ZenithAngle Algorithm; it produces the zenith angle, angle (in degrees) between local vertical and sun direction, given local lat and lon (in degrees)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SunTriangulation

public SunTriangulation(TerrainTriangulation terrTri,
                        int year,
                        int month,
                        int dayInMonth,
                        double utc)
constructor of SunTriangulation using sun- and satellite -related geometric input to allow mainly angle computations. The time parameters yield the members int julianday (DOY) and the angle of the sun position since julianday 1, 12 a.m. as input 'gamma' for Equation of time and sun-Declination

Parameters:
terrTri - holds terrainlocation specific vectors
year -
month -
dayInMonth -
utc - Universal Time Crd in double precision
Method Detail

getZenithAngleAlgorithm

public Algorithm getZenithAngleAlgorithm()
returns the ZenithAngle Algorithm; it produces the zenith angle, angle (in degrees) between local vertical and sun 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 sun 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 sun, in AU (astronomic units), given local lat and lon (in degrees). 1 AU = mean distance earth - sun

Returns:
the Algorithm

getEquationOfTimeResultAlgorithm

public Algorithm getEquationOfTimeResultAlgorithm()

getSunDeclinationAlgorithm

public Algorithm getSunDeclinationAlgorithm()
returns the Sun Declination Algorithm; it produces the declination, angle (in degrees) between equator plane and sun direction, given utc time

Returns:
the Algorithm