azimuth.py

Download
# azimuth.py
from skyfield.api import load, wgs84

def hitung_azimuth():
    eph = load('de421.bsp')
    bumi = eph['earth']
    bulan = eph['moon']
    matahari = eph['sun']

    # Lokasi observasi (Contoh: Semarang)
    lokasi = bumi + wgs84.latlon(-7.0051, 110.4381)

    ts = load.timescale()
    waktu_sekarang = ts.now()

    # Kalkulasi Apparent AltAz
    alt_matahari, az_matahari, d_matahari = lokasi.at(waktu_sekarang).observe(matahari).apparent().altaz()
    alt_bulan, az_bulan, d_bulan = lokasi.at(waktu_sekarang).observe(bulan).apparent().altaz()

    print("=== AZIMUTH BENDA LANGIT ===")
    print(f"Waktu UTC        : {waktu_sekarang.utc_datetime().strftime('%Y-%m-%d %H:%M:%S')}")
    print(f"Azimuth Matahari : {az_matahari.degrees:.4f}°")
    print(f"Azimuth Bulan    : {az_bulan.degrees:.4f}°")

if __name__ == "__main__":
    hitung_azimuth()