Lewati ke konten
AstroWay/api v2.254.12 · id
semua sistem normal

Akurasi Perhitungan

API AstroWay menggunakan Swiss Ephemeris (kode C resmi dari Astrodienst, pencipta astro.com) - mesin yang sama yang telah digunakan oleh astrolog profesional selama lebih dari 30 tahun di Solar Fire ($495), Kepler ($995), Astro Gold ($29.99/bulan), dan Janus. Kami menjalankannya di server kami sendiri dan menyediakannya melalui lapisan REST API, tanpa markup perantara. Setiap endpoint komputasi dasar dilindungi oleh uji snapshot regresi; akurasi mesin diverifikasi melalui triangulasi dengan tiga sumber independen + terhadap Katalog Gerhana 5 Milenium NASA:

  • Posisi planet: median 0.0013", maksimum 0.561" dibandingkan swetest CGI Astrodienst resmi (diukur pada 29-07-2026 dengan 130 pengukuran). Rincian per benda di bawah
  • Uji benchmark independen oleh pihak ketiga (RoxyAPI, terhadap NASA JPL Horizons DE441): 210 dari 210 dalam batas toleransi, median 0.11", maksimum 0.60"
  • Kuspid Rumah Placidus: 0.000" cocok persis
  • Gerhana: < 1 menit dibandingkan Katalog Gerhana NASA
  • Garis ACG: < 1.5 km di khatulistiwa dibandingkan swetest
  • Matahari terbit/terbenam: < 10 detik dibandingkan timeanddate.com
  • VOC Bulan, ingresi, konjungsi planet: akurasi hingga sepersekian detik

Angka-angka ini bukan perkiraan, melainkan hasil dari eksekusi. Skrip mengambil 10 bagan yang tersebar dari tahun 1900 hingga 2050, meminta momen yang sama dari swetest CGI Astrodienst yang aktif, dan membandingkan semua 13 benda yang kami sediakan. Total 130 pengukuran.

BendaPenyimpangan Maksimum
Matahari, Venus, Saturnus0.001"
Merkurius0.002"
Node sejati0.004"
Mars0.007"
Jupiter0.009"
Bulan0.022"
Uranus0.083"
Pluto0.097"
Neptunus0.223"
Chiron0.561"
Apogee rata-rata (Lilith)0.000"

Median dari semua 130 pengukuran: 0.0013".

Sebelumnya, halaman ini memiliki janji umum ”< 0.1 arcsec”. Pengukuran pada 29-07-2026 menunjukkan bahwa Neptunus, Pluto, dan Chiron tidak memenuhi janji tersebut, sehingga janji tersebut diganti dengan angka aktual. Chiron dan planet-planet luar memiliki penyimpangan yang lebih besar karena posisinya diambil dari set efemeris terkompresi yang digunakan oleh build kami.

Kamu bisa mereproduksinya sendiri: api-calc/scripts/accuracy-vs-swetest.mjs melakukan persis permintaan ini dan mencetak tabel yang sama.

Periksa sendiri. Skrip yang digunakan untuk mengukur angka-angka di atas tersedia di repositori publik di bawah lisensi MIT: astroway/astrology-accuracy-benchmark. Ini tidak hanya berfungsi dengan kami: adaptor ke API lain hanya membutuhkan tiga puluh baris, sehingga 130 pengukuran yang sama dapat dijalankan terhadap pesaing dan dibandingkan. Kunci sandbox sudah cukup.

KomponenNilai
PustakaSwiss Ephemeris C code (aloistr/swisseph)
Versiupstream Astrodienst C code
EfemerisDE431 JPL ephemeris (melalui file .se1)
CadanganMoshier analytical (untuk tanggal di luar 1800-2399)
Berbagi kodeShared @/core dengan app.astroway.info - satu mesin, dua transportasi

Akurasi diverifikasi melalui triangulasi - perbandingan dengan tiga sumber independen:

Implementasi referensi resmi Swiss Ephemeris dari Astrodienst sendiri - tim yang menciptakan Astro.com dan melayani jutaan astrolog di seluruh dunia. Sumber publik paling otoritatif. Mesin kami identik (penyimpangan 0.00–0.07 detik busur).

Pustaka Python independen menggunakan pyswisseph-bindings, independen dari build kami. Ini mengonfirmasi bahwa lapisan pembungkus kami tidak mendistorsi data.

API Swiss Ephemeris jarak jauh (sidereal Lahiri). Penyimpangan sistemik 8–17 detik busur terkait dengan versi formula Lahiri ayanamsa yang berbeda, dan bukan dengan akurasi mesin.

Baganterhadap swetest (Astrodienst)terhadap Kerykeion (Python)terhadap Prokerala API
Monroe 19260.00”0.19”16.95” (sistemik)
Diana 19610.00”0.69”8.18” (sistemik)
Einstein 18790.07”Artefak LMT Kerykeion14.96” (sistemik)

Verifikasi Independen oleh Alat Pihak Ketiga

Section titled “Verifikasi Independen oleh Alat Pihak Ketiga”

RoxyAPI menerbitkan benchmark mereka sendiri terhadap NASA JPL Horizons DE441: lisensi MIT, hanya pustaka standar, 21 bagan dan 210 posisi, dan flag --base-url untuk menargetkannya ke API lain. README mereka secara eksplisit menyatakan bahwa toleransi tidak sengaja disesuaikan dengan mesin mereka sendiri, karena benchmark yang menawarkan untuk menguji pesaing haruslah adil.

Kami menargetkannya pada diri kami sendiri, tanpa mengubah angka apa pun dalam kode mereka. Adaptor mengganti nama satu bidang permintaan dan menghapus satu pembungkus respons.

AstroWayRoxyAPI, eksekusi mereka 29-09-2026
Dalam batas toleransi210 dari 210210 dari 210
Median penyimpangan0.11"0.05"
Maksimum0.60"0.78"

Pengukuran kami pada 09-09-2026, dengan biaya 21 permintaan API. RoxyAPI pada bulan September beralih ke pembacaan langsung DE440, dan median mereka sekarang lebih rendah dari kami; maksimum kami lebih rendah dari mereka. Output berurutan dari semua 210 baris: CSV.

Setiap endpoint komputasi dasar dilindungi oleh uji snapshot yang dibekukan pada 3 bagan referensi (Monroe / Diana / Einstein) = 873 snapshot.

Suite snapshot menangkap:

  • Bug pemetaan data masukan: ID planet yang salah, UT, sistem rumah
  • Pasca-pemrosesan: pembulatan, konversi unit, kehilangan tanda
  • Perbedaan default: node rata-rata vs sejati, geosentris vs toposentris
  • Penyimpangan skema: validasi melewatkan bentuk yang salah
  • Deployment usang: dist produksi tidak sesuai dengan kode

Toleransi: 5e-5° (≈0.18 detik busur) secara default untuk semua bidang numerik.

BaganTanggalPenyimpangan maksimum
Marilyn Monroe1926-06-010.00”
Princess Diana1961-07-010.00”
Albert Einstein1879-03-140.07”
Baganpenyimpangan ASCpenyimpangan MCPenyimpangan kuspid maksimum
Monroe0.000”0.000”0.000”
Diana0.000”0.000”0.000”

Gerhana (terhadap Katalog 5 Milenium NASA)

Section titled “Gerhana (terhadap Katalog 5 Milenium NASA)”
PeristiwaMaksimum NASAMaksimum kamiPenyimpangan
2025-03-14 Lunar Total06:58 UT06:58 UT0.8 menit
2025-03-29 Solar Partial10:47 UT10:47 UT0.5 menit
2025-09-07 Lunar Total18:11 UT18:11 UT0.8 menit
2025-09-21 Solar Partial19:41 UT19:42 UT1.0 menit

Astrocartography (terhadap formula RA dari swetest)

Section titled “Astrocartography (terhadap formula RA dari swetest)”

Garis MC dan IC dibangun menggunakan formula longitude = RA − GMST (standar Kenneth Bowser). Penyimpangan dari referensi: < 1.5 km di khatulistiwa untuk semua planet.

Garis horizontal ASC dan DSC dihitung dari persamaan horizon dalam koordinat ekuatorial yang sama: cos H = -tan φ · tan δ, di mana H = (GMST + lng) − RA. Kedua bagian berbeda dalam tanda sudut jam: jika H < 0, benda tersebut berada di timur meridian, yaitu terbit. Verifikasi yang kami jalankan pada setiap eksekusi: setiap titik dari setiap kurva horizontal diambil dan ketinggian benda di atas horizon dihitung pada titik tersebut. Pada 8419 titik, penyimpangan maksimum adalah 0.0 km, yang berarti benda tersebut benar-benar berada di horizon di mana pun kami menggambar garis.

Matahari Terbit / Terbenam (terhadap timeanddate.com)

Section titled “Matahari Terbit / Terbenam (terhadap timeanddate.com)”
LokasiTanggalParameterPenyimpangan
London15-04-2026Matahari Terbit0.6 detik
London15-04-2026Matahari Terbenam9 detik

Lokasi Kutub (|lat| > 66.5°) secara otomatis mengembalikan polarState + peringatan bahwa jam planet biasa tidak terdefinisi.

AstroWay menggunakan orbis variabel per-planet (aturan MIN dari dua planet), seperti di ZET9 dan astro.com. Orbis default (untuk bagan natal):

AspekMatahariBulanDalamJupiterLuar
Konjungsi12°10°5°8°5°
Sextile6.5°6°5°5°5°
Kuadrat10°8°5°7°5°
Trine12°8°5°5°5°
Oposisi12°10°5°8°5°

Aspek minor (36°, 40°, 45°, 72°, 108°, 135°, 144°) dinonaktifkan secara default. Diaktifkan secara eksplisit melalui ALL_ASPECTS.

Untuk |lat| > 66.5°, sistem Placidus / Koch / Regiomontanus secara matematis tidak terdefinisi. Dalam kasus seperti itu, Swiss Ephemeris secara otomatis mengembalikan Porphyry, dan API kami menambahkan peringatan:

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

Regresi diverifikasi pada setiap PR melalui CI:

  • api-calc/tests/endpoints/: 873 snapshot terhadap bagan referensi (Monroe / Diana / Einstein) + sinastri / komposit / davison
  • .github/workflows/api-accuracy.yml: otomatis berjalan pada PR
  • Triangulasi terhadap swetest CGI + Kerykeion: setiap minggu
  • Pemantauan upstream Swiss Ephemeris melalui Dependabot

Akurasi mesin adalah separuh dari kepercayaan. Separuh lainnya adalah kontrak output yang dapat divalidasi oleh agen (Claude, ChatGPT, Cursor). Server MCP kami tidak mengembalikan “teks mentah, silakan cari tahu sendiri”:

  • structuredContent yang bertipe. Lebih dari 600 alat MCP, dan sebagian besar menerbitkan outputSchema yang ketat - klien MCP menerima struktur yang divalidasi, bukan string yang harus diurai secara acak.
  • Perlindungan terhadap penyimpangan skema. Uji CI openapi-example-drift memvalidasi setiap snapshot regresi terhadap skema yang berasal dari contohnya sendiri: jika output aktual endpoint menyimpang dari skema yang diterbitkan, build akan gagal. Kelas penyimpangan inilah yang menyebabkan kesalahan MCP -32602 Output validation error.
  • Kesalahan: itu adalah kesalahan. Kegagalan alat selalu dikembalikan dengan flag isError dan kode bertipe (UPPER_SNAKE). Kami tidak pernah memberikan stack trace mentah atau jalur server internal sebagai “data” kepada model.

Artinya, integrasi melalui MCP sama prediktabelnya dengan panggilan REST langsung: apa yang dijelaskan dalam /openapi.json adalah apa yang dikembalikan oleh alat tersebut.

  • Tanggal di luar rentang (sebelum 1800 dan setelah 2399): digunakan Moshier analytical, akurasi ~0.1” (dibandingkan < 0.01” untuk SWIEPH dengan file DE431)
  • True Lilith (id=13) vs Mean Lilith (id=12): perbedaan hingga 12° - secara default Mean Lilith (perilaku stabil), True Lilith tersedia melalui planetIds: [13]
  • Toposentris vs geosentris: secara default geosentris

Untuk pertanyaan akurasi: kirim email ke support@astroway.info dengan data bagan dan referensi yang diharapkan (astro.com atau sumber otoritatif lainnya).

Bermanfaat?
Usulkan perbaikan

Terakhir diperbaharui: