Μετάβαση στο περιεχόμενο
AstroWay/api v2.158.7 · el
όλες οι υπηρεσίες λειτουργούν κανονικά

Ακρίβεια υπολογισμών

Το AstroWay API χρησιμοποιεί το Swiss Ephemeris (επίσημος κώδικας C από την Astrodienst, τους δημιουργούς του astro.com) - την ίδια μηχανή με την οποία επαγγελματίες αστρολόγοι εργάζονται για πάνω από 30 χρόνια στα Solar Fire ($495), Kepler ($995), Astro Gold ($29.99/μήνα) και Janus. Το ενσωματώσαμε σε WebAssembly και το εκθέσαμε ως ένα επίπεδο REST API, χωρίς μεσιτική προσαύξηση. Κάθε ένα από τα βασικά υπολογιστικά endpoints καλύπτεται από regression snapshot-tests· η ακρίβεια της μηχανής έχει επαληθευτεί μέσω triangulation με τρεις ανεξάρτητες πηγές + έναντι του NASA 5-Millennium Eclipse Catalog:

  • Θέσεις πλανητών: διάμεσος 0.0013", μέγιστο 0.561" έναντι του επίσημου swetest CGI Astrodienst (μετρήθηκε στις 2026-07-29 σε 130 μετρήσεις). Ανάλυση ανά σώμα παρακάτω
  • Ακμές οίκων Placidus: 0.000" ακριβής αντιστοιχία
  • Εκλείψεις: < 1 λεπτό έναντι του NASA Eclipse Catalog
  • Γραμμές ACG: < 1.5 χλμ στον ισημερινό έναντι του swetest
  • Ανατολή/δύση ηλίου: < 10 δευτερόλεπτα έναντι του timeanddate.com
  • Moon VOC, είσοδοι, πλανητικές συζεύξεις: ακρίβεια μέχρι κλάσματος του δευτερολέπτου

Αυτοί οι αριθμοί δεν είναι εκτίμηση, αλλά αποτέλεσμα εκτέλεσης. Το script παίρνει 10 χάρτες, κατανεμημένους από το 1900 έως το 2050, ζητά τις ίδιες στιγμές από το ζωντανό swetest CGI Astrodienst και συγκρίνει και τα 13 σώματα που επιστρέφουμε. Συνολικά 130 μετρήσεις.

ΣώμαΜέγιστη απόκλιση
Ήλιος, Αφροδίτη, Κρόνος0.001"
Ερμής0.002"
true Node0.004"
Άρης0.007"
Δίας0.009"
Σελήνη0.022"
Ουρανός0.083"
Πλούτωνας0.097"
Ποσειδώνας0.223"
Χείρωνας0.561"
mean Apogee (Λίλιθ)0.000"

Διάμεσος για όλες τις 130 μετρήσεις: 0.0013".

Προηγουμένως, αυτή η σελίδα περιείχε μια γενική υπόσχεση «< 0.1 arcsec». Οι μετρήσεις της 2026-07-29 έδειξαν ότι ο Ποσειδώνας, ο Πλούτωνας και ο Χείρωνας δεν την τηρούν, επομένως η υπόσχεση αντικαταστάθηκε με πραγματικούς αριθμούς. Ο Χείρωνας και οι εξωτερικοί πλανήτες έχουν μεγαλύτερη απόκλιση λόγω του ότι οι θέσεις τους λαμβάνονται από ένα συμπιεσμένο σύνολο εφημερίδων στην WASM-assembly.

Μπορείς να το αναπαράγεις μόνος σου: το api-calc/scripts/accuracy-vs-swetest.mjs κάνει ακριβώς αυτές τις αιτήσεις και εκτυπώνει τον ίδιο πίνακα.

Έλεγξέ το μόνος σου. Το script με το οποίο μετρήθηκαν οι παραπάνω αριθμοί βρίσκεται σε ένα δημόσιο αποθετήριο υπό MIT: astroway/astrology-accuracy-benchmark. Λειτουργεί όχι μόνο με εμάς: ένας προσαρμογέας σε οποιοδήποτε άλλο API είναι τριάντα γραμμές κώδικα, οπότε οι ίδιες 130 μετρήσεις μπορούν να εκτελεστούν έναντι ενός ανταγωνιστή και να συγκριθούν. Ένα κλειδί sandbox είναι αρκετό.

ΣυστατικόΤιμή
ΒιβλιοθήκηSwiss Ephemeris C code (aloistr/swisseph)
Έκδοσηupstream Astrodienst C code
Bindingsswisseph-wasm (WebAssembly σε Node.js)
ΕφημερίδεςDE431 JPL ephemeris (μέσω αρχείων .se1)
FallbackMoshier analytical (για ημερομηνίες εκτός 1800-2399)
Κοινή χρήση κώδικαΚοινόχρηστο @/core από το app.astroway.info - μία μηχανή, δύο μεταφορές

Η ακρίβεια ελέγχεται μέσω τριγωνισμού - σύγκρισης με τρεις ανεξάρτητες πηγές:

Η επίσημη υλοποίηση αναφοράς του Swiss Ephemeris από την ίδια την Astrodienst - την ομάδα που δημιούργησε το Astro.com και εξυπηρετεί εκατομμύρια αστρολόγους παγκοσμίως. Η πιο έγκυρη δημόσια πηγή. Η μηχανή μας είναι ταυτόσημη (0.00–0.07 δευτερόλεπτα τόξου απόκλισης).

Μια ανεξάρτητη βιβλιοθήκη Python χρησιμοποιεί pyswisseph-bindings αντί του WASM μας. Επιβεβαιώνει ότι το WASM επίπεδό μας δεν παραμορφώνει τα δεδομένα.

Απομακρυσμένο Swiss Ephemeris API (sidereal Lahiri). Η συστηματική απόκλιση 8–17 δευτερολέπτων τόξου σχετίζεται με διαφορετικές εκδόσεις του τύπου Lahiri ayanamsa, και όχι με την ακρίβεια της μηχανής.

Χάρτηςέναντι swetest (Astrodienst)έναντι Kerykeion (Python)έναντι Prokerala API
Monroe 19260.00”0.19”16.95” (systemic)
Diana 19610.00”0.69”8.18” (systemic)
Einstein 18790.07”LMT-τεχνούργημα Kerykeion14.96” (systemic)

Κάθε ένα από τα βασικά υπολογιστικά endpoints καλύπτεται από παγωμένα snapshot-tests σε 3 χάρτες αναφοράς (Monroe / Diana / Einstein) = 873 snapshots.

Το Snapshot-suite εντοπίζει:

  • Σφάλματα αντιστοίχισης εισόδου - λανθασμένο id πλανήτη, UT, σύστημα οίκων
  • Μετα-επεξεργασία - στρογγυλοποίηση, μετατροπή μονάδων, απώλεια προσήμου
  • Διαφορά προεπιλογών - mean vs true node, γεωκεντρικό vs τοποκεντρικό
  • Schema drift - η επικύρωση παρέλειψε λανθασμένη μορφή
  • Παρωχημένο deploy - το prod dist δεν αντιστοιχεί στον κώδικα

Ανοχή: 5e-5° (≈0.18 δευτερόλεπτα τόξου) από προεπιλογή για όλα τα αριθμητικά πεδία.

ΧάρτηςΗμερομηνίαΜέγιστη απόκλιση
Marilyn Monroe1926-06-010.00”
Princess Diana1961-07-010.00”
Albert Einstein1879-03-140.07”
Χάρτηςαπόκλιση ASCαπόκλιση MCΜέγιστη απόκλιση ακμής
Monroe0.000”0.000”0.000”
Diana0.000”0.000”0.000”
ΓεγονόςΜέγιστο NASAΜέγιστο δικό μαςΑπόκλιση
2025-03-14 Lunar Total06:58 UT06:58 UT0.8 λεπτά
2025-03-29 Solar Partial10:47 UT10:47 UT0.5 λεπτά
2025-09-07 Lunar Total18:11 UT18:11 UT0.8 λεπτά
2025-09-21 Solar Partial19:41 UT19:42 UT1.0 λεπτά

Αστροχαρτογραφία (έναντι του τύπου RA από το swetest)

Ενότητα με τίτλο «Αστροχαρτογραφία (έναντι του τύπου RA από το swetest)»

Όλες οι γραμμές MC/IC/ASC/DSC χρησιμοποιούν τον σωστό τύπο longitude = RA − GMST (πρότυπο Kenneth Bowser). Απόκλιση από την αναφορά: < 1.5 χλμ στον ισημερινό για όλους τους πλανήτες.

ΤοποθεσίαΗμερομηνίαΠαράμετροςΑπόκλιση
London2026-04-15Sunrise0.6 δευτ
London2026-04-15Sunset9 δευτ

Πολικές τοποθεσίες (|lat| > 66.5°) επιστρέφουν αυτόματα polarState + προειδοποίηση ότι οι συνήθεις πλανητικές ώρες δεν ορίζονται.

Το AstroWay χρησιμοποιεί μεταβλητούς όρμπεις ανά πλανήτη (κανόνας MIN δύο πλανητών), όπως στο ZET9 και στο astro.com. Οι προεπιλεγμένοι όρμπεις (για τον γενέθλιο χάρτη):

ΌψηΉλιοςΣελήνηΕσωτερικοίΔίαςΕξωτερικοί
Conjunction12°10°
Sextile6.5°
Square10°
Trine12°
Opposition12°10°

Οι δευτερεύουσες όψεις (36°, 40°, 45°, 72°, 108°, 135°, 144°) είναι απενεργοποιημένες από προεπιλογή. Ενεργοποιούνται ρητά μέσω του ALL_ASPECTS.

Για |lat| > 66.5° τα συστήματα Placidus / Koch / Regiomontanus δεν ορίζονται μαθηματικά. Σε τέτοιες περιπτώσεις, το Swiss Ephemeris επιστρέφει αυτόματα Porphyry, και το API μας προσθέτει μια προειδοποίηση:

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

Το Regression ελέγχεται σε κάθε PR μέσω CI:

  • api-calc/tests/endpoints/ - 873 snapshots έναντι χαρτών αναφοράς (Monroe / Diana / Einstein) + synastry / composite / davison
  • .github/workflows/api-accuracy.yml - αυτόματη εκτέλεση σε PR
  • Τριγωνισμός έναντι swetest CGI + Kerykeion - εβδομαδιαίως
  • Παρακολούθηση upstream Swiss Ephemeris μέσω Dependabot

Η ακρίβεια της μηχανής είναι η μισή εμπιστοσύνη. Το άλλο μισό είναι το συμβόλαιο εξόδου, το οποίο ένας πράκτορας (Claude, ChatGPT, Cursor) μπορεί να επικυρώσει. Ο MCP-server μας δεν επιστρέφει «ακατέργαστο κείμενο, βρείτε το μόνοι σας»:

  • Τυποποιημένο structuredContent. Πάνω από 600 εργαλεία MCP, και η συντριπτική πλειοψηφία τους δημοσιεύει ένα αυστηρό outputSchema - ο MCP-client λαμβάνει μια επικυρωμένη δομή, όχι μια συμβολοσειρά που πρέπει να αναλυθεί τυχαία.
  • Προστασία από schema drift. Το CI-test openapi-example-drift επικυρώνει κάθε regression-snapshot έναντι του σχήματος που προκύπτει από το δικό του παράδειγμα: εάν η πραγματική έξοδος του endpoint αποκλίνει από το δημοσιευμένο σχήμα, η κατασκευή αποτυγχάνει. Αυτή ακριβώς η κατηγορία αποκλίσεων προκαλεί το σφάλμα MCP -32602 Output validation error.
  • Τα σφάλματα είναι σφάλματα. Η αποτυχία ενός εργαλείου επιστρέφεται πάντα με τη σημαία isError και έναν τυποποιημένο κωδικό (UPPER_SNAKE). Ποτέ δεν δίνουμε στο μοντέλο ένα ακατέργαστο stack trace ή εσωτερικές διαδρομές διακομιστή ως «δεδομένα».

Δηλαδή, η ενσωμάτωση μέσω MCP είναι εξίσου προβλέψιμη με μια άμεση κλήση REST: αυτό που περιγράφεται στο /openapi.json - αυτό επιστρέφει το εργαλείο.

  • Ημερομηνίες εκτός εύρους (πριν το 1800 και μετά το 2399): χρησιμοποιείται Moshier analytical, ακρίβεια ~0.1” (έναντι < 0.01” για SWIEPH με αρχεία DE431)
  • True Lilith (id=13) vs Mean Lilith (id=12): διαφορά έως 12° - από προεπιλογή Mean Lilith (σταθερή συμπεριφορά), το True Lilith είναι διαθέσιμο μέσω planetIds: [13]
  • Τοποκεντρικό vs γεωκεντρικό: από προεπιλογή γεωκεντρικό

Για θέματα ακρίβειας: στείλε email στο support@astroway.info με τα δεδομένα του χάρτη και την αναμενόμενη αναφορά (astro.com ή άλλη έγκυρη πηγή).

Χρήσιμο;
Запропонувати правку

Τελευταία ενημέρωση: