गणनाओं की सटीकता
AstroWay API स्विस एफिमेरिस (एस्ट्रोडिएंस्ट का आधिकारिक C-कोड, astro.com के निर्माता) का उपयोग करता है - वही इंजन जिस पर पेशेवर ज्योतिषी 30+ वर्षों से Solar Fire ($495), Kepler ($995), Astro Gold ($29.99/माह) और Janus में काम कर रहे हैं। हम इसे अपने सर्वर पर चलाते हैं और इसे REST API लेयर के माध्यम से प्रदान करते हैं, बिना किसी मध्यस्थता शुल्क के। प्रत्येक मूल गणना एंडपॉइंट को रिग्रेशन स्नैपशॉट-परीक्षणों द्वारा कवर किया गया है; इंजन की सटीकता को तीन स्वतंत्र स्रोतों के साथ ट्रायंगुलेशन के माध्यम से + NASA 5-Millennium Eclipse Catalog के विरुद्ध सत्यापित किया गया है:
- ग्रह स्थितियाँ:
0.0013"का माध्यिका,0.561"का अधिकतम बनाम आधिकारिक स्वेटेस्ट CGI एस्ट्रोडिएंस्ट (2026-07-29 को 130 मापों पर मापा गया)। निकायों के अनुसार विवरण नीचे दिया गया है। - किसी अन्य बेंचमार्क का स्वतंत्र रन (RoxyAPI, NASA JPL Horizons DE441 के विरुद्ध): 210 में से 210 स्वीकार्य सीमा के भीतर,
0.11"का माध्यिका,0.60"का अधिकतम। - प्लासिडस भावों के कस्प:
0.000"सटीक मिलान। - ग्रहण: NASA ग्रहण कैटलॉग के विरुद्ध
< 1 मिनट। - ACG रेखाएँ: स्वेटेस्ट के विरुद्ध भूमध्य रेखा पर
< 1.5 किमी। - सूर्योदय/सूर्यास्त: timeanddate.com के विरुद्ध
< 10 सेकंड। - चंद्रमा VOC, प्रवेश, ग्रह युतियाँ: सेकंड के अंश तक सटीकता।
कार्यप्रणाली: कैसे मापा गया
Section titled “कार्यप्रणाली: कैसे मापा गया”ये संख्याएँ अनुमान नहीं, बल्कि रन का परिणाम हैं। स्क्रिप्ट 1900 से 2050 तक फैले 10 चार्ट लेती है, लाइव स्वेटेस्ट CGI एस्ट्रोडिएंस्ट से उन्हीं क्षणों का अनुरोध करती है और हमारे द्वारा प्रदान किए गए सभी 13 निकायों की तुलना करती है। कुल 130 माप।
| निकाय | अधिकतम विचलन |
|---|---|
| सूर्य, शुक्र, शनि | 0.001" |
| बुध | 0.002" |
| true Node | 0.004" |
| मंगल | 0.007" |
| बृहस्पति | 0.009" |
| चंद्रमा | 0.022" |
| यूरेनस | 0.083" |
| प्लूटो | 0.097" |
| नेपच्यून | 0.223" |
| चिरॉन | 0.561" |
| माध्य अपोजी (लिलिथ) | 0.000" |
सभी 130 मापों का माध्यिका: 0.0013"।
पहले इस पृष्ठ पर ”< 0.1 arcsec” का एक सामान्य वादा था। 2026-07-29 के मापों से पता चला कि नेपच्यून, प्लूटो और चिरॉन इसे बनाए नहीं रख पाए, इसलिए वादे को वास्तविक संख्याओं से बदल दिया गया है। चिरॉन और बाहरी ग्रहों में अधिक विचलन होता है क्योंकि उनकी स्थितियाँ एफिमेरिस के एक संपीड़ित सेट से ली जाती हैं जिसका उपयोग हमारा बिल्ड करता है।
तुम इसे स्वयं दोहरा सकते हो: api-calc/scripts/accuracy-vs-swetest.mjs ठीक यही अनुरोध करता है और वही तालिका प्रिंट करता है।
स्वयं जाँचो। जिस स्क्रिप्ट से ऊपर की संख्याएँ मापी गई हैं, वह MIT लाइसेंस के तहत सार्वजनिक रिपॉजिटरी में है: astroway/astrology-accuracy-benchmark। यह केवल हमारे साथ ही काम नहीं करता है: किसी भी अन्य API के लिए एक एडाप्टर तीस पंक्तियों का है, इसलिए वही 130 माप एक प्रतियोगी के विरुद्ध चलाए जा सकते हैं और तुलना की जा सकती है। सैंडबॉक्स कुंजी पर्याप्त है।
| घटक | मान |
|---|---|
| लाइब्रेरी | Swiss Ephemeris C code (aloistr/swisseph) |
| संस्करण | upstream Astrodienst C code |
| एफिमेरिस | DE431 JPL ephemeris (.se1 फ़ाइलों के माध्यम से) |
| फॉलबैक | Moshier analytical (1800-2399 के बाहर की तिथियों के लिए) |
| कोड साझाकरण | app.astroway.info के साथ @/core साझा किया गया - एक इंजन, दो ट्रांसपोर्ट |
कार्यप्रणाली
Section titled “कार्यप्रणाली”सटीकता की जाँच ट्रायंगुलेशन के माध्यम से की जाती है - तीन स्वतंत्र स्रोतों से तुलना करके:
1. स्वेटेस्ट CGI (संदर्भ)
Section titled “1. स्वेटेस्ट CGI (संदर्भ)”एस्ट्रोडिएंस्ट की ओर से स्विस एफिमेरिस का आधिकारिक संदर्भ-कार्यान्वयन - वह टीम जिसने Astro.com बनाया और दुनिया भर के लाखों ज्योतिषियों को सेवा प्रदान करती है। सबसे आधिकारिक सार्वजनिक स्रोत। हमारा इंजन समान है (0.00–0.07 आर्कसेकंड का विचलन)।
2. केरीकेयन (पायथन)
Section titled “2. केरीकेयन (पायथन)”एक स्वतंत्र Python-लाइब्रेरी pyswisseph-बाइंडिंग का उपयोग करती है, जो हमारे बिल्ड से स्वतंत्र है। यह पुष्टि करता है कि हमारी रैपर लेयर डेटा को विकृत नहीं करती है।
3. प्रोकेराला API
Section titled “3. प्रोकेराला API”रिमोट स्विस एफिमेरिस API (साइडरियल लाहिड़ी)। 8-17 आर्कसेकंड का सिस्टेमिक विचलन लाहिड़ी अयनांश सूत्र के विभिन्न संस्करणों से संबंधित है, न कि इंजन की सटीकता से।
ट्रायंगुलेशन के परिणाम
Section titled “ट्रायंगुलेशन के परिणाम”| चार्ट | स्वेटेस्ट (एस्ट्रोडिएंस्ट) के विरुद्ध | केरीकेयन (पायथन) के विरुद्ध | प्रोकेराला API के विरुद्ध |
|---|---|---|---|
| मोनरो 1926 | 0.00” | 0.19” | 16.95” (प्रणालीगत) |
| डायना 1961 | 0.00” | 0.69” | 8.18” (प्रणालीगत) |
| आइंस्टीन 1879 | 0.07” | केरीकेयन का LMT-आर्टिफैक्ट | 14.96” (प्रणालीगत) |
किसी अन्य उपकरण द्वारा स्वतंत्र सत्यापन
Section titled “किसी अन्य उपकरण द्वारा स्वतंत्र सत्यापन”RoxyAPI NASA JPL Horizons DE441 के विरुद्ध अपना स्वयं का बेंचमार्क प्रकाशित करता है: MIT-लाइसेंस, केवल मानक लाइब्रेरी, 21 चार्ट और 210 स्थितियाँ, और किसी भी अन्य API को लक्षित करने के लिए --base-url फ़्लैग। उनके README में स्पष्ट रूप से कहा गया है कि सहनशीलता को जानबूझकर उनके अपने इंजन के अनुरूप नहीं बनाया गया था, क्योंकि एक बेंचमार्क जो एक प्रतियोगी की जाँच करने की पेशकश करता है, उसे निष्पक्ष होना चाहिए।
हमने उनके कोड में एक भी संख्या बदले बिना इसे अपने ऊपर लक्षित किया। एडाप्टर एक अनुरोध फ़ील्ड का नाम बदलता है और एक प्रतिक्रिया रैपर को हटाता है।
| AstroWay | RoxyAPI, उनका रन 2026-09-29 | |
|---|---|---|
| स्वीकार्य सीमा के भीतर | 210 में से 210 | 210 में से 210 |
| विचलन का माध्यिका | 0.11" | 0.05" |
| अधिकतम | 0.60" | 0.78" |
हमारा माप 2026-09-09, 21 API अनुरोधों की लागत। RoxyAPI सितंबर में DE440 के सीधे पढ़ने पर स्विच कर गया, और उनका माध्यिका अब हमारे से कम है; हमारा अधिकतम उनके से कम है। सभी 210 पंक्तियों का क्रमबद्ध आउटपुट: CSV।
एंडपॉइंट स्तर पर रिग्रेशन-सेट
Section titled “एंडपॉइंट स्तर पर रिग्रेशन-सेट”प्रत्येक मूल गणना एंडपॉइंट को 3 संदर्भ चार्ट (मोनरो / डायना / आइंस्टीन) पर जमे हुए स्नैपशॉट-परीक्षणों द्वारा कवर किया गया है = 873 स्नैपशॉट।
स्नैपशॉट-सूट पकड़ता है:
- इनपुट डेटा मैपिंग बग: गलत ग्रह id, UT, भाव प्रणाली
- पोस्ट-प्रोसेसिंग: राउंडिंग, यूनिट रूपांतरण, चिह्न का नुकसान
- डिफ़ॉल्ट का विचलन: माध्य बनाम true नोड, भूकेंद्रीय बनाम शीर्षकेंद्रीय
- स्कीमा ड्रिफ्ट: सत्यापन ने गलत फॉर्म को छोड़ दिया
- पुरानी डिप्लॉयमेंट: prod dist कोड से मेल नहीं खाता
सहनशीलता: सभी संख्यात्मक फ़ील्ड के लिए डिफ़ॉल्ट रूप से 5e-5° (≈0.18 आर्कसेकंड)।
विस्तृत बेंचमार्क
Section titled “विस्तृत बेंचमार्क”ग्रह स्थितियाँ (ट्रॉपिकल, स्वेटेस्ट के विरुद्ध)
Section titled “ग्रह स्थितियाँ (ट्रॉपिकल, स्वेटेस्ट के विरुद्ध)”| चार्ट | तिथि | अधिकतम विचलन |
|---|---|---|
| मर्लिन मोनरो | 1926-06-01 | 0.00” |
| राजकुमारी डायना | 1961-07-01 | 0.00” |
| अल्बर्ट आइंस्टीन | 1879-03-14 | 0.07” |
प्लासिडस भावों के कस्प (स्वेटेस्ट के विरुद्ध)
Section titled “प्लासिडस भावों के कस्प (स्वेटेस्ट के विरुद्ध)”| चार्ट | ASC विचलन | MC विचलन | कस्प का अधिकतम विचलन |
|---|---|---|---|
| मोनरो | 0.000” | 0.000” | 0.000” |
| डायना | 0.000” | 0.000” | 0.000” |
ग्रहण (NASA 5-Millennium कैटलॉग के विरुद्ध)
Section titled “ग्रहण (NASA 5-Millennium कैटलॉग के विरुद्ध)”| घटना | 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 सूत्र के विरुद्ध)
Section titled “एस्ट्रोकार्टोग्राफी (स्वेटेस्ट से RA सूत्र के विरुद्ध)”MC और IC रेखाएँ longitude = RA − GMST (केनेथ बाउसर मानक) सूत्र का उपयोग करके बनाई जाती हैं। संदर्भ से विचलन: सभी ग्रहों के लिए भूमध्य रेखा पर < 1.5 किमी।
क्षैतिज रेखाएँ ASC और DSC उन्हीं विषुवतीय निर्देशांकों में क्षितिज समीकरण से गिनी जाती हैं: cos H = -tan φ · tan δ, जहाँ H = (GMST + lng) − RA। आधे घंटे के कोण के चिह्न से भिन्न होते हैं: जब H < 0 होता है, तो शरीर मेरिडियन के पूर्व में होता है, यानी उदय हो रहा होता है। प्रत्येक रन पर हम जो जाँच करते हैं: प्रत्येक क्षैतिज वक्र का प्रत्येक बिंदु लिया जाता है और उसमें क्षितिज के ऊपर शरीर की ऊँचाई की गणना की जाती है। 8419 बिंदुओं पर अधिकतम विचलन 0.0 किमी है, जिसका अर्थ है कि शरीर वास्तव में क्षितिज पर हर जगह खड़ा है जहाँ हमने रेखा खींची है।
सूर्योदय / सूर्यास्त (timeanddate.com के विरुद्ध)
Section titled “सूर्योदय / सूर्यास्त (timeanddate.com के विरुद्ध)”| स्थान | तिथि | पैरामीटर | विचलन |
|---|---|---|---|
| लंदन | 2026-04-15 | सूर्योदय | 0.6 सेकंड |
| लंदन | 2026-04-15 | सूर्यास्त | 9 सेकंड |
ध्रुवीय स्थान (|lat| > 66.5°) स्वचालित रूप से polarState + चेतावनी लौटाते हैं कि सामान्य ग्रह घंटे परिभाषित नहीं हैं।
पहलुओं के ऑर्बिस
Section titled “पहलुओं के ऑर्बिस”AstroWay ZET9 और astro.com की तरह चर ऑर्बिस प्रति-ग्रह (दो ग्रहों का MIN नियम) का उपयोग करता है। डिफ़ॉल्ट ऑर्बिस (जन्म कुंडली के लिए):
| पहलू | सूर्य | चंद्रमा | आंतरिक | बृहस्पति | बाहरी |
|---|---|---|---|---|---|
| युति | 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 के माध्यम से स्पष्ट रूप से सक्षम किया जाता है।
ध्रुवीय अक्षांश
Section titled “ध्रुवीय अक्षांश”|lat| > 66.5° के लिए Placidus / Koch / Regiomontanus प्रणालियाँ गणितीय रूप से परिभाषित नहीं हैं। ऐसे मामलों में, स्विस एफिमेरिस स्वचालित रूप से पोर्फिरी लौटाता है, और हमारा API एक चेतावनी जोड़ता है:
{ "system": "P", "warning": "Placidus system is undefined for lat=68.96° (> 66.5°). Swiss Ephemeris fell back to Porphyry..."}निरंतर सत्यापन
Section titled “निरंतर सत्यापन”CI के माध्यम से प्रत्येक PR पर रिग्रेशन की जाँच की जाती है:
api-calc/tests/endpoints/: संदर्भ चार्ट (मोनरो / डायना / आइंस्टीन) + सिनास्ट्री / कंपोजिट / डेविसन के विरुद्ध 873 स्नैपशॉट।.github/workflows/api-accuracy.yml: PR पर ऑटो-रन।- स्वेटेस्ट CGI + केरीकेयन के विरुद्ध ट्रायंगुलेशन: साप्ताहिक।
- डिपेंडबॉट के माध्यम से अपस्ट्रीम स्विस एफिमेरिस की निगरानी।
MCP विश्वसनीयता: टाइप किया गया आउटपुट
Section titled “MCP विश्वसनीयता: टाइप किया गया आउटपुट”इंजन की सटीकता भरोसे का आधा हिस्सा है। दूसरा आधा आउटपुट अनुबंध है, जिसे एक एजेंट (क्लाउड, चैटजीपीटी, कर्सर) मान्य कर सकता है। हमारा MCP-सर्वर “कच्चा टेक्स्ट, खुद समझो” नहीं लौटाता है:
- टाइप किया गया
structuredContent। 600 से अधिक MCP-उपकरण हैं, और उनमें से अधिकांश एक सख्तoutputSchemaप्रकाशित करते हैं - MCP-क्लाइंट को एक मान्य संरचना प्राप्त होती है, न कि एक स्ट्रिंग जिसे बेतरतीब ढंग से पार्स करना पड़ता है। - स्कीमा ड्रिफ्ट से सुरक्षा। CI-परीक्षण
openapi-example-driftप्रत्येक रिग्रेशन-स्नैपशॉट को उसके अपने उदाहरण से प्राप्त स्कीमा के विरुद्ध मान्य करता है: यदि एंडपॉइंट का वास्तविक आउटपुट प्रकाशित स्कीमा से भिन्न होता है, तो बिल्ड विफल हो जाता है। विसंगतियों का यही वर्ग MCP त्रुटि-32602 Output validation errorका कारण बनता है। - त्रुटियाँ: ये त्रुटियाँ हैं। एक उपकरण की विफलता हमेशा
isErrorफ़्लैग और एक टाइप किए गए कोड (UPPER_SNAKE) के साथ लौटती है। हम कभी नहीं मॉडल को कच्चे स्टैक ट्रेस या आंतरिक सर्वर पथों को “डेटा” के रूप में प्रदान करते हैं।
यानी, MCP के माध्यम से एकीकरण उतना ही अनुमानित है जितना कि एक सीधा REST-कॉल: जो /openapi.json में वर्णित है, वही उपकरण लौटाता है।
ज्ञात सीमाएँ
Section titled “ज्ञात सीमाएँ”- सीमा से बाहर की तिथियाँ (1800 से पहले और 2399 के बाद): मोशियर एनालिटिकल का उपयोग किया जाता है, सटीकता ~0.1” (DE431 फ़ाइलों के साथ SWIEPH के लिए < 0.01” के विरुद्ध)।
- True लिलिथ (id=13) बनाम Mean लिलिथ (id=12): 12° तक का अंतर - डिफ़ॉल्ट रूप से Mean लिलिथ (स्थिर व्यवहार), True लिलिथ
planetIds: [13]के माध्यम से उपलब्ध है। - टॉपोसेंट्रिक बनाम भूकेंद्रीय: डिफ़ॉल्ट रूप से भूकेंद्रीय।
संदर्भ
Section titled “संदर्भ”- स्विस एफिमेरिस: https://www.astro.com/swisseph/
- स्वेटेस्ट CGI: https://www.astro.com/swisseph/swetest.htm
- NASA ग्रहण कैटलॉग: https://eclipse.gsfc.nasa.gov/
- केरीकेयन: https://github.com/g-battaglia/kerykeion
- एस्ट्रोडिएंस्ट: https://www.astro.com/
संपर्क
Section titled “संपर्क”सटीकता के प्रश्नों के लिए: चार्ट डेटा और अपेक्षित संदर्भ (astro.com या कोई अन्य विश्वसनीय स्रोत) के साथ support@astroway.info पर लिखो।