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
Metodoloji: Tam olarak nasıl ölçüldü
Section titled “Metodoloji: Tam olarak nasıl ölçüldü”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.
| Cisim | Maksimum Kayma |
|---|---|
| Güneş, Venüs, Satürn | 0.001" |
| Merkür | 0.002" |
| gerçek Düğüm | 0.004" |
| Mars | 0.007" |
| Jüpiter | 0.009" |
| Ay | 0.022" |
| Uranüs | 0.083" |
| Plüton | 0.097" |
| Neptün | 0.223" |
| Chiron | 0.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şen | Değer |
|---|---|
| Kütüphane | Swiss Ephemeris C kodu (aloistr/swisseph) |
| Sürüm | upstream Astrodienst C kodu |
| Bağlantılar | swisseph-wasm (Node.js’de WebAssembly) |
| Efemeris | DE431 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 |
Metodoloji
Section titled “Metodoloji”Doğruluk, üç bağımsız kaynakla karşılaştırma yoluyla üçgenleme ile kontrol edilir:
1. swetest CGI (referans)
Section titled “1. swetest CGI (referans)”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).
2. Kerykeion (Python)
Section titled “2. Kerykeion (Python)”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.
3. Prokerala API
Section titled “3. Prokerala API”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.
Üçgenleme Sonuçları
Section titled “Üçgenleme Sonuçları”| Harita | swetest’e karşı (Astrodienst) | Kerykeion’a karşı (Python) | Prokerala API’ye karşı |
|---|---|---|---|
| Monroe 1926 | 0.00” | 0.19” | 16.95” (sistemik) |
| Diana 1961 | 0.00” | 0.69” | 8.18” (sistemik) |
| Einstein 1879 | 0.07” | Kerykeion LMT-artefaktı | 14.96” (sistemik) |
Uç Nokta Seviyesinde Regresyon Seti
Section titled “Uç Nokta Seviyesinde Regresyon Seti”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).
Detaylı Kıyaslamalar
Section titled “Detaylı Kıyaslamalar”Gezegen Konumları (tropikal, swetest’e karşı)
Section titled “Gezegen Konumları (tropikal, swetest’e karşı)”| Harita | Tarih | Maksimum kayma |
|---|---|---|
| Marilyn Monroe | 1926-06-01 | 0.00” |
| Prenses Diana | 1961-07-01 | 0.00” |
| Albert Einstein | 1879-03-14 | 0.07” |
Placidus Ev Uçları (swetest’e karşı)
Section titled “Placidus Ev Uçları (swetest’e karşı)”| Harita | ASC kayması | MC kayması | Maksimum cusp kayması |
|---|---|---|---|
| Monroe | 0.000” | 0.000” | 0.000” |
| Diana | 0.000” | 0.000” | 0.000” |
Tutulmalar (NASA 5-Millennium Catalog’a karşı)
Section titled “Tutulmalar (NASA 5-Millennium Catalog’a karşı)”| Olay | NASA Maksimum | Bizim Maksimum | Kayma |
|---|---|---|---|
| 2025-03-14 Ay Tutulması Tam | 06:58 UT | 06:58 UT | 0.8 dk |
| 2025-03-29 Güneş Tutulması Kısmi | 10:47 UT | 10:47 UT | 0.5 dk |
| 2025-09-07 Ay Tutulması Tam | 18:11 UT | 18:11 UT | 0.8 dk |
| 2025-09-21 Güneş Tutulması Kısmi | 19:41 UT | 19:42 UT | 1.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şı)”| Konum | Tarih | Parametre | Kayma |
|---|---|---|---|
| Londra | 2026-04-15 | Gün Doğumu | 0.6 s |
| Londra | 2026-04-15 | Gü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.
Açı Orb’ları
Section titled “Açı Orb’ları”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üpiter | Dış |
|---|---|---|---|---|---|
| Kavuşum | 12° | 10° | 5° | 8° | 5° |
| Sekstil | 6.5° | 6° | 5° | 5° | 5° |
| Kare | 10° | 8° | 5° | 7° | 5° |
| Üçgen | 12° | 8° | 5° | 5° | 5° |
| Karşıt | 12° | 10° | 5° | 8° | 5° |
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.
Kutup Enlemleri
Section titled “Kutup Enlemleri”|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..."}Sürekli Doğrulama
Section titled “Sürekli Doğrulama”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
MCP Güvenilirliği - Tipik Çıktı
Section titled “MCP Güvenilirliği - Tipik Çıktı”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ı biroutputSchemayayınlar - MCP istemcisi rastgele ayrıştırması gereken bir dize yerine doğrulanmış bir yapı alır. - Şema kaymasına karşı koruma.
openapi-example-driftCI 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
isErrorbayrağı 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.
Bilinen Sınırlamalar
Section titled “Bilinen Sınırlamalar”- 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
Referanslar
Section titled “Referanslar”- Swiss Ephemeris: https://www.astro.com/swisseph/
- swetest CGI: https://www.astro.com/swisseph/swetest.htm
- NASA Eclipse Catalog: https://eclipse.gsfc.nasa.gov/
- Kerykeion: https://github.com/g-battaglia/kerykeion
- Astrodienst: https://www.astro.com/
İletişim
Section titled “İletişim”Doğruluk soruları için: harita verileri ve beklenen referans (astro.com veya başka bir yetkili kaynak) ile support@astroway.info adresine yaz.