#ATIS - Polar circle fixes

This commit is contained in:
Applevangelist 2024-08-13 10:31:26 +02:00
commit 5d98672de5
3 changed files with 24 additions and 16 deletions

View File

@ -2669,9 +2669,9 @@ do -- COORDINATE
local date=UTILS.GetDCSMissionDate() local date=UTILS.GetDCSMissionDate()
-- Debug output. -- Debug output.
--self:I(string.format("Sun rise at lat=%.3f long=%.3f on %s (DayOfYear=%d): %s (%d sec of the day) (GMT %d)", Latitude, Longitude, date, DayOfYear, tostring(UTILS.SecondsToClock(sunrise)), sunrise, Tdiff)) --self:I(string.format("Sun rise at lat=%.3f long=%.3f on %s (DayOfYear=%d): %s (%s sec of the day) (GMT %d)", Latitude, Longitude, date, DayOfYear, tostring(UTILS.SecondsToClock(sunrise)), tonumber(sunrise) or "0", Tdiff))
if InSeconds then if InSeconds or type(sunrise) == "string" then
return sunrise return sunrise
else else
return UTILS.SecondsToClock(sunrise, true) return UTILS.SecondsToClock(sunrise, true)
@ -2837,9 +2837,9 @@ do -- COORDINATE
local date=UTILS.GetDCSMissionDate() local date=UTILS.GetDCSMissionDate()
-- Debug output. -- Debug output.
--self:I(string.format("Sun set at lat=%.3f long=%.3f on %s (DayOfYear=%d): %s (%d sec of the day) (GMT %d)", Latitude, Longitude, date, DayOfYear, tostring(UTILS.SecondsToClock(sunrise)), sunrise, Tdiff)) --self:I(string.format("Sun set at lat=%.3f long=%.3f on %s (DayOfYear=%d): %s (%s sec of the day) (GMT %d)", Latitude, Longitude, date, DayOfYear, tostring(UTILS.SecondsToClock(sunrise)), tostring(sunrise) or "0", Tdiff))
if InSeconds then if InSeconds or type(sunrise) == "string" then
return sunrise return sunrise
else else
return UTILS.SecondsToClock(sunrise, true) return UTILS.SecondsToClock(sunrise, true)

View File

@ -1975,17 +1975,25 @@ function ATIS:onafterBroadcast( From, Event, To )
local hours = self.gettext:GetEntry("HOURS",self.locale) local hours = self.gettext:GetEntry("HOURS",self.locale)
local sunrise = coord:GetSunrise() local sunrise = coord:GetSunrise()
sunrise = UTILS.Split( sunrise, ":" ) --self:I(sunrise)
local SUNRISE = string.format( "%s%s", sunrise[1], sunrise[2] ) local SUNRISE = "no time"
if self.useSRS then if tostring(sunrise) ~= "N/S" and tostring(sunrise) ~= "N/R" then
SUNRISE = string.format( "%s %s %s", sunrise[1], sunrise[2], hours ) sunrise = UTILS.Split( sunrise, ":" )
SUNRISE = string.format( "%s%s", sunrise[1], sunrise[2] )
if self.useSRS then
SUNRISE = string.format( "%s %s %s", sunrise[1], sunrise[2], hours )
end
end end
local sunset = coord:GetSunset() local sunset = coord:GetSunset()
sunset = UTILS.Split( sunset, ":" ) --self:I(sunset)
local SUNSET = string.format( "%s%s", sunset[1], sunset[2] ) local SUNSET = "no time"
if self.useSRS then if tostring(sunset) ~= "N/S" and tostring(sunset) ~= "N/R" then
SUNSET = string.format( "%s %s %s", sunset[1], sunset[2], hours ) sunset = UTILS.Split( sunset, ":" )
SUNSET = string.format( "%s%s", sunset[1], sunset[2] )
if self.useSRS then
SUNSET = string.format( "%s %s %s", sunset[1], sunset[2], hours )
end
end end
--------------------------------- ---------------------------------

View File

@ -1221,7 +1221,7 @@ function UTILS.SecondsToClock(seconds, short)
end end
-- Seconds -- Seconds
local seconds = tonumber(seconds) local seconds = tonumber(seconds) or 0
-- Seconds of this day. -- Seconds of this day.
local _seconds=seconds%(60*60*24) local _seconds=seconds%(60*60*24)
@ -2122,9 +2122,9 @@ function UTILS.GetSunRiseAndSet(DayOfYear, Latitude, Longitude, Rising, Tlocal)
local cosH = (cos(zenith) - (sinDec * sin(latitude))) / (cosDec * cos(latitude)) local cosH = (cos(zenith) - (sinDec * sin(latitude))) / (cosDec * cos(latitude))
if rising and cosH > 1 then if rising and cosH > 1 then
return "N/R" -- The sun never rises on this location on the specified date return "N/S" -- The sun never rises on this location on the specified date
elseif cosH < -1 then elseif cosH < -1 then
return "N/S" -- The sun never sets on this location on the specified date return "N/R" -- The sun never sets on this location on the specified date
end end
-- Finish calculating H and convert into hours -- Finish calculating H and convert into hours