Please enable JavaScript to view this site.


int = PlanetOnMeridian(nDate, nSunSourceIndex, nPlanetID)


This macro function calculates the time, on nDate, when the orbit of the planet of planetary index nPlanetID crosses the meridian (ie. when its longitude is zero).


The allowed values for nPlanetID range from n_MERCURY to n_PLUTO.

The sign of the result is positive if the planet is crossing the meridian going east, and negative if the planet is crossing the meridian going west, 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, crosses the meridian, on the date of the incoming macro token.

for nPlanetID = n_MOON to n_PLUTO step 1
    sBuffer = ''
    nCurResIdx = PlanetOnMeridian(n_TokenDate, 1, nPlanetID)
    if nCurResIdx > 0
        sBuffer = PlanetName(nPlanetID) + ' crossing the Meridian going east'
    if nCurResIdx < 0
        sBuffer = PlanetName(nPlanetID) + ' crossing the Meridian going west'
    // add the time it occurs in parentheses
    if nCurResIdx <> 0
       sBuffer = sBuffer + FormatTime('" ("hh:nn")"', Abs(nCurResIdx), true)

See also: planetary macro functions.


Topic 180115, last updated on 18-Apr-2020