分享

卫星天顶角 太阳天顶角 方位角计算

 天宫馆藏 2012-02-22
卫星天顶角:
The satellite zenith angle is the angle between the zenith line (pointing straight up) and the direction to the satellite. The satellite zenith angle is close to zero degrees for pixels near the center of the raw image. It increases to over 68 degrees for pixels near the left/right ends of the image. Therefore, the angle values range from 0 to approximately 68 degrees.
太阳高度角:
The solar zenith angle is the angle between the zenith line and the direction to the sun. Values can range from 0 to 180 degrees. However, for the purposes of solar zenith angle correction, values greater than 85 degrees are considered invalid.
方位角:
The relative azimuth angle is defined as the absolute difference between the satellite azimuth angle and the solar azimuth angle. It ranges between 0 and 180 degrees. The relative azimuth angle is discontinuous at the center of the input image. This is due to the fact that the satellite azimuth angle is undefined exactly at the image center (since the satellite zenith angle is zero degrees there).

CALCULATIONS

Below is a description of the equations and calculations used to compute the three angle quantities.
----------------------
Satellite Zenith Angle
----------------------

Given:   x           = image pixel coordinate (ranges from 0.0 to
                       2048.0)

         SatAltitude = Satellite altitude (fixed at 833.3 km)

         EarthRadius = Earth equatorial radius (fixed at 6378.135 km)

Step 1.  Compute the satellite scan/view angle for the given pixel
         coordinate.

                        (1024.0 - x)
         SatScanAngle = ------------ * 55.3846 degrees
                           1024.0

Step 2.  Compute the satellite zenith angle using the sine law.

              sin(SatZenAngle)         sin(SatScanAngle)
         -------------------------  =  -----------------
         SatAltitude + EarthRadius        EarthRadius

         Values of SatZenAngle range from 0 to +68 degrees, regardless
         of which side of nadir the pixel is on.

----------------------------
Greenwich Mean Sidereal Time
----------------------------

Preliminaries: We work with Modified Julian Dates here instead of
               Julian Dates because MJDs turnover at midnight instead
               of at noon - hence they are a little easier to work with.
               Refer to the Astronomical Almanac for details.

Given:   MJD       = Modified Julian Date

         MJD2000   = 51544.5 = Modified Julian Date of Epoch J2000.0,
                     which is defined as January 1, 2000, 12h UT.

         SecPerDay = 1440.0

         SolarSiderealDayRatio = 1.00273790934

Step 1.  Compute the integral and fractional MJD.

         IntMJD = floor(MJD)

         FracMJD = MJD - IntMJD

Step 2.  Compute Tu, which is the interval of time, measured in Julian
         centuries of 36525 days of universal time (mean solar days),
         elapsed since January 1, 2000, 12h UT.

         The Ast. Almanac gives the following equation for Tu:
           Tu = (JD - 2451545.0) / 36525

         We will modify this equation to use a Modified Julian Date
         instead. The value of Tu is not affected because there is a
         constant offset between JD and MJD values - and MJD is also
         referenced against the January 1, 2000, 12h UT epoch.

         Tu = (IntMJD - MJD2000) / 36525.0;

Step 3.  Compute the GMST value at 0h UT. This value is in seconds.

         GMST = 24110.54841 + 8640184.812866 * Tu + 0.093104 * Tu * Tu +
                (-6.2e-6) * Tu * Tu * Tu;

Step 4.  Now add the appropriate mean sidereal time interval to GMST
         using the fractional day value.

         GMST = GMST + FracMJD * SecPerDay * SolarSiderealDayRatio

Step 5.  Reduce the GMST value to between 0 and 86400 seconds.
         Then convert it to an angular measure (degrees).

         GMST = GMST / SecPerDay * 360.0 degrees


--------------------------------
Solar Hour Angle and Declination
--------------------------------

Given:   MJD   = Modified Julian Date
         GMST  = Greenwich Mean Sidereal Time corresponding to MJD
         Lon   = Longitude of some point on Earth's surface
                 (degrees East)
         Lat   = Latitude of some point on Earth's surface
                 (degrees North)

         MJD2000 = 51544.5 = Modified Julian Date of Epoch J2000.0,
                   which is defined as January 1, 2000, 12h UT.

Step 1.  Compute the number of days from J2000.0.

         Days = MJD - MJD2000

Step 2.  Compute the mean longitude and the mean anomaly of the Sun.
         The formulae can be found on page C24 of the 1988 Ast Almanac.

         MeanLongitude = 280.460 + 0.9856474 * Days

         MeanAnomaly = 357.528 + 0.9856003 * Days

Step 3.  Compute the ecliptic longitude of the Sun. See page C24 of
         the Ast. Almanac.

         EclipticLongitude = MeanLongitude + 1.915 * sin(MeanAnomaly) +
                             0.020 * sin(2.0 * MeanAnomaly);

Step 4.  Compute the obliquity of the ecliptic in radians. See C24.

         ObliquityOfEcliptic = 23.439 - 0.0000004 * Days


Step 5.  Compute the right ascension of the Sun. See page C24.
         Ensure that the right ascension and ecliptic longitude values
         are in the same hemisphere.

         tan(SolarRightAscension) =
             cos(ObliquityOfEcliptic) * tan(EclipticLongitude)

Step 6.  Compute the declination of the Sun.

         sin(SolarDeclination) =
             sin(ObliquityOfEcliptic) * sin(EclipticLongitude)

Step 7.  Compute the local (apparent) sidereal time (as an angle).
         Use GMST as a close approximation to GST (Greenwich
         Apparent Sidereal Time).

         LST = GST + Lon

Step 8.  Compute the hour angle of the Sun. A negative hour angle
         means the Sun is east of the observer's location.

         SolarHourAngle = LST - SolarRightAscension

------------------
Solar Zenith Angle
------------------

Given:   Lat   = North latitude of a point on Earth's surface

         SolarHourAngle already computed

         SolarDeclination already computed

Step 1.  Compute the solar zenith angle using this formula from [R1].

         cos(SolarZenithAngle) = sin(SolarDeclination) * sin(Lat) +
             cos(SolarDeclination) * cos(Lat) * cos(SolarHourAngle)

----------------------
Relative Azimuth Angle
----------------------

Given:   Lon    = East longitude of a point on Earth's surface
         Lat    = North latitude of a point on Earth's surface
         SatLon = East longitude of satellite nadir.
         SatLat = North latitude of satellite nadir.

         SatScanAngle         already computed
         SolarHourAngle       already computed
         SolarDeclination     already computed
         SolarZenithAngle     already computed
         SatelliteZenithAngle already computed

Step 1.  Compute the solar azimuth angle using equation 2.7 from [R1].

         sin(SolarDeclination) = cos(SolarZenithAngle) * sin(Lat) +
             sin(SolarZenithAngle) * cos(Lat) * cos(SolarAzimuthAngle)

         If SolarHourAngle < 0.0 Then
             SolarAzimuthAngle = -1 * SolarAzimuthAngle
         EndIf

Step 2.  Compute the Earth angle, which is the angle from the
         point on the Earth's surface - to the center of the Earth -
         to the satellite.

         EarthAngle = SatelliteZenithAngle - SatScanAngle

Step 3.  Compute the satellite hour angle and declination.

         SatelliteHourAngle = Lon - SatLon

         SatelliteDeclination = SatLat

Step 4.  Compute the satellite azimuth angle using equation 2.7 of [R1].

         sin(SatelliteDeclination) = cos(EarthAngle) * sin(Lat) +
             sin(EarthAngle) * cos(Lat) * cos(SatelliteAzimuthAngle)

         If SatelliteHourAngle < 0.0 Then
             SatelliteAzimuthAngle = -1 * SatelliteAzimuthAngle
         EndIf

Step 5.  Compute the relative azimuth angle.

         RelativeAzimuthAngle =
             fabs(SolarAzimuthAngle - SatelliteAzimuthAngle)

         If ( RelativeAzimuthAngle > 180 degrees ) Then
             RelativeAzimuthAngle = 360 degrees - RelativeAzimuthAngle
         EndIf

---------------------------------
References for Angle Computations
---------------------------------

[R1] Green, Robin M., "Spherical Astronomy", Cambridge University
         Press, 1985.

[R2] 1988 Astronomical Almanac.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多