1

这里有一个 PSA 算法的实现:

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

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

天顶角:71.034037 方位角: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);
}

有人对这个算法有经验吗?

4

1 回答 1

2

正如我评论的那样,我认为函数的结果是好的:

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

你确定你输入的是UTC时间吗?我在一个网站上看到德语在夏天有当地时间 UTC+2。那么 6:00 在德语中实际上是 8:00。它解释了你的结果吗?

于 2012-04-05T18:47:48.663 回答