使用PSA算法计算方位角和仰角

时间:2012-04-05 17:37:58

标签: c algorithm astronomy

这里有PSA算法的实现:

http://www.psa.es/sdg/sunpos.htm

我将此测试代码添加到sunpos.cpp,以计算2008年8月6日6:00慕尼黑的太阳位置。但是我得到了无用的结果,输出是:

dZenithAngle:71.034037 dAzimuth:86.052150

#include <stdio.h>
main(){

    cTime t = {2008, 8, 6, 6.0, 0.0, 0.0};
    cLocation l = {11.6, 48.1};
    cSunCoordinates s;

    sunpos(t, l, &s);

    printf("%f %f\n", s.dZenithAngle, s.dAzimuth);
}

有人对这种算法有过一些经验吗?

1 个答案:

答案 0 :(得分:2)

正如我发表评论,我认为该功能的结果还可以:

结果是太阳位置几乎在东方,海拔高度为4度。 (90 - 86)。看起来很正确。

您确定输入UTC时间吗?我在site中看到德语在夏天的当地时间为UTC + 2。那么6点是德语中的8点。它能解释你的结果吗?