int = PlanetAtExtremalLatitude(nDate, nSunSourceIndex, nPlanetID)
This macro function calculates the time, on nDate, when the orbit of the planet of planetary index nPlanetID is at the highest or lowest latitude with respect to the plane of the solar system.
•The allowed values for nPlanetID range from n_MERCURY to n_PLUTO.
•The sign of the result is positive if the planet is highest (furthest north), and negative if the planet is lowest (furthest south) 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, have reached their highest or lowest latitude with respect to the plane of the solar system, on the date of the incoming macro token.
sResult = ''
for nPlanetID = n_MERCURY to n_PLUTO step 1
sBuffer = ''
nCurResIdx = PlanetAtExtremalLatitude(n_TokenDate, 1, nPlanetID)
if nCurResIdx > 0
sBuffer = PlanetName(nPlanetID) + ' furthest north'
endif
if nCurResIdx < 0
sBuffer = PlanetName(nPlanetID) + ' furthest south'
endif
// add the time it occurs in parentheses
if nCurResIdx <> 0
sBuffer = sBuffer + FormatTime('" ("hh:nn")"', Abs(nCurResIdx), true)
endif
if sBuffer <> ''
if sResult <> ''
sResult = sResult + ', '
endif
sResult = sResult + sBuffer
endif
endfor
This is an event that 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. By contrast, PlanetAtExtremalUpperTransit depends on the observer’s position on Earth.
See also: planetary macro functions.
Topic 180025, last updated on 12-Oct-2026