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

Hesaplama doğruluğu

AstroWay API, profesyonel astrologların 30 yılı aşkın süredir Solar Fire ($495), Kepler ($995), Astro Gold ($29.99/ay) ve Janus gibi yazılımlarda kullandığı aynı motor olan Swiss Ephemeris’i (astro.com’un yaratıcısı Astrodienst’in resmi C kodu) kullanır. Biz onu WebAssembly’de derledik ve aracılık ücreti olmadan bir REST API katmanı olarak sunduk. Temel hesaplama uç noktalarının her biri regresyon anlık görüntü testleriyle kapsanmıştır; motorun doğruluğu, üç bağımsız kaynakla üçgenleme yoluyla ve NASA 5-Millennium Eclipse Catalog’a karşı doğrulanmıştır:

  • Gezegen Konumları: 0.0013" medyan, 0.561" maksimum vs resmi swetest CGI Astrodienst (2026-07-29 tarihinde 130 ölçümle ölçülmüştür). Cisimlere göre dağılım aşağıdadır.
  • Placidus Ev Uçları: 0.000" tam eşleşme
  • Tutulmalar: NASA Eclipse Catalog’a karşı < 1 dakika
  • ACG Hatları: swetest’e karşı ekvatorda < 1.5 km
  • Gün Doğumu/Batımı: timeanddate.com’a karşı < 10 saniye
  • Ay VOC, Girişler, Gezegen Kavuşumları: saniyenin bir kesrine kadar doğruluk

Bu sayılar bir tahmin değil, bir çalıştırma sonucudur. Komut dosyası, 1900’den 2050’ye kadar dağılmış 10 harita alır, aynı anları canlı swetest CGI Astrodienst’ten sorgular ve sunduğumuz 13 cismin tümünü karşılaştırır. Toplamda 130 ölçüm.

CisimMaksimum Kayma
Güneş, Venüs, Satürn0.001"
Merkür0.002"
gerçek Düğüm0.004"
Mars0.007"
Jüpiter0.009"
Ay0.022"
Uranüs0.083"
Plüton0.097"
Neptün0.223"
Chiron0.561"
ortalama Apogee (Lilith)0.000"

Tüm 130 ölçümün medyanı: 0.0013"

Daha önce bu sayfada genel bir «< 0.1 yay saniyesi» vaadi vardı. 2026-07-29 tarihli ölçümler, Neptün, Plüton ve Chiron’un bu vaadi karşılamadığını gösterdi, bu nedenle vaat gerçek sayılarla değiştirildi. Chiron ve dış gezegenler, konumlarının WASM derlemesindeki sıkıştırılmış efemeris setinden alınması nedeniyle daha büyük bir kaymaya sahiptir.

Kendin de yeniden üretebilirsin: api-calc/scripts/accuracy-vs-swetest.mjs tam olarak bu sorguları yapar ve aynı tabloyu yazdırır.

Kendin kontrol et. Yukarıdaki sayıların ölçüldüğü komut dosyası, MIT lisansı altında herkese açık bir depoda bulunur: astroway/astrology-accuracy-benchmark. Sadece bizimle çalışmaz: başka herhangi bir API’ye adaptör otuz satırdır, bu nedenle aynı 130 ölçümü bir rakibe karşı çalıştırabilir ve karşılaştırabilirsin. Bir sandbox anahtarı yeterlidir.

BileşenDeğer
KütüphaneSwiss Ephemeris C kodu (aloistr/swisseph)
Sürümupstream Astrodienst C kodu
Bağlantılarswisseph-wasm (Node.js’de WebAssembly)
EfemerisDE431 JPL efemeris (.se1 dosyaları aracılığıyla)
Geri DönüşMoshier analitik (1800-2399 dışındaki tarihler için)
Kod Paylaşımıapp.astroway.info ile paylaşılan @/core - bir motor, iki taşıma

Doğruluk, üç bağımsız kaynakla karşılaştırma yoluyla üçgenleme ile kontrol edilir:

Astrodienst’in kendisinden, yani Astro.com’u yaratan ve dünya çapında milyonlarca astrologa hizmet veren ekipten resmi Swiss Ephemeris referans uygulaması. En yetkili kamu kaynağı. Motorumuz aynıdır (0.00–0.07 yay saniyesi kayma).

Bağımsız bir Python kütüphanesi, bizim WASM’miz yerine pyswisseph bağlamalarını kullanır. WASM katmanımızın verileri bozmadığını doğrular.

Uzak Swiss Ephemeris API (sideral Lahiri). 8–17 yay saniyelik sistemik kayma, Lahiri ayanamsa formülünün farklı versiyonlarıyla ilgilidir, motorun doğruluğuyla değil.

Haritaswetest’e karşı (Astrodienst)Kerykeion’a karşı (Python)Prokerala API’ye karşı
Monroe 19260.00”0.19”16.95” (sistemik)
Diana 19610.00”0.69”8.18” (sistemik)
Einstein 18790.07”Kerykeion LMT-artefaktı14.96” (sistemik)

Temel hesaplama uç noktalarının her biri, 3 referans harita (Monroe / Diana / Einstein) üzerinde dondurulmuş anlık görüntü testleriyle kapsanmıştır = 873 anlık görüntü.

Anlık görüntü paketi şunları yakalar:

  • Giriş verisi eşleme hataları - yanlış gezegen kimliği, UT, ev sistemi
  • İşlem sonrası - yuvarlama, birim dönüştürme, işaret kaybı
  • Varsayılan farklılıkları - ortalama vs gerçek düğüm, jeosentrik vs toposentrik
  • Şema kayması - doğrulama yanlış formu atladı
  • Eski dağıtım - üretim dağıtımı koda uymuyor

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

Gezegen Konumları (tropikal, swetest’e karşı)

Section titled “Gezegen Konumları (tropikal, swetest’e karşı)”
HaritaTarihMaksimum kayma
Marilyn Monroe1926-06-010.00”
Prenses Diana1961-07-010.00”
Albert Einstein1879-03-140.07”

Placidus Ev Uçları (swetest’e karşı)

Section titled “Placidus Ev Uçları (swetest’e karşı)”
HaritaASC kaymasıMC kaymasıMaksimum cusp kayması
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 MaksimumKayma
2025-03-14 Ay Tutulması Tam06:58 UT06:58 UT0.8 dk
2025-03-29 Güneş Tutulması Kısmi10:47 UT10:47 UT0.5 dk
2025-09-07 Ay Tutulması Tam18:11 UT18:11 UT0.8 dk
2025-09-21 Güneş Tutulması Kısmi19:41 UT19:42 UT1.0 dk

AstroKartografi (swetest’ten RA formülüne karşı)

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

Tüm MC/IC/ASC/DSC hatları doğru longitude = RA − GMST formülünü kullanır (Kenneth Bowser standardı). Referansa göre kayma: Tüm gezegenler için ekvatorda < 1.5 km.

Gün Doğumu / Gün Batımı (timeanddate.com’a karşı)

Section titled “Gün Doğumu / Gün Batımı (timeanddate.com’a karşı)”
KonumTarihParametreKayma
Londra2026-04-15Gün Doğumu0.6 s
Londra2026-04-15Gün Batımı9 s

Kutup konumları (|lat| > 66.5°), normal gezegen saatlerinin tanımlanmadığına dair bir uyarı ile birlikte otomatik olarak polarState döndürür.

AstroWay, ZET9 ve astro.com’da olduğu gibi gezegen başına değişken orb’lar (iki gezegenin MIN kuralı) kullanır. Varsayılan orb’lar (natal harita için):

AçıGüneşAyİçJüpiterDış
Kavuşum12°10°
Sekstil6.5°
Kare10°
Üçgen12°
Karşıt12°10°

Minor açılar (36°, 40°, 45°, 72°, 108°, 135°, 144°) varsayılan olarak kapalıdır. ALL_ASPECTS aracılığıyla açıkça etkinleştirilir.

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

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

Regresyon, CI aracılığıyla her PR’da kontrol edilir:

  • api-calc/tests/endpoints/ - referans haritalara (Monroe / Diana / Einstein) + sinastri / kompozit / davison’a karşı 873 anlık görüntü
  • .github/workflows/api-accuracy.yml - PR’da otomatik çalıştırma
  • swetest CGI + Kerykeion’a karşı üçgenleme - haftalık
  • Dependabot aracılığıyla upstream Swiss Ephemeris izleme

Motorun doğruluğu güvenin yarısıdır. Diğer yarısı ise bir aracının (Claude, ChatGPT, Cursor) doğrulayabileceği çıktı sözleşmesidir. MCP sunucumuz «ham metin, kendin hallet» döndürmez:

  • Tipik structuredContent. 600’den fazla MCP aracı vardır ve bunların büyük çoğunluğu katı bir outputSchema yayınlar - MCP istemcisi rastgele ayrıştırması gereken bir dize yerine doğrulanmış bir yapı alır.
  • Şema kaymasına karşı koruma. openapi-example-drift CI testi, her regresyon anlık görüntüsünü kendi örneğinden türetilen şemaya karşı doğrular: eğer bir uç noktanın gerçek çıktısı yayınlanan şemadan saparsa, derleme başarısız olur. MCP -32602 Çıktı doğrulama hatası hatasına neden olan farklılıkların bu sınıfıdır.
  • Hatalar hatadır. Bir araç hatası her zaman isError bayrağı ve tipik bir kod (UPPER_SNAKE) ile döndürülür. Modele asla ham yığın izi veya dahili sunucu yollarını «veri» olarak vermeyiz.

Yani, MCP aracılığıyla entegrasyon, doğrudan bir REST çağrısı kadar tahmin edilebilirdir: /openapi.json’da açıklanan şey, aracın döndürdüğü şeydir.

  • Aralık dışı tarihler (1800 öncesi ve 2399 sonrası): Moshier analitik kullanılır, doğruluk ~0.1” (DE431 dosyalarıyla SWIEPH için < 0.01”e karşı)
  • Gerçek Lilith (id=13) vs Ortalama Lilith (id=12): 12°‘ye kadar fark - varsayılan olarak Ortalama Lilith (istikrarlı davranış), Gerçek Lilith planetIds: [13] aracılığıyla erişilebilir
  • Toposentrik vs jeosentrik: varsayılan olarak jeosentrik

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

Yardımcı oldu mu?
Запропонувати правку

Son güncelleme: