你好,请问如何由经纬度和时间计算出太阳高度角和太阳方位角,有公式吗,谢谢

如题所述

太阳高度角随着地方时和太阳的赤纬的变化而变化。太阳赤纬(与太阳直射点纬度相等)以δ表示,观测地地理纬度用φ表示(太阳赤纬与地理纬度都是北纬为正,南纬为负),地方时(时角)以t表示,有太阳高度角的计算公式:sin h=sin φ sin δ+cos φ cos δ cos t
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-16
已知:日出日落时太阳的位置h=-0.833°
要计算地的地理位置,经度Long,纬度G1at,时区zone,
UTo为上次计算的日出日落时间,第一次计算时UTo=180°。
(1)先计算出从格林威治时间公元2000年1月1日到计算日天数days
(2)计算从格林威治时间公元2000年1月1日到计算日的世纪数t
t=(days+UTo/360)/36525
(3)计算太阳的平黄径 L=280.460+36000.770×t
(4)计算太阳的平近点角
G=357.528+35999.050×t
(5)计算太阳的黄道经度
λ=L+1.915×sinG+0.020xsin(2G)
(6)计算地球的倾角 ε=23.4393-0.0130×t
(7)计算太阳的偏差 δ=arcsin(sinε×sinλ)
(8)计算格林威治时间的太阳时间角GHA:
GHA=UTo-180-1.915×sinG-0.020×sin(2G) +2.466×sin(2λ)-0.053×sin(4λ)
(9)计算修正值e
e=arcos{[ sinh-sin(Glat)sin(δ)]/cos(Glat)cos(δ)}
(10)计算新的日出日落时间
UT=UTo-(GHA+Long±e)
其中“+”表示计算日出时间,“-”表示计算日落时间
(11)比较UTo和UT之差的绝对值,如果大于0.1°即0.007小时,把UT作为新的日出日落时间值,重新从第(2)步开始进行迭代计算,如果UTo和UT之差的绝对值小于0.007小时,则UT即为所求的格林威治日出日落时间
(12)上面的计算以度为单位,即180°=12小时,因此需要转化为以小时表示的时间,再加上所在的时区数Zone,即要计算地的日出日落时间为
T=UT/15+Zone
上面的计算日出日落时间方法适用于小于北纬60°和南纬60°之间的区域,如果计算位置为西半球时,经度Long为负数。

参考资料:人工智能 SunHeightAngle http://www.pudn.com/downloads101/sourcecode/app/detail415584.html

相似回答