Time from the position of the sun and the position of the observer

I have satellite images with the latitude, longitude and position of the sun (azimuth, zenith and altitude), but there is no timestamp.

With the exception of using the astronomy almanac, is there any way to calculate the time from the position of the sun and the location of the image?

I saw Matlab scripts and ArcGIS tools that do this the other way around, i.e. they calculate the position of the sun based on lat, lon and observer time, but I skip the "time" variable in this and would like to find it for all images.

+4
source share
2 answers

( ) , , , " ".

, 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);

, , , (, ). , , . , , , , , ..

+1

, , , , , . .

+1

Source: https://habr.com/ru/post/1524114/


All Articles