Topocentric Primary Directions

Swiss Ephemeris · Kühr proportional poles · Naibod key

Local calculation

01 · Natal chart

Start with birth data

Swiss Ephemeris is included. All calculations stay on this device.

Local birth time · 24-hour
::
Node, Fortune and time adjustments

Mean Node is the default. Directed Nodes use the same Kühr proportional pole as planets. Day/night uses the Sun's geometric centre above or below the horizon. Planet positions are geocentric, with latitude. Topocentric refers to the house and direction method.

Adjust birth time
Starting embedded ephemeris…

No automatic city or historical time-zone lookup. Enter the offset used on the birth record; for records explicitly using local mean time, select that time basis.

03 · Output

Primary directions by absolute orb

Native—
Birth—
Event—
Naibod arc—
Forming means the orb decreases as life-arc advances; separating means it widens. Results are sorted strictly by absolute orb.
Seconds-enabled Janus values are used throughout, including a fresh MD ÷ SA calculation from the unrounded MD and SA. Minute-only specula remain supported, with their unavoidable source-rounding caveat.

Enter birth data or a Janus speculum, select the event date,
then calculate. Direct and converse results will be interleaved by orb.

Method and fixed rules

Planetary factors. Birth data uses apparent geocentric Swiss Ephemeris positions, true obliquity and UT1 sidereal time. Janus input recovers right ascension from its OA/OD pair. For seconds-enabled data, MD / SA is recalculated from the full MD and SA rather than the displayed four-decimal ratio. The Kühr proportional pole is then calculated as tan p = (MD / SA) × tan φ, followed by sin ADp = tan p × tan δ. Eastern factors use OA = RA − ADp; western factors use OD = RA + ADp.

Angles and cusps. Signed poles retain the geographic hemisphere. Their 30°-spaced ascensional coordinates are advanced or regressed with the same primary arc. The Topocentric cusp pole is reconciled to the pasted natal cusp position, RAMC, obliquity, and terrestrial latitude before the directed longitude is recovered.

Timing. Birth hours, minutes and seconds determine the natal sky. Event maturity remains date-based, using the local birth calendar date as in the original calculator. primary arc = elapsed calendar days × 0.00269861°. Single-date mode tests the selected day; range mode solves every exact crossing inside the interval and assigns it to the nearest calendar date. No event-date ephemeris is consulted.

Aspects. 0°, 30°, 45°, 60°, 90°, 120°, 135°, 150°, 180°. Single-date mode uses strict orbs under 12′ for conjunction/opposition and under 6′ for other aspects, and reports forming or separating. Its optional surrounding view adds 6′ to the applicable normal limit, giving 18′ for conjunction/opposition and 12′ for the other aspects; results outside the normal limits are marked nearby. Range mode searches both motions, samples at no more than 0.25° of primary arc, brackets each crossing, and refines the root. Cusp-to-cusp pairs are limited to conjunction and opposition.

Accuracy, validation and source

Embedded Swiss Ephemeris 2.10.03 with Swiss planetary and lunar data, 1800–2399. Missing data stops calculation; it never silently switches to an analytical fallback. Browser must support WebAssembly. Gregorian dates; explicit historical UTC offset or local mean time. Ordinary semi-arc calculations stop for circumpolar factors and latitudes at or above 66°.

Tested on 25 charts (1800–2399) at northern, equatorial and southern latitudes: 1,100 position comparisons against native Swiss Ephemeris, 6,250 forward direction checks and 1,180 independently calculated maturities. All passed. Chromium file:// testing with networking disabled made zero external requests. A 1-second birth-time adjustment changed RAMC by 15.04″ in the 1962 test chart. The Node formula was subsequently corrected to the Kühr proportional pole, with Mean Node as the default. The January 25, 2007 reference gives converse Node sextile natal 3rd at 6′08″, visible with extended orbs. Janus tables display whole arcseconds, while the birth-data calculation retains full precision. Fortune retains its existing zero-latitude/proportional-pole treatment; directing Fortune can therefore differ from a Janus speculum that assigns it lunar latitude and a geometric pole.

Generated and imported lunar Nodes use the same Kühr MD/SA proportional pole as planets. Mean Node is the birth-data default; True Node remains selectable. Janus input uses the supplied Node longitude, OA/OD, declination, MD/SA and quadrant, and recalculates its direction pole rather than adopting its pasted Pole/PHA. Export a Mean Node speculum to match the default birth-data calculation. Fortune retains its existing treatment. The original Kühr projection onto zero-latitude ecliptic longitudes is retained; planets with latitude need not reproduce their natal longitude at zero arc.

Swiss Ephemeris © Astrodienst AG. WASM packaging © Kuntay Erkus. This combined calculator is supplied under AGPL-3.0-or-later, without warranty. Its application source is the HTML itself; the engine source and license are embedded below.