Unduh aplikasi
Pilih folder dan minta asisten membaca berkas terkait sebelum mengeditnya. Tentukan tujuan serta batas tugas.
Kembalikan sudut pusat dalam radian antara posisi bola dengan lintang dalam ±90 dan bujur dalam ±180 derajat. Uji titik sama dan antipoda, tolak koordinat tak berhingga tanpa mengasumsikan jari-jari Bumi.
Pilih folder dan minta asisten membaca berkas terkait sebelum mengeditnya. Tentukan tujuan serta batas tugas.
Pilih endpoint yang kompatibel. Alat yang tersedia dan kualitas jawaban bergantung pada model serta server yang digunakan.
Tinjau perubahan dan keluaran perintah. Jalankan pemeriksaan proyek sebelum menerima hasilnya; kode yang dihasilkan tidak otomatis sudah diuji.
Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
from math import asin, cos, isfinite, radians, sin, sqrt
def central_angle(lat1, lon1, lat2, lon2):
values = (lat1, lon1, lat2, lon2)
if any(type(x) not in (int, float) or not -limit <= x <= limit
or not isfinite(x) for x, limit in zip(values, (90, 180, 90, 180))):
raise ValueError("bounded finite coordinates")
p, q = radians(lat1), radians(lat2)
a = sin((q-p)/2)**2 + cos(p)*cos(q)*sin(radians(lon2-lon1)/2)**2
return 2 * asin(sqrt(min(1.0, max(0.0, a))))Tinjau sebelum menerapkan. Tinjau perubahan dan keluaran perintah. Jalankan pemeriksaan proyek sebelum menerima hasilnya; kode yang dihasilkan tidak otomatis sudah diuji.