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

Berekeningsnauwkeurigheid

De AstroWay API gebruikt Swiss Ephemeris (de 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. Wij draaien deze op onze eigen servers en bieden het aan via een REST API-laag, zonder tussenliggende marge. 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 de officiële swetest CGI Astrodienst (gemeten op 2026-07-29 over 130 metingen). Uitsplitsing per lichaam hieronder
  • Onafhankelijke benchmarkrun door derden (RoxyAPI, tegen NASA JPL Horizons DE441): 210 van de 210 binnen tolerantie, mediaan 0.11", maximum 0.60"
  • Placidus huizenpunten: 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, ingresses, planeetconjuncties: nauwkeurigheid tot een fractie van een seconde

Deze cijfers zijn geen schatting, maar het resultaat van een run. Het script neemt 10 kaarten, 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"
Cheiron0.561"
mean Apogee (Lilith)0.000"

Mediaan over alle 130 metingen: 0.0013".

Eerder stond op deze pagina de algemene belofte ”< 0.1 boogseconde”. Metingen van 2026-07-29 toonden aan dat Neptunus, Pluto en Cheiron deze niet halen, daarom is de belofte vervangen door de feitelijke cijfers. Cheiron en de buitenplaneten hebben een grotere drift omdat hun posities worden gehaald uit een gecomprimeerde set efemeriden die onze build gebruikt.

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

Controleer het zelf. Het script waarmee de bovenstaande cijfers zijn gemeten, bevindt zich in de openbare repository onder MIT-licentie: 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
EfemeridenDE431 JPL efemeriden (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, onafhankelijk van onze build. Bevestigt dat onze wrapper-laag de gegevens niet vervormt.

Een externe Swiss Ephemeris API (sidereal 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.

Kaarttegen swetest (Astrodienst)tegen Kerykeion (Python)tegen 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)

Onafhankelijke verificatie met een externe tool

Section titled “Onafhankelijke verificatie met een externe tool”

RoxyAPI publiceert hun eigen benchmark tegen NASA JPL Horizons DE441: MIT-licentie, alleen de standaardbibliotheek, 21 kaarten en 210 posities, en de --base-url vlag, om deze op elke andere API te richten. In hun README staat expliciet dat de toleranties opzettelijk niet zijn aangepast aan hun eigen engine, omdat een benchmark die een concurrent moet controleren, eerlijk moet zijn.

Wij hebben deze op onszelf gericht, zonder ook maar één getal in hun code te wijzigen. De adapter hernoemt één aanvraagveld en verwijdert één antwoordwrapper.

AstroWayRoxyAPI, hun run 2026-09-29
Binnen tolerantie210 van 210210 van 210
Mediaan afwijking0.11"0.05"
Maximum0.60"0.78"

Onze meting van 2026-09-09, kosten 21 API-aanvragen. RoxyAPI is in september overgestapt op directe uitlezing van DE440, en hun mediaan is nu lager dan de onze; ons maximum is lager dan het hunne. Gesorteerde uitvoer van alle 210 regels: CSV.

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

De snapshot-suite vangt:

  • Bugs in input-mapping: verkeerde planeet-ID, UT, huizensysteem
  • Post-processing: afronding, eenheidsconversie, tekenverlies
  • Afwijking van 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, tegen swetest)

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

Verduisteringen (tegen NASA 5-Millennium Catalog)

Section titled “Verduisteringen (tegen NASA 5-Millennium Catalog)”
GebeurtenisNASA maximumOns maximumDrift
2025-03-14 Totale Maansverduistering06:58 UT06:58 UT0.8 min
2025-03-29 Gedeeltelijke Zonsverduistering10:47 UT10:47 UT0.5 min
2025-09-07 Totale Maansverduistering18:11 UT18:11 UT0.8 min
2025-09-21 Gedeeltelijke Zonsverduistering19:41 UT19:42 UT1.0 min

Astrocartografie (tegen de RA-formule van swetest)

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

De MC- en IC-lijnen worden geconstrueerd met de formule longitude = RA − GMST (standaard Kenneth Bowser). Drift ten opzichte van de referentie: < 1.5 km op de evenaar voor alle planeten.

De horizonlijnen ASC en DSC worden berekend met de horizonvergelijking in dezelfde equatoriale coördinaten: cos H = -tan φ · tan δ, waarbij H = (GMST + lng) − RA. De helften verschillen in het teken van de uurhoek: bij H < 0 bevindt het lichaam zich oostelijk van de meridiaan, d.w.z. het rijst. De controle die we bij elke run uitvoeren: elk punt van elke horizoncurve wordt genomen en de hoogte van het lichaam boven de horizon wordt daarin berekend. Op 8419 punten is de maximale afwijking 0.0 km, wat betekent dat het lichaam inderdaad op de horizon staat overal waar we de lijn hebben getrokken.

Zonsopgang / Zonsondergang (tegen timeanddate.com)

Section titled “Zonsopgang / Zonsondergang (tegen timeanddate.com)”
LocatieDatumParameterDrift
London2026-04-15Zonsopgang0.6 s
London2026-04-15Zonsondergang9 s

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

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

AspectZonMaanBinnenJupiterBuiten
Conjunction12°10°5°8°5°
Sextile6.5°6°5°5°5°
Square10°8°5°7°5°
Trine12°8°5°5°5°
Opposition12°10°5°8°5°

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 mathematisch niet gedefinieerd. In dergelijke gevallen retourneert Swiss Ephemeris automatisch Porphyry, en onze API voegt een waarschuwing toe:

{
"system": "P",
"warning": "Placidus system is undefined for lat=68.96° (> 66.5°). Swiss Ephemeris fell back to Porphyry..."
}

Regressie wordt bij elke PR gecontroleerd via CI:

  • api-calc/tests/endpoints/: 873 snapshots tegen referentiekaarten (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

Betrouwbaarheid van MCP: getypeerde uitvoer

Section titled “Betrouwbaarheid van MCP: getypeerde uitvoer”

De nauwkeurigheid van de engine is de helft van het vertrouwen. De andere helft is het uitvoercontract, 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 niet een willekeurig te parsen string.
  • 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 uitvoer van het endpoint afwijkt van het gepubliceerde schema, faalt de build. Juist deze klasse van discrepanties veroorzaakt de MCP-fout -32602 Output validation error.
  • Fouten: het zijn fouten. Een toolfout wordt altijd geretourneerd met de vlag isError en een getypeerde code (UPPER_SNAKE). Wij geven nooit een model een ruwe stack trace of interne serverpaden als “data”.

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” (tegenover < 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: stuur een e-mail naar support@astroway.info met de kaartgegevens en de verwachte referentie (astro.com of een andere gezaghebbende bron).

Nuttig?
Wijziging voorstellen

Laatst bewerkt: