تخطَّ إلى المحتوى
AstroWay/api v2.158.7 · ar
جميع الأنظمة تعمل بشكل طبيعي

دقة الحسابات

يستخدم AstroWay API Swiss Ephemeris (كود C الرسمي من Astrodienst، مبتكري astro.com) - نفس المحرك الذي يعمل عليه المنجمون المحترفون لأكثر من 30 عامًا في Solar Fire ($495)، Kepler ($995)، Astro Gold ($29.99/شهريًا) و Janus. لقد قمنا بتجميعه في WebAssembly وعرضناه كطبقة REST API، بدون رسوم وساطة. كل نقطة نهاية حسابية أساسية مغطاة باختبارات لقطة الانحدار (regression snapshot tests)؛ تم التحقق من دقة المحرك من خلال التثليث (triangulation) مع ثلاثة مصادر مستقلة + مقابل كتالوج كسوف ناسا لـ 5 آلاف عام (NASA 5-Millennium Eclipse Catalog):

  • مواقع الكواكب: متوسط 0.0013", أقصى 0.561" مقابل swetest CGI Astrodienst الرسمي (تم القياس في 2026-07-29 على 130 قياسًا). التفاصيل حسب الأجرام أدناه
  • رؤوس البيوت Placidus: 0.000" تطابق تام
  • الكسوف والخسوف: < 1 دقيقة مقابل كتالوج كسوف ناسا
  • خطوط ACG: < 1.5 كم عند خط الاستواء مقابل swetest
  • شروق/غروب الشمس: < 10 ثوانٍ مقابل timeanddate.com
  • فراغ المسار القمري (Moon VOC)، الدخول (ingresses)، اقترانات الكواكب: دقة تصل إلى جزء من الثانية

المنهجية: كيف تم القياس بالضبط

Section titled “المنهجية: كيف تم القياس بالضبط”

هذه الأرقام ليست تقديرًا، بل هي نتيجة تشغيل. يأخذ السكريبت 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 ثانية قوسية». أظهرت قياسات 2026-07-29 أن نبتون وبلوتو وكايرون لا يلتزمون بذلك، لذلك تم استبدال الوعد بالأرقام الفعلية. كايرون والكواكب الخارجية لديها انحراف أكبر لأن مواقعها مأخوذة من مجموعة مضغوطة من التقاويم الفلكية (ephemerides) في تجميع WASM.

يمكنك إعادة إنتاج ذلك بنفسك: api-calc/scripts/accuracy-vs-swetest.mjs يقوم بنفس هذه الاستعلامات ويطبع نفس الجدول.

تحقق بنفسك. السكريبت الذي تم قياس الأرقام أعلاه به موجود في المستودع العام تحت ترخيص MIT: astroway/astrology-accuracy-benchmark. إنه لا يعمل معنا فقط: محول لأي API آخر هو ثلاثون سطرًا، لذا يمكن تشغيل نفس الـ 130 قياسًا مقابل منافس ومقارنتها. مفتاح بيئة الاختبار (sandbox key) يكفي.

المكونالقيمة
المكتبةSwiss Ephemeris C code (aloistr/swisseph)
الإصدارupstream Astrodienst C code
الروابطswisseph-wasm (WebAssembly في Node.js)
التقويم الفلكيDE431 JPL ephemeris (عبر ملفات .se1)
الاحتياطيMoshier analytical (للتواريخ خارج 1800-2399)
مشاركة الكودShared @/core من app.astroway.info - محرك واحد، وسيلتا نقل

يتم التحقق من الدقة من خلال التثليث (triangulation) - مقارنة بثلاثة مصادر مستقلة:

التطبيق المرجعي الرسمي لـ Swiss Ephemeris من Astrodienst نفسها - الفريق الذي أنشأ Astro.com ويخدم ملايين المنجمين حول العالم. المصدر العام الأكثر موثوقية. محركنا متطابق (0.00–0.07 ثانية قوسية من الانحراف).

مكتبة بايثون مستقلة تستخدم روابط pyswisseph بدلاً من WASM الخاص بنا. تؤكد أن طبقة WASM الخاصة بنا لا تشوه البيانات.

واجهة برمجة تطبيقات Swiss Ephemeris عن بعد (sidereal Lahiri). الانحراف المنهجي (Systemic drift) من 8 إلى 17 ثانية قوسية مرتبط بإصدارات مختلفة من صيغة Lahiri ayanamsa، وليس بدقة المحرك.

الخريطةمقابل swetest (Astrodienst)مقابل Kerykeion (بايثون)مقابل Prokerala API
Monroe 19260.00”0.19”16.95” (منهجي)
Diana 19610.00”0.69”8.18” (منهجي)
Einstein 18790.07”أثر LMT في Kerykeion14.96” (منهجي)

مجموعة اختبارات الانحدار على مستوى نقاط النهاية

Section titled “مجموعة اختبارات الانحدار على مستوى نقاط النهاية”

كل نقطة نهاية حسابية أساسية مغطاة باختبارات لقطة مجمدة (frozen snapshot tests) على 3 خرائط مرجعية (مونرو / ديانا / أينشتاين) = 873 لقطة.

تكتشف مجموعة اللقطات:

  • أخطاء ربط البيانات المدخلة - معرف كوكب خاطئ، التوقيت العالمي (UT)، نظام البيوت
  • المعالجة اللاحقة - التقريب، تحويل الوحدات، فقدان الإشارة
  • اختلاف الإعدادات الافتراضية - العقدة المتوسطة مقابل العقدة الحقيقية، مركزية الأرض مقابل مركزية الموقع
  • انحراف المخطط (Schema drift) - فشل التحقق من الصحة في اكتشاف شكل غير صحيح
  • النشر القديم (Outdated deploy) - توزيع الإنتاج لا يتوافق مع الكود

التسامح: 5e-5° (≈0.18 ثانية قوسية) افتراضيًا لجميع الحقول الرقمية.

مواقع الكواكب (المدارية، مقابل swetest)

Section titled “مواقع الكواكب (المدارية، مقابل swetest)”
الخريطةالتاريخأقصى انحراف
Marilyn Monroe1926-06-010.00”
Princess Diana1961-07-010.00”
Albert Einstein1879-03-140.07”

رؤوس البيوت Placidus (مقابل swetest)

Section titled “رؤوس البيوت Placidus (مقابل swetest)”
الخريطةانحراف ASCانحراف MCأقصى انحراف لرأس البيت
Monroe0.000”0.000”0.000”
Diana0.000”0.000”0.000”

الكسوف والخسوف (مقابل كتالوج ناسا لـ 5 آلاف عام)

Section titled “الكسوف والخسوف (مقابل كتالوج ناسا لـ 5 آلاف عام)”
الحدثأقصى ناساأقصى لديناالانحراف
2025-03-14 خسوف كلي قمري06:58 UT06:58 UT0.8 دقيقة
2025-03-29 كسوف جزئي شمسي10:47 UT10:47 UT0.5 دقيقة
2025-09-07 خسوف كلي قمري18:11 UT18:11 UT0.8 دقيقة
2025-09-21 كسوف جزئي شمسي19:41 UT19:42 UT1.0 دقيقة

الخرائط الفلكية (مقابل صيغة RA من swetest)

Section titled “الخرائط الفلكية (مقابل صيغة RA من swetest)”

تستخدم جميع خطوط MC/IC/ASC/DSC الصيغة الصحيحة longitude = RA − GMST (معيار كينيث باوزر). الانحراف عن المعيار: < 1.5 كم عند خط الاستواء لجميع الكواكب.

شروق / غروب الشمس (مقابل timeanddate.com)

Section titled “شروق / غروب الشمس (مقابل timeanddate.com)”
الموقعالتاريخالمعلمةالانحراف
London2026-04-15Sunrise0.6 ث
London2026-04-15Sunset9 ث

المواقع القطبية (|خط العرض| > 66.5°) تُرجع تلقائيًا polarState + تحذيرًا بأن الساعات الكوكبية العادية غير محددة.

يستخدم AstroWay أوربسًا متغيرًا لكل كوكب (قاعدة الحد الأدنى لكوكبين)، كما هو الحال في ZET9 و astro.com. الأوربس الافتراضي (للخريطة الفلكية):

الجانبSunMoonInnerJupiterOuter
Conjunction12°10°
Sextile6.5°
Square10°
Trine12°
Opposition12°10°

الجوانب الثانوية (36°، 40°، 45°، 72°، 108°، 135°، 144°) معطلة افتراضيًا. يتم تمكينها صراحةً عبر ALL_ASPECTS.

بالنسبة لـ |خط العرض| > 66.5°، فإن أنظمة Placidus / Koch / Regiomontanus غير محددة رياضيًا. في مثل هذه الحالات، يُرجع Swiss Ephemeris تلقائيًا Porphyry، وتضيف واجهة برمجة التطبيقات الخاصة بنا تحذيرًا:

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

يتم التحقق من الانحدار في كل طلب سحب (PR) عبر CI:

  • api-calc/tests/endpoints/ - 873 لقطة مقابل الخرائط المرجعية (مونرو / ديانا / أينشتاين) + التوافق / المركب / دافيسون
  • .github/workflows/api-accuracy.yml - تشغيل تلقائي عند طلب السحب (PR)
  • التثليث مقابل swetest CGI + Kerykeion - أسبوعيًا
  • مراقبة Swiss Ephemeris الأصلي عبر Dependabot

موثوقية MCP - مخرجات مُحددة النوع

Section titled “موثوقية MCP - مخرجات مُحددة النوع”

دقة المحرك هي نصف الثقة. النصف الآخر هو عقد الإخراج، الذي يمكن للوكيل (Claude، ChatGPT، Cursor) التحقق من صحته. خادم MCP الخاص بنا لا يُرجع «نصًا خامًا، اكتشف الأمر بنفسك»:

  • structuredContent مُحدد النوع. أكثر من 600 أداة MCP، والغالبية العظمى منها تنشر outputSchema صارمًا - يتلقى عميل MCP بنية صالحة، وليس سلسلة نصية يجب تحليلها عشوائيًا.
  • الحماية من انحراف المخطط (schema drift). يقوم اختبار CI openapi-example-drift بالتحقق من صحة كل لقطة انحدار (regression snapshot) مقابل المخطط المستنتج من مثاله الخاص: إذا اختلف الإخراج الفعلي لنقطة النهاية عن المخطط المنشور، سيفشل البناء. هذا النوع من التناقضات هو الذي يسبب خطأ MCP -32602 Output validation error.
  • الأخطاء هي أخطاء. يتم دائمًا إرجاع فشل الأداة مع علامة isError ورمز مُحدد النوع (UPPER_SNAKE). نحن لا نُرجع أبدًا تتبع مكدس خام (raw stack trace) أو مسارات خادم داخلية كـ «بيانات» للنموذج.

أي أن التكامل عبر MCP يمكن التنبؤ به تمامًا مثل استدعاء REST المباشر: ما هو موصوف في /openapi.json هو ما تُرجعه الأداة.

  • تواريخ خارج النطاق (قبل 1800 وبعد 2399): يتم استخدام Moshier analytical، بدقة ~0.1” (مقابل < 0.01” لـ SWIEPH مع ملفات DE431)
  • ليليث الحقيقية (id=13) مقابل ليليث المتوسطة (id=12): فرق يصل إلى 12° - افتراضيًا ليليث المتوسطة (سلوك مستقر)، ليليث الحقيقية متاحة عبر planetIds: [13]
  • مركزية الموقع (Topocentric) مقابل مركزية الأرض (geocentric): افتراضيًا مركزية الأرض

بخصوص مسائل الدقة: راسلنا على support@astroway.info مع بيانات الخريطة والمعيار المتوقع (astro.com أو أي مصدر موثوق آخر).

هل كان مفيدًا؟
Запропонувати правку

آخر تحديث: