İçeriğe geç
AstroWay/api v2.254.12 · tr
tüm sistemler normal

Hesaplama doğruluğu

AstroWay API Swiss Ephemeris’i (Astrodienst’in resmi C kodu, astro.com’un yaratıcıları) kullanıyor – aynı motor, profesyonel astrologların 30+ yıldır Solar Fire ($495), Kepler ($995), Astro Gold ($29.99/ay) ve Janus’ta kullandığı. Bunu kendi sunucularımızda çalıştırıyor ve REST API katmanı olarak sunuyoruz, ara marj eklemeden. Temel hesaplama endpoint’lerinin her biri regression snapshot testleriyle kapsanmıştır; motorun doğruluğu triangulation ile üç bağımsız kaynaktan ve NASA 5-Millennium Eclipse Catalog’a karşı doğrulanmıştır:

  • Gezegen konumları: medyan 0.0013", maksimum 0.561" vs resmi swetest CGI Astrodienst (ölçüm 2026-07-29, 130 ölçümde). Cisimlere göre ayrıntı aşağıda
  • Bağımsız başka bir benchmark ile geçiş (RoxyAPI, NASA JPL Horizons DE441’e karşı): 210/210 tolerans içinde, medyan 0.11", maksimum 0.60"
  • Placidus ev kısıpları: 0.000" tam eşleşme
  • Güneş tutulmaları: < 1 dakika vs NASA Eclipse Catalog
  • ACG hatları: < 1.5 km ekvator üzerinde vs swetest
  • Sunrise/sunset: < 10 saniye vs timeanddate.com
  • Moon VOC, ingresses, planet conjunctions: saniyenin bir kesri kadar doğruluk

Bu sayılar bir tahmin değil, çalıştırma sonucudur. Betik 1900 ile 2050 yılları arasında dağıtılmış 10 harita alır, aynı anları canlı swetest CGI Astrodienst’ten sorar ve verdiğimiz 13 gökcismini karşılaştırır. Toplam 130 ölçüm.

CisimMaksimum sürüklenme
Güneş, Venüs, Satürn0.001"
Merkür0.002"
true Node0.004"
Mars0.007"
Jüpiter0.009"
Ay0.022"
Uranüs0.083"
Pluto0.097"
Neptün0.223"
Chiron0.561"
mean Apogee (Lilith)0.000"

Tüm 130 ölçümdeki medyan: 0.0013".

Daha önce bu sayfada genel bir vaat ”< 0.1 arcsec” bulunuyordu. 2026-07-29 ölçümleri, Neptün, Pluto ve Chiron’un bu vaat tutmadığını gösterdi, bu yüzden vaat gerçek sayılarla değiştirildi. Chiron ve dış gezegenler, derlememizin kullandığı sıkıştırılmış ephemeris setinden pozisyon alındığı için daha büyük sürüklenmeye sahiptir.

Bunu kendin yeniden oluşturabilirsin: api-calc/scripts/accuracy-vs-swetest.mjs tam olarak bu istekleri yapar ve aynı tabloyu yazdırır.

Kendiniz kontrol edin. Yukarıdaki sayıları ölçen betik, MIT lisanslı olarak herkese açık depoda bulunur: astroway/astrology-accuracy-benchmark. Sadece bizimle çalışmaz: başka bir API’ye adaptör sadece otuz satırdır, bu yüzden aynı 130 ölçümü rakibe karşı çalıştırıp karşılaştırabilirsiniz. Sandbox anahtarı yeterli.

BileşenDeğer
KütüphaneSwiss Ephemeris C code (aloistr/swisseph)
Versiyonupstream Astrodienst C code
EphemerisDE431 JPL ephemeris (.se1 dosyaları aracılığıyla)
FallbackMoshier analytical (1800-2399 dışı tarihler için)
Code sharingShared @/core with app.astroway.info - bir motor, iki taşıma

Doğruluk triangulation ile kontrol edilir – üç bağımsız kaynağa karşılaştırma:

Astrodienst’in kendisi tarafından geliştirilen resmi reference-implementation Swiss Ephemeris – Astro.com’u yaratan ekip ve dünya çapında milyonlarca astrologu hizmet eder. En yetkili kamu kaynağı. Motorumuz aynı (0.00–0.07 açı saniyesi sürüklenme).

Bağımsız Python kütüphanesi pyswisseph bağlamalarını kullanır, derlememizden bağımsızdır. Katmanımızın verileri bozmadığını doğrular.

Uzak Swiss Ephemeris API (sidereal Lahiri). Sistemik sürüklenme 8–17 açı saniyesi, farklı Lahiri ayanamsa formül sürümleriyle ilgili, motorun doğruluğu değil.

Haritaswetest (Astrodienst) karşıKerykeion (Python) karşıProkerala API karşı
Monroe 19260.00”0.19”16.95” (systemic)
Diana 19610.00”0.69”8.18” (systemic)
Einstein 18790.07”LMT-artifact Kerykeion14.96” (systemic)

RoxyAPI, NASA JPL Horizons DE441’e karşı kendi benchmark’ını yayınlıyor: MIT lisansı, sadece standart kütüphane, 21 harita ve 210 pozisyon, ve --base-url bayrağı, bunu herhangi bir API’ye yönlendirmek için. README’lerinde açıkça, toleransların kendi motorlarına uydurulmadığını, çünkü rakibi kontrol etmeyi öneren benchmark’un adil olması gerektiğini belirtiyor.

Biz onu kendimize yönlendirdik, kodlarında hiçbir sayı değiştirmeden. Adaptör, bir istek alanının adını değiştirir ve bir yanıt sarmalamasını kaldırır.

AstroWayRoxyAPI, onların geçişi 2026-09-29
Tolerans içinde210/210210/210
Medyan sapma0.11"0.05"
Maksimum0.60"0.78"

Bizim ölçüm 2026-09-09, maliyet 21 API isteği. RoxyAPI Eylül’de doğrudan DE440 okumasına geçti ve medyanları artık bizimkinden düşük; maksimumumuz da onlarınkinden düşük. Tüm 210 satırın sıralı çıktısı: CSV.

Temel hesaplama endpoint’lerinin her biri, 3 referans harita (Monroe / Diana / Einstein) üzerinde dondurulmuş snapshot testleriyle kapsanmıştır = 873 snapshot.

Snapshot-suite yakalar:

  • Giriş verisi eşleme hataları: yanlış gezegen id’si, UT, ev sistemi
  • Post-işlem: yuvarlama, birim dönüşümü, işaret kaybı
  • Varsayılan farklılıkları: mean vs true node, geocentric vs topocentric
  • Schema drift: doğrulama hatalı şekli geçirdi
  • Eski dağıtım: prod dist kodla eşleşmiyor

Tolerans: 5e-5° (≈0.18 açı saniyesi) varsayılan olarak tüm sayısal alanlar için.

Gezegen konumları (tropik, swetest’e karşı)

Section titled “Gezegen konumları (tropik, swetest’e karşı)”
HaritaTarihMaksimum drift
Marilyn Monroe1926-06-010.00”
Princess Diana1961-07-010.00”
Albert Einstein1879-03-140.07”

Placidus ev kısıpları (swetest’e karşı)

Section titled “Placidus ev kısıpları (swetest’e karşı)”
Haritadrift ASCdrift MCMaksimum drift kısıp
Monroe0.000”0.000”0.000”
Diana0.000”0.000”0.000”

Tutulmalar (NASA 5-Millennium Catalog’a karşı)

Section titled “Tutulmalar (NASA 5-Millennium Catalog’a karşı)”
OlayNASA MaksimumBizim maksimumSürüklenme
2025-03-14 Lunar Total06:58 UT06:58 UT0.8 dk
2025-03-29 Solar Partial10:47 UT10:47 UT0.5 dk
2025-09-07 Lunar Total18:11 UT18:11 UT0.8 dk
2025-09-21 Solar Partial19:41 UT19:42 UT1.0 dk

Astro-kartografi (swetest’ten RA formülüne karşı)

Section titled “Astro-kartografi (swetest’ten RA formülüne karşı)”

MC ve IC hatları longitude = RA − GMST formülüyle (Kenneth Bowser standardı) oluşturulur. Referanstan sürüklenme: < 1.5 km ekvator üzerinde tüm gezegenler için.

ASC ve DSC yatay hatları aynı ekvatorial koordinatlarda horizon denklemiyle hesaplanır: cos H = -tan φ · tan δ, burada H = (GMST + lng) − RA. Yarımlar saat açısının işaretiyle farklıdır: H < 0 olduğunda cisim meridyenden doğuya, yani doğar. Her çalıştırmada yaptığımız kontrol: her yatay eğrinin her noktasını alıp, o noktadaki cismin horizon üzerindeki yüksekliğini hesaplamak. 8419 noktada maksimum sapma 0.0 km, yani cisim gerçekten çizdiğimiz hat boyunca horizon üzerinde duruyor.

Güneş Doğuş / Batış (timeanddate.com’a karşı)

Section titled “Güneş Doğuş / Batış (timeanddate.com’a karşı)”
LokasyonTarihParametreSürüklenme
London2026-04-15Sunrise0.6 s
London2026-04-15Sunset9 s

Kutup konumları (|lat| > 66.5°) otomatik olarak polarState + uyarı döndürür, normal planetary saatler tanımlı değildir.

AstroWay değişken yörüngeler per-planet (minimum iki gezegen kuralı) kullanır, ZET9 ve astro.com gibi. Varsayılan yörüngeler (doğum haritası için):

AspectSunMoonInnerJupiterOuter
Conjunction12°10°5°8°5°
Sextile6.5°6°5°5°5°
Square10°8°5°7°5°
Trine12°8°5°5°5°
Opposition12°10°5°8°5°

Küçük açıları (36°, 40°, 45°, 72°, 108°, 135°, 144°) varsayılan olarak kapalı. ALL_ASPECTS ile açık olarak etkinleştirilebilir.

|lat| > 66.5° için Placidus / Koch / Regiomontanus sistemleri matematiksel olarak tanımsızdır. Bu durumlarda Swiss Ephemeris otomatik olarak Porphyry döndürür ve API’miz bir uyarı ekler:

{
"system": "P",
"warning": "Placidus system is undefined for lat=68.96° (> 66.5°). Swiss Ephemeris fell back to Porphyry..."
}

Regression her PR için CI üzerinden kontrol edilir:

  • api-calc/tests/endpoints/: 873 snapshot, referans haritalara (Monroe / Diana / Einstein) + synastry / composite / davison karşı
  • .github/workflows/api-accuracy.yml: PR’lerde otomatik çalıştırma
  • swetest CGI + Kerykeion’a karşı triangulation: haftalık
  • Dependabot üzerinden upstream Swiss Ephemeris izleme

Motor doğruluğu - güvenin yarısı. Diğer yarısı - çıktı sözleşmesi, ajan (Claude, ChatGPT, Cursor) doğrulayabilir. MCP sunucumuz “ham metin, kendiniz çözün” döndürmez:

  • Tiplenmiş structuredContent. 600’den fazla MCP aracı var ve çoğu katı outputSchema yayınlıyor – MCP istemcisi doğrulanmış bir yapı alır, rastgele ayrıştırılması gereken bir satır değil.
  • Schema drift’e karşı koruma. CI testi openapi-example-drift her regression-snapshot’ı örnekten türetilen şema ile doğrular: eğer endpoint çıktısı yayınlanan şemadan saparsa, derleme başarısız olur. Bu tür uyumsuzluklar MCP -32602 Output validation error hatasına yol açar.
  • Hatalar: hatalardır. Araç hatası her zaman isError bayrağı ve tiplenmiş kod (UPPER_SNAKE) ile döner. Biz asla modele ham stack trace ya da sunucu iç yollarını “veri” olarak vermeziz.

Yani MCP üzerinden entegrasyon, doğrudan REST çağrısı kadar öngörülebilir: /openapi.json’da tanımlanan, aracın döndüğü şeydir.

  • Aralık dışı tarihler (1800 öncesi ve 2399 sonrası): Moshier analytical kullanılır, doğruluk ~0.1” (SWIEPH DE431 dosyaları için < 0.01” karşı)
  • True Lilith (id=13) vs Mean Lilith (id=12): fark 12°‘ye kadar – varsayılan olarak Mean Lilith (stabil davranış), True Lilith planetIds: [13] ile erişilebilir
  • Topocentric vs geocentric: varsayılan olarak geocentric

Doğruluk soruları için: support@astroway.info adresine harita verileri ve beklenen referans (astro.com veya başka bir otoriter kaynak) ile yaz.

Yardımcı oldu mu?
Düzenleme öner

Son güncelleme: