Для точного вычисления нужно знать не только время, но и высоту над горизонтом (секстант именно для этого) и азимут на солнце (компасу привет).
Можно вместо азимута сделать два измерения высоты в разное время, или измерить высоту ровно в полдень (но тогда надо хотя-бы приблизительно понимать где вы находитесь).
По фотографии не всегда точно получится определить высоту над горизонтом, да сам горизонт частенько завален, что тоже негативно отразится на точности. Азимута на фотографии вообще нет.
В общем, проще уж по GPS.