Ga naar inhoud
AstroWay/api v2.158.7 · nl
alle systemen normaal

Berekeningsnauwkeurigheid

AstroWay API gebruikt Swiss Ephemeris (officiële C-code van Astrodienst, de makers van astro.com) - dezelfde engine waarmee professionele astrologen al meer dan 30 jaar werken in Solar Fire ($495), Kepler ($995), Astro Gold ($29.99/maand) en Janus. We hebben het gecompileerd naar WebAssembly en blootgesteld als een REST API-laag, zonder tussenliggende markup. Elk van de basisberekenings-endpoints is gedekt door regressie-snapshot-tests; de nauwkeurigheid van de engine is geverifieerd via triangulatie met drie onafhankelijke bronnen + tegen de NASA 5-Millennium Eclipse Catalog:

  • Planetaire posities: mediaan 0.0013", maximum 0.561" vs officiële swetest CGI Astrodienst (gemeten op 29-07-2026 over 130 metingen). Uitsplitsing per lichaam hieronder
  • Huizenpunten Placidus: 0.000" exacte match
  • Verduisteringen: < 1 minuut vs NASA Eclipse Catalog
  • ACG-lijnen: < 1.5 km op de evenaar vs swetest
  • Zonsopgang/zonsondergang: < 10 seconden vs timeanddate.com
  • Maan VOC, ingangen, planeetconjuncties: nauwkeurigheid tot een fractie van een seconde

Deze cijfers zijn geen schatting, maar het resultaat van een run. Het script neemt 10 horoscopen, verspreid van 1900 tot 2050, vraagt dezelfde momenten op bij de live swetest CGI Astrodienst en vergelijkt alle 13 lichamen die wij teruggeven. Totaal 130 metingen.

LichaamMaximale drift
Zon, Venus, Saturnus0.001"
Mercurius0.002"
true Node0.004"
Mars0.007"
Jupiter0.009"
Maan0.022"
Uranus0.083"
Pluto0.097"
Neptunus0.223"
Chiron0.561"
mean Apogee (Lilith)0.000"

Mediaan over alle 130 metingen: 0.0013".

Eerder stond op deze pagina een algemene belofte van ”< 0.1 boogseconde”. Metingen van 29-07-2026 toonden aan dat Neptunus, Pluto en Chiron dit niet haalden, daarom is de belofte vervangen door de feitelijke cijfers. Chiron en de buitenplaneten hebben een grotere drift omdat hun posities worden gehaald uit een gecomprimeerde set efemeriden in de WASM-assembly.

Je kunt het zelf reproduceren: api-calc/scripts/accuracy-vs-swetest.mjs voert precies deze queries uit en print dezelfde tabel.

Controleer het zelf. Het script waarmee de bovenstaande cijfers zijn gemeten, bevindt zich in de openbare repository onder MIT: astroway/astrology-accuracy-benchmark. Het werkt niet alleen met ons: een adapter naar elke andere API is dertig regels code, dus dezelfde 130 metingen kunnen worden uitgevoerd tegen een concurrent en vergeleken. Een sandbox-sleutel is voldoende.

ComponentWaarde
BibliotheekSwiss Ephemeris C code (aloistr/swisseph)
Versieupstream Astrodienst C code
Bindingsswisseph-wasm (WebAssembly in Node.js)
EphemerisDE431 JPL ephemeris (via .se1 bestanden)
FallbackMoshier analytical (voor datums buiten 1800-2399)
Code sharingGedeelde @/core met app.astroway.info - één engine, twee transporten

De nauwkeurigheid wordt gecontroleerd via triangulatie - vergelijking met drie onafhankelijke bronnen:

De officiële referentie-implementatie van Swiss Ephemeris van Astrodienst zelf - het team dat Astro.com heeft gecreëerd en miljoenen astrologen wereldwijd bedient. De meest gezaghebbende openbare bron. Onze engine is identiek (0.00–0.07 boogseconde drift).

Een onafhankelijke Python-bibliotheek gebruikt pyswisseph-bindings in plaats van onze WASM. Bevestigt dat onze WASM-laag de gegevens niet vervormt.

Externe Swiss Ephemeris API (sidereale Lahiri). Systemische drift van 8–17 boogseconden is gerelateerd aan verschillende versies van de Lahiri ayanamsa-formule, en niet aan de nauwkeurigheid van de engine.

Horoscoopvs swetest (Astrodienst)vs Kerykeion (Python)vs Prokerala API
Monroe 19260.00”0.19”16.95” (systemic)
Diana 19610.00”0.69”8.18” (systemic)
Einstein 18790.07”LMT-artefact Kerykeion14.96” (systemic)

Elk van de basisberekenings-endpoints is gedekt door bevroren snapshot-tests op 3 referentiehoroscopen (Monroe / Diana / Einstein) = 873 snapshots.

Snapshot-suite vangt:

  • Bugs in input data mapping - onjuiste planeet-ID, UT, huizensysteem
  • Post-processing - afronding, eenheidsconversie, tekenverlies
  • Verschil in defaults - mean vs true node, geocentrisch vs topocentrisch
  • Schema drift - validatie heeft een onjuiste vorm gemist
  • Verouderde deployment - prod dist komt niet overeen met de code

Tolerantie: 5e-5° (≈0.18 boogseconde) standaard voor alle numerieke velden.

Planetaire posities (tropisch, vs swetest)

Section titled “Planetaire posities (tropisch, vs swetest)”
HoroscoopDatumMaximale drift
Marilyn Monroe1926-06-010.00”
Princess Diana1961-07-010.00”
Albert Einstein1879-03-140.07”
Horoscoopdrift ASCdrift MCMaximale drift cusp
Monroe0.000”0.000”0.000”
Diana0.000”0.000”0.000”

Verduisteringen (vs NASA 5-Millennium Catalog)

Section titled “Verduisteringen (vs NASA 5-Millennium Catalog)”
GebeurtenisNASA maximumOns maximumDrift
2025-03-14 Lunar Total06:58 UT06:58 UT0.8 min
2025-03-29 Solar Partial10:47 UT10:47 UT0.5 min
2025-09-07 Lunar Total18:11 UT18:11 UT0.8 min
2025-09-21 Solar Partial19:41 UT19:42 UT1.0 min

Astrocartografie (vs RA-formule van swetest)

Section titled “Astrocartografie (vs RA-formule van swetest)”

Alle MC/IC/ASC/DSC-lijnen gebruiken de juiste formule longitude = RA − GMST (Kenneth Bowser-standaard). Drift van de referentie: < 1.5 km op de evenaar voor alle planeten.

Zonsopgang / Zonsondergang (vs timeanddate.com)

Section titled “Zonsopgang / Zonsondergang (vs timeanddate.com)”
LocatieDatumParameterDrift
London2026-04-15Sunrise0.6 s
London2026-04-15Sunset9 s

Polaire locaties (|lat| > 66.5°) retourneren automatisch polarState + waarschuwing dat normale planetaire uren niet zijn gedefinieerd.

AstroWay gebruikt variabele orbissen per planeet (MIN-regel van twee planeten), zoals in ZET9 en astro.com. Standaardorbissen (voor de geboortehoroscoop):

AspectSunMoonInnerJupiterOuter
Conjunction12°10°
Sextile6.5°
Square10°
Trine12°
Opposition12°10°

Mineure aspecten (36°, 40°, 45°, 72°, 108°, 135°, 144°) zijn standaard uitgeschakeld. Ze worden expliciet ingeschakeld via ALL_ASPECTS.

Voor |lat| > 66.5° zijn de systemen Placidus / Koch / Regiomontanus wiskundig niet gedefinieerd. In dergelijke gevallen retourneert Swiss Ephemeris automatisch Porphyry, en onze API voegt een waarschuwing toe:

{
"system": "P",
"warning": "Система Placidus не визначена для lat=68.96° (> 66.5°). Swiss Ephemeris підставив Porphyry..."
}

Regressie wordt bij elke PR gecontroleerd via CI:

  • api-calc/tests/endpoints/ - 873 snapshots tegen referentiehoroscopen (Monroe / Diana / Einstein) + synastry / composite / davison
  • .github/workflows/api-accuracy.yml - automatische start bij PR
  • Triangulatie tegen swetest CGI + Kerykeion - wekelijks
  • Monitoring van upstream Swiss Ephemeris via Dependabot

De nauwkeurigheid van de engine is de helft van het vertrouwen. De andere helft is het outputcontract, dat een agent (Claude, ChatGPT, Cursor) kan valideren. Onze MCP-server retourneert geen “ruwe tekst, zoek het zelf maar uit”:

  • Getypeerde structuredContent. Meer dan 600 MCP-tools, en de overgrote meerderheid daarvan publiceert een strikt outputSchema - de MCP-client ontvangt een gevalideerde structuur, en geen willekeurige string die geparset moet worden.
  • Bescherming tegen schema drift. De CI-test openapi-example-drift valideert elke regressie-snapshot tegen het schema dat is afgeleid van zijn eigen voorbeeld: als de werkelijke output van het endpoint afwijkt van het gepubliceerde schema, faalt de build. Juist deze klasse van afwijkingen veroorzaakt de MCP-fout -32602 Output validation error.
  • Fouten zijn fouten. Een toolfout wordt altijd geretourneerd met de vlag isError en een getypeerde code (UPPER_SNAKE). Wij geven nooit een ruwe stack trace of interne serverpaden als “data” aan het model.

Dat betekent dat integratie via MCP net zo voorspelbaar is als een directe REST-aanroep: wat beschreven staat in /openapi.json, is wat de tool retourneert.

  • Datums buiten bereik (vóór 1800 en na 2399): Moshier analytical wordt gebruikt, nauwkeurigheid ~0.1” (vs < 0.01” voor SWIEPH met DE431-bestanden)
  • True Lilith (id=13) vs Mean Lilith (id=12): verschil tot 12° - standaard Mean Lilith (stabiel gedrag), True Lilith is beschikbaar via planetIds: [13]
  • Topocentrisch vs geocentrisch: standaard geocentrisch

Voor vragen over nauwkeurigheid: mail naar support@astroway.info met de horoscoopgegevens en de verwachte referentie (astro.com of een andere gezaghebbende bron).

Nuttig?
Запропонувати правку

Laatst bewerkt: