Přesnost výpočtů
TL;DR
Sekce “TL;DR”AstroWay API používá Swiss Ephemeris (oficiální C-kód od Astrodienst, tvůrců astro.com) – stejný engine, na kterém profesionální astrologové posledních 30+ let pracují v Solar Fire ($495), Kepler ($995), Astro Gold ($29.99/měsíc) a Janus. My jsme ho sestavili do WebAssembly a vystavili přes REST API bez prostřednického navyšování cen. Každý z výchozích výpočetních endpointů je pokryt regresními snapshot-testy; přesnost engineu je ověřena triangulací ze tří nezávislých zdrojů + proti NASA 5-Millennium Eclipse Catalog:
- Polohy planet:
< 0.1 úhlová vteřinavs oficiálního swetest CGI Astrodienst - Kuspidy domů Placidus:
0.000"přesná shoda - Zatmění:
< 1 minutavs NASA Eclipse Catalog - Astro-geografické linie:
< 1.5 kmna rovníku vs swetest - Východ/západ Slunce:
< 10 sekundvs timeanddate.com - Měsíční VOC, ingressy, konjunkce planet: přesnost na zlomek vteřiny
Engine
Sekce “Engine”| Komponenta | Hodnota |
|---|---|
| Knihovna | Swiss Ephemeris C code (aloistr/swisseph) |
| Verze | upstream Astrodienst C code |
| Bindings | swisseph-wasm (WebAssembly v Node.js) |
| Efemeridy | DE431 JPL efemeridy (přes .se1 soubory) |
| Fallback | Moshier analytický (pro data mimo 1800–2399) |
| Sdílení kódu | Sdílený @/core s app.astroway.info – jeden engine, dva transporty |
Metodika
Sekce “Metodika”Přesnost je ověřována pomocí triangulace – porovnáním se třemi nezávislými zdroji:
1. swetest CGI (etalon)
Sekce “1. swetest CGI (etalon)”Oficiální referenční implementace Swiss Ephemeris od samotných Astrodienst – kód, který vytvořil Astro.com a který obsluhuje miliony astrologů po celém světě. Nejautoritativnější veřejný zdroj. Náš engine je identický (0.00–0.07 úhlové vteřiny driftu).
2. Kerykeion (Python)
Sekce “2. Kerykeion (Python)”Nezávislá Python knihovna používající pyswisseph bindings místo našeho WASM.
Ověřuje, že náš WASM-vrstva nezkresluje data.
3. Prokerala API
Sekce “3. Prokerala API”Vzdálené Swiss Ephemeris API (siderický Lahiri). Systémový drift 8–17 úhlových vteřin souvisí s různými verzemi vzorce Lahiri ayanamsa, nikoliv s přesností engineu.
Výsledky triangulace
Sekce “Výsledky triangulace”| Karta | proti swetest (Astrodienst) | proti Kerykeion (Python) | proti Prokerala API |
|---|---|---|---|
| Monroe 1926 | 0.00” | 0.19” | 16.95” (systémový) |
| Diana 1961 | 0.00” | 0.69” | 8.18” (systémový) |
| Einstein 1879 | 0.07” | LMT-artifakt Kerykeion | 14.96” (systémový) |
Regression sada na úrovni endpointů
Sekce “Regression sada na úrovni endpointů”Každý z výchozích výpočetních endpointů je pokryt zmrazenými snapshot-testy na 3 referenčních kartách (Monroe / Diana / Einstein) = 818 snapshotů.
Snapshot-suite zachycuje:
- Chyby mapování vstupních dat – špatné id planety, UT, systém domů
- Post-processing – zaokrouhlování, převody jednotek, ztráta znaménka
- Rozdíly v defaults – mean vs true node, geocentrický vs topocentrický
- Schema drift – validace propustila špatný formát
- Zastaralé nasazení – prod dist neodpovídá kódu
Tolerance: 5e-5° (≈0.18 úhlové vteřiny) jako výchozí pro všechna číselná pole.
Detailní benchmarky
Sekce “Detailní benchmarky”Polohy planet (tropický, proti swetest)
Sekce “Polohy planet (tropický, proti swetest)”| Karta | Datum | Maximální drift |
|---|---|---|
| Marilyn Monroe | 1926-06-01 | 0.00” |
| Princess Diana | 1961-07-01 | 0.00” |
| Albert Einstein | 1879-03-14 | 0.07” |
Kuspidy domů Placidus (proti swetest)
Sekce “Kuspidy domů Placidus (proti swetest)”| Karta | drift ASC | drift MC | Maximální drift kuspidu |
|---|---|---|---|
| Monroe | 0.000” | 0.000” | 0.000” |
| Diana | 0.000” | 0.000” | 0.000” |
Zatmění (proti NASA 5-Millennium Catalog)
Sekce “Zatmění (proti NASA 5-Millennium Catalog)”| Událost | Maximální NASA | Náš maximální | Drift |
|---|---|---|---|
| 2025-03-14 Lunární úplné | 06:58 UT | 06:58 UT | 0.8 min |
| 2025-03-29 Částečné sluneční | 10:47 UT | 10:47 UT | 0.5 min |
| 2025-09-07 Lunární úplné | 18:11 UT | 18:11 UT | 0.8 min |
| 2025-09-21 Částečné sluneční | 19:41 UT | 19:42 UT | 1.0 min |
Astro-kartografie (proti vzorci RA ze swetest)
Sekce “Astro-kartografie (proti vzorci RA ze swetest)”Všechny linie MC/IC/ASC/DSC používají správný vzorec longitude = RA − GMST
(standard Kenneth Bowser). Drift od etalonu: < 1.5 km na rovníku pro
všechny planety.
Východ / západ Slunce (proti timeanddate.com)
Sekce “Východ / západ Slunce (proti timeanddate.com)”| Lokalita | Datum | Parametr | Drift |
|---|---|---|---|
| Londýn | 2026-04-15 | Východ Slunce | 0.6 s |
| Londýn | 2026-04-15 | Západ Slunce | 9 s |
Polární lokality (|zem. šířka| > 66.5°) automaticky vrací polarState +
varování, že běžné planetary hours nejsou definovány.
Orby aspektů
Sekce “Orby aspektů”AstroWay používá proměnlivé orby per-planet (pravidlo MIN dvou planet), jako v ZET9 a astro.com. Orby jako výchozí (pro nativní kartu):
| Aspekt | Slunce | Měsíc | Vnitřní | Jupiter | Vnější |
|---|---|---|---|---|---|
| Konjunkce | 12° | 10° | 5° | 8° | 5° |
| Sextil | 6.5° | 6° | 5° | 5° | 5° |
| Kvadrát | 10° | 8° | 5° | 7° | 5° |
| Trinus | 12° | 8° | 5° | 5° | 5° |
| Opozice | 12° | 10° | 5° | 8° | 5° |
Minor aspekty (36°, 40°, 45°, 72°, 108°, 135°, 144°) jsou výchozí vypnuté.
Zapínají se explicitně přes ALL_ASPECTS.
Polární šířky
Sekce “Polární šířky”Pro |zem. šířka| > 66.5° systémy Placidus / Koch / Regiomontanus nejsou matematicky definovány. V takových případech Swiss Ephemeris automaticky vrací Porphyry a náš API přidává varování:
{ "system": "P", "warning": "Systém Placidus není definován pro lat=68.96° (> 66.5°). Swiss Ephemeris použil Porphyry..."}Kontinuální ověřování
Sekce “Kontinuální ověřování”Regression je ověřována na každý PR přes CI:
api-calc/tests/endpoints/– 818 snapshotů proti referenčním kartám (Monroe / Diana / Einstein) + synastrie / kompozit / Davison.github/workflows/api-accuracy.yml– automatický běh na PR- Triangulace proti swetest CGI + Kerykeion – každý týden
- Monitorování upstream Swiss Ephemeris přes Dependabot
Známá omezení
Sekce “Známá omezení”- Data mimo rozsah (před 1800 a po 2399): používá se Moshier analytický, přesnost ~0.1” (oproti < 0.01” pro SWIEPH s DE431 soubory)
- True Lilith (id=13) vs Mean Lilith (id=12): rozdíl až 12° – jako výchozí
Mean Lilith (stabilní chování), True Lilith je dostupný přes
planetIds: [13] - Topocentrický vs geocentrický: jako výchozí geocentrický
Odkazy
Sekce “Odkazy”- Swiss Ephemeris: https://www.astro.com/swisseph/
- swetest CGI: https://www.astro.com/swisseph/swetest.htm
- Katalog zatmění NASA: https://eclipse.gsfc.nasa.gov/
- Kerykeion: https://github.com/g-battaglia/kerykeion
- Astrodienst: https://www.astro.com/
Kontakty
Sekce “Kontakty”Na dotazy ohledně přesnosti piš na support@astroway.info s daty karty a očekávaným etalonem (astro.com nebo jiné autoritativní zdroje).