int = PlanetAtExtremalUpperTransit(nDate, nSunSourceIndex, nPlanetID)
This macro function calculates the time, on nDate, when the planet of planetary index nPlanetID is has attained a maximal or minimal transit in the sky.
•The allowed values for nPlanetID range from n_MERCURY to n_PLUTO, and also include n_SUN and n_MOON.
•The sign of the result is positive if the planet has a minimal transit, and negative if the planet has a maximal transit, on nDate. If the date nDate does not correspond to either case, then the function returns 0.
•The absolute value of the result is the time of the day expressed in one millionth of a day (less than 1/10th of a second).
The macro code below checks if any of the planets, including Pluto, and the Moon and the Sun, have attained their maximal or minimal transit in the sky, on the date of the incoming macro token.
for nPlanetID = n_SUN to n_PLUTO step 1
sBuffer = ''
nCurResIdx = PlanetAtExtremalUpperTransit(n_TokenDate, 1, nPlanetID)
if nCurResIdx > 0
sBuffer = PlanetName(nPlanetID) + ' lowest transit'
if nCurResIdx < 0
sBuffer = PlanetName(nPlanetID) + ' highest transit'
// add the time it occurs in parentheses
if nCurResIdx <> 0
sBuffer = sBuffer + FormatTime('" ("hh:nn")"', Abs(nCurResIdx), true)
This is an event that depends on the position of an observer on the Earth and of the position of the Earth, in contrast to PlanetAtExtremalLatitude which is independent of the position of an observer on the Earth and indeed is independent of the position of the Earth with respect to planet nPlanetID.
See also: planetary macro functions.
Topic 177600, last updated on 18-Apr-2020