int = PlanetNode(nDate, nSunSourceIndex, nPlanetID)
This macro function calculates the time, on nDate, when the orbit of the planet of planetary index nPlanetID crosses the equatorial plane of the solar system.
•The allowed values for nPlanetID range from n_MOON to n_PLUTO.
•The sign of the result is positive if the planet is crossing the plane on it way up, and negative if the planet is crossing the plane on its way down, 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, or the Moon, cross the equatorial plane of the solar system, on the date of the incoming macro token.
for nPlanetID = n_MOON to n_PLUTO step 1
sBuffer = ''
nCurResIdx = PlanetNode(n_TokenDate, 1, nPlanetID)
if nCurResIdx > 0
sBuffer = PlanetName(nPlanetID) + ' ascending node'
endif
if nCurResIdx < 0
sBuffer = PlanetName(nPlanetID) + ' descending node'
endif
// add the time it occurs in parentheses
if nCurResIdx <> 0
sBuffer = sBuffer + FormatTime('" ("hh:nn")"', Abs(nCurResIdx), true)
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.
See also: planetary macro functions.
Topic 180020, last updated on 18-Apr-2020