Ακρίβεια υπολογισμών
Το AstroWay API χρησιμοποιεί το Swiss Ephemeris (επίσημος κώδικας C από την Astrodienst, τους δημιουργούς του astro.com) – την ίδια μηχανή που χρησιμοποιούν οι επαγγελματίες αστρολόγοι για πάνω από 30 χρόνια στα Solar Fire ($495), Kepler ($995), Astro Gold ($29.99/μήνα) και Janus. Το τρέχουμε στους δικούς μας διακομιστές και το παρέχουμε ως ένα REST API layer, χωρίς μεσάζοντες προσαυξήσεις. Κάθε ένα από τα βασικά υπολογιστικά endpoints καλύπτεται από regression snapshot-tests. Η ακρίβεια της μηχανής επαληθεύεται μέσω τριγωνισμού με τρεις ανεξάρτητες πηγές + έναντι του NASA 5-Millennium Eclipse Catalog:
- Θέσεις πλανητών: διάμεσος
0.0013", μέγιστο0.561"έναντι του επίσημου swetest CGI Astrodienst (μετρήθηκε στις 29-07-2026 σε 130 μετρήσεις). Αναλυτικά ανά σώμα παρακάτω. - Ανεξάρτητη εκτέλεση με εξωτερικό benchmark (RoxyAPI, έναντι NASA JPL Horizons DE441): 210 από 210 εντός ανοχής, διάμεσος
0.11", μέγιστο0.60". - Ακμές οίκων Placidus:
0.000"ακριβής αντιστοιχία. - Εκλείψεις:
< 1 λεπτόέναντι του NASA Eclipse Catalog. - Γραμμές ACG:
< 1.5 χλμστον ισημερινό έναντι του swetest. - Ανατολή/δύση ηλίου:
< 10 δευτερόλεπταέναντι του timeanddate.com. - Moon VOC, ingresses, πλανητικές συζεύξεις: ακρίβεια έως και κλάσμα του δευτερολέπτου.
Μεθοδολογία: πώς ακριβώς μετρήθηκε
Ενότητα με τίτλο «Μεθοδολογία: πώς ακριβώς μετρήθηκε»Αυτοί οι αριθμοί δεν είναι εκτίμηση, αλλά αποτέλεσμα εκτέλεσης. Το script λαμβάνει 10 χάρτες, κατανεμημένους από το 1900 έως το 2050, ζητά τις ίδιες στιγμές από το ζωντανό swetest CGI Astrodienst και συγκρίνει και τα 13 σώματα που παρέχουμε. Συνολικά 130 μετρήσεις.
| Σώμα | Μέγιστη απόκλιση |
|---|---|
| Ήλιος, Αφροδίτη, Κρόνος | 0.001" |
| Ερμής | 0.002" |
| true Node | 0.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”. Οι μετρήσεις της 29-07-2026 έδειξαν ότι ο Ποσειδώνας, ο Πλούτωνας και ο Χείρωνας δεν την τηρούν, οπότε η υπόσχεση αντικαταστάθηκε με τους πραγματικούς αριθμούς. Ο Χείρωνας και οι εξωτερικοί πλανήτες έχουν μεγαλύτερη απόκλιση επειδή οι θέσεις τους λαμβάνονται από ένα συμπιεσμένο σύνολο εφημερίδων που χρησιμοποιεί η δική μας έκδοση.
Μπορείς να το αναπαράγεις μόνος σου: το 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 |
| Εφημερίδες | DE431 JPL ephemeris (μέσω αρχείων .se1) |
| Fallback | Moshier analytical (για ημερομηνίες εκτός 1800-2399) |
| Κοινή χρήση κώδικα | Κοινόχρηστο @/core με app.astroway.info - μία μηχανή, δύο μεταφορές |
Μεθοδολογία
Ενότητα με τίτλο «Μεθοδολογία»Η ακρίβεια ελέγχεται μέσω τριγωνισμού - σύγκριση με τρεις ανεξάρτητες πηγές:
1. swetest CGI (αναφορά)
Ενότητα με τίτλο «1. swetest CGI (αναφορά)»Η επίσημη reference-implementation του Swiss Ephemeris από την ίδια την Astrodienst - την ομάδα που δημιούργησε το Astro.com και εξυπηρετεί εκατομμύρια αστρολόγους σε όλο τον κόσμο. Η πιο έγκυρη δημόσια πηγή. Η μηχανή μας είναι ταυτόσημη (0.00–0.07 δευτερόλεπτα τόξου απόκλισης).
2. Kerykeion (Python)
Ενότητα με τίτλο «2. Kerykeion (Python)»Μια ανεξάρτητη βιβλιοθήκη Python χρησιμοποιεί pyswisseph-bindings, ανεξάρτητα από τη δική μας
έκδοση. Επιβεβαιώνει ότι το wrapper layer μας δεν παραμορφώνει τα δεδομένα.
3. Prokerala API
Ενότητα με τίτλο «3. Prokerala API»Απομακρυσμένο Swiss Ephemeris API (sidereal Lahiri). Η συστηματική απόκλιση 8–17 δευτερολέπτων τόξου σχετίζεται με διαφορετικές εκδόσεις του τύπου Lahiri ayanamsa, και όχι με την ακρίβεια της μηχανής.
Αποτελέσματα τριγωνισμού
Ενότητα με τίτλο «Αποτελέσματα τριγωνισμού»| Χάρτης | έναντι swetest (Astrodienst) | έναντι Kerykeion (Python) | έναντι Prokerala API |
|---|---|---|---|
| Monroe 1926 | 0.00” | 0.19” | 16.95” (συστηματική) |
| Diana 1961 | 0.00” | 0.69” | 8.18” (συστηματική) |
| Einstein 1879 | 0.07” | LMT-τεχνούργημα Kerykeion | 14.96” (συστηματική) |
Ανεξάρτητος έλεγχος με εξωτερικό εργαλείο
Ενότητα με τίτλο «Ανεξάρτητος έλεγχος με εξωτερικό εργαλείο»Το RoxyAPI δημοσιεύει το δικό του benchmark έναντι του NASA JPL Horizons DE441: άδεια MIT,
μόνο η τυπική βιβλιοθήκη, 21 χάρτες και 210 θέσεις, και η σημαία --base-url,
για να το στοχεύσεις σε οποιοδήποτε άλλο API. Στο README τους αναφέρεται ρητά ότι
οι ανοχές δεν προσαρμόστηκαν σκόπιμα στη δική τους μηχανή, γιατί ένα benchmark που
προσφέρει να ελέγξει έναν ανταγωνιστή πρέπει να είναι δίκαιο.
Το στοχεύσαμε στον εαυτό μας, χωρίς να αλλάξουμε κανέναν αριθμό στον κώδικά τους. Ο προσαρμογέας μετονομάζει ένα πεδίο αιτήματος και αφαιρεί ένα wrapper από την απάντηση.
| AstroWay | RoxyAPI, η εκτέλεσή τους 29-09-2026 | |
|---|---|---|
| Εντός ανοχής | 210 από 210 | 210 από 210 |
| Διάμεσος απόκλισης | 0.11" | 0.05" |
| Μέγιστο | 0.60" | 0.78" |
Η μέτρησή μας 09-09-2026, κόστος 21 αιτήσεις στο API. Το RoxyAPI τον Σεπτέμβριο μεταπήδησε στην απευθείας ανάγνωση του DE440, και η διάμεσός τους είναι τώρα χαμηλότερη από τη δική μας. Το μέγιστό μας είναι χαμηλότερο από το δικό τους. Αναλυτική έξοδος όλων των 210 γραμμών: CSV.
Σύνολο regression σε επίπεδο endpoint
Ενότητα με τίτλο «Σύνολο regression σε επίπεδο endpoint»Κάθε ένα από τα βασικά υπολογιστικά endpoints καλύπτεται από παγωμένα snapshot-tests σε 3 χάρτες αναφοράς (Monroe / Diana / Einstein) = 873 snapshots.
Το Snapshot-suite εντοπίζει:
- Σφάλματα αντιστοίχισης δεδομένων εισόδου: λανθασμένο id πλανήτη, UT, σύστημα οίκων
- Μετα-επεξεργασία: στρογγυλοποίηση, μετατροπή μονάδων, απώλεια προσήμου
- Διαφορές προεπιλογών: mean vs true node, geocentric vs topocentric
- Schema drift: η επικύρωση παρέλειψε λανθασμένη μορφή
- Παρωχημένη ανάπτυξη: το prod dist δεν αντιστοιχεί στον κώδικα
Ανοχή: 5e-5° (≈0.18 δευτερόλεπτα τόξου) από προεπιλογή για όλα τα αριθμητικά πεδία.
Λεπτομερή benchmarks
Ενότητα με τίτλο «Λεπτομερή benchmarks»Θέσεις πλανητών (τροπικός, έναντι swetest)
Ενότητα με τίτλο «Θέσεις πλανητών (τροπικός, έναντι swetest)»| Χάρτης | Ημερομηνία | Μέγιστη απόκλιση |
|---|---|---|
| Marilyn Monroe | 1926-06-01 | 0.00” |
| Princess Diana | 1961-07-01 | 0.00” |
| Albert Einstein | 1879-03-14 | 0.07” |
Ακμές οίκων Placidus (έναντι swetest)
Ενότητα με τίτλο «Ακμές οίκων Placidus (έναντι swetest)»| Χάρτης | απόκλιση ASC | απόκλιση MC | Μέγιστη απόκλιση ακμής |
|---|---|---|---|
| Monroe | 0.000” | 0.000” | 0.000” |
| Diana | 0.000” | 0.000” | 0.000” |
Εκλείψεις (έναντι NASA 5-Millennium Catalog)
Ενότητα με τίτλο «Εκλείψεις (έναντι NASA 5-Millennium Catalog)»| Γεγονός | Μέγιστο NASA | Το μέγιστό μας | Απόκλιση |
|---|---|---|---|
| 2025-03-14 Ολική Σεληνιακή | 06:58 UT | 06:58 UT | 0.8 λεπτά |
| 2025-03-29 Μερική Ηλιακή | 10:47 UT | 10:47 UT | 0.5 λεπτά |
| 2025-09-07 Ολική Σεληνιακή | 18:11 UT | 18:11 UT | 0.8 λεπτά |
| 2025-09-21 Μερική Ηλιακή | 19:41 UT | 19:42 UT | 1.0 λεπτό |
Αστροχαρτογραφία (έναντι τύπου RA από swetest)
Ενότητα με τίτλο «Αστροχαρτογραφία (έναντι τύπου RA από swetest)»Οι γραμμές MC και IC κατασκευάζονται με τον τύπο longitude = RA − GMST (πρότυπο Kenneth
Bowser). Απόκλιση από την αναφορά: < 1.5 χλμ στον ισημερινό για όλους τους πλανήτες.
Οι οριζόντιες γραμμές ASC και DSC υπολογίζονται από την εξίσωση του ορίζοντα στις ίδιες
ισημερινές συντεταγμένες: cos H = -tan φ · tan δ, όπου H = (GMST + lng) − RA.
Τα δύο μισά διαφέρουν στο πρόσημο της ωριαίας γωνίας: όταν H < 0 το σώμα είναι ανατολικότερα του μεσημβρινού,
δηλαδή ανατέλλει. Ο έλεγχος που εκτελούμε σε κάθε εκτέλεση: λαμβάνεται κάθε
σημείο κάθε οριζόντιας καμπύλης και υπολογίζεται το ύψος του σώματος πάνω από τον ορίζοντα σε αυτό.
Σε 8419 σημεία, η μέγιστη απόκλιση είναι 0.0 χλμ, δηλαδή το σώμα βρίσκεται πράγματι στον
ορίζοντα παντού όπου χαράξαμε τη γραμμή.
Ανατολή / Δύση Ηλίου (έναντι timeanddate.com)
Ενότητα με τίτλο «Ανατολή / Δύση Ηλίου (έναντι timeanddate.com)»| Τοποθεσία | Ημερομηνία | Παράμετρος | Απόκλιση |
|---|---|---|---|
| Λονδίνο | 15-04-2026 | Ανατολή | 0.6 δευτ. |
| Λονδίνο | 15-04-2026 | Δύση | 9 δευτ. |
Πολικές τοποθεσίες (|lat| > 66.5°) επιστρέφουν αυτόματα polarState +
προειδοποίηση ότι οι συνήθεις πλανητικές ώρες δεν ορίζονται.
Όρμπεις όψεων
Ενότητα με τίτλο «Όρμπεις όψεων»Το AstroWay χρησιμοποιεί μεταβλητούς όρμπεις ανά πλανήτη (κανόνας MIN των δύο πλανητών), όπως στο ZET9 και στο astro.com. Προεπιλεγμένοι όρμπεις (για γενέθλιο χάρτη):
| Όψη | Ήλιος | Σελήνη | Εσωτερικοί | Δίας | Εξωτερικοί |
|---|---|---|---|---|---|
| Σύνοδος | 12° | 10° | 5° | 8° | 5° |
| Εξάγωνο | 6.5° | 6° | 5° | 5° | 5° |
| Τετράγωνο | 10° | 8° | 5° | 7° | 5° |
| Τρίγωνο | 12° | 8° | 5° | 5° | 5° |
| Αντίθεση | 12° | 10° | 5° | 8° | 5° |
Οι δευτερεύουσες όψεις (36°, 40°, 45°, 72°, 108°, 135°, 144°) είναι απενεργοποιημένες από προεπιλογή.
Ενεργοποιούνται ρητά μέσω του ALL_ASPECTS.
Πολικά πλάτη
Ενότητα με τίτλο «Πολικά πλάτη»Για |lat| > 66.5° τα συστήματα Placidus / Koch / Regiomontanus δεν είναι μαθηματικά ορισμένα. Σε τέτοιες περιπτώσεις, το Swiss Ephemeris επιστρέφει αυτόματα Porphyry, και το API μας προσθέτει μια προειδοποίηση:
{ "system": "P", "warning": "Placidus system is undefined for lat=68.96° (> 66.5°). Swiss Ephemeris fell back to 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
Αξιοπιστία MCP: τυποποιημένη έξοδος
Ενότητα με τίτλο «Αξιοπιστία MCP: τυποποιημένη έξοδος»Η ακρίβεια της μηχανής είναι το μισό της εμπιστοσύνης. Το άλλο μισό είναι η σύμβαση εξόδου, την οποία ένας πράκτορας (Claude, ChatGPT, Cursor) μπορεί να επικυρώσει. Ο διακομιστής MCP μας δεν επιστρέφει “ακατέργαστο κείμενο, βρες το μόνος σου”:
- Τυποποιημένο
structuredContent. Πάνω από 600 εργαλεία MCP, και η συντριπτική πλειοψηφία αυτών δημοσιεύουν ένα αυστηρόoutputSchema– ο πελάτης MCP λαμβάνει μια επικυρωμένη δομή, όχι μια συμβολοσειρά που πρέπει να αναλύσει τυχαία. - Προστασία από schema drift. Ο έλεγχος CI
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] - Topocentric vs geocentric: από προεπιλογή geocentric
Σύνδεσμοι
Ενότητα με τίτλο «Σύνδεσμοι»- Swiss Ephemeris: https://www.astro.com/swisseph/
- swetest CGI: https://www.astro.com/swisseph/swetest.htm
- Κατάλογος εκλείψεων NASA: https://eclipse.gsfc.nasa.gov/
- Kerykeion: https://github.com/g-battaglia/kerykeion
- Astrodienst: https://www.astro.com/
Επικοινωνία
Ενότητα με τίτλο «Επικοινωνία»Για ερωτήσεις ακρίβειας: στείλε email στο support@astroway.info με τα δεδομένα του χάρτη και την αναμενόμενη αναφορά (astro.com ή άλλη έγκυρη πηγή).