gpt4 book ai didi

matlab - 从太阳位置和观察者位置的时间

转载 作者:太空宇宙 更新时间:2023-11-03 20:04:54 25 4
gpt4 key购买 nike

我有带有纬度、经度和太阳位置(方位角、天顶角和仰角)的卫星图像,但没有时间戳。

除了使用天文年历,有没有办法根据太阳的位置和图像位置来计算时间?

我见过 Matlab 脚本和 ArcGIS 工具做相反的事情,即它们根据观察者的纬度、经度和时间计算太阳的位置,但我在这个中缺少“时间”变量案例,并希望为所有图像找到它。

最佳答案

这是一种(略显粗糙的)方法,因为我见过的位置计算器对于“给定已知日期的时间”进行逆向工程似乎不是特别容易。

我使用了一个现有的太阳位置计算器,Sun Position从文件交换。然后,我为此函数编写了两个包装函数,以一种稍微更有用的搜索格式输出信息:

sun_hour →‖计算给定日期的每小时(零分钟)位置。

sun_min → 给定日期和小时,计算该日期/小时两侧一小时的分钟位置。

由于原始功能很快,即使在我不是特别好的计算机上,这两个功能也只需几分之一秒。

然后,我按照以下几行编写了一个快速时间定位函数,仅使用测量的方位角(以及时间/位置输入,以 sun_position 要求的格式提供日期和位置)。

time.min = 0;

% find list of azimuths, find closest match
[azlist, zlist, hours] = sun_hour(time, location);
n = find(abs(azlist-azimuth)==min(abs(azlist-azimuth)));
time.hour = hours(n);

% ditto, but around the time found at previous step
[azlist, zlist, hours, minutes] = sun_min(time, location);
n = find(abs(azlist-azimuth)==min(abs(azlist-azimuth)));

% output time
time.hour = hours(n);
time.min = minutes(n);

我还没有对它进行彻底的测试,但它似乎可以很好地进行粗略估计(当然,假设原始位置计算器的准确性很好)。我假设您不需要比分钟更准确(除非您设法非常准确地测量位置)。您需要注意最终使用的计算器如何处理时区、输出是否为本地时间等。

关于matlab - 从太阳位置和观察者位置的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21411118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com