Sebuah pakej yang boleh menghasilkan pelbagai data berkenaan falak
Project description
Falak_py
EphemSahabatFalak ialah sebuah file python yang mengandungi sebuah python Class iaitu Takwim() yang mempunyai pelbagai method.
Program ini menggunakan data ephemeris dari JPL Horizon (NASA) iaitu de440s. Pengguna boleh untuk mengubah kepada ephemeris lain
Program ini menggunapakai pakej Skyfield
Program ini dihasilkan oleh Izzat Zubir, dengan sokongan dari keluarga, beserta maklum balas dari Dr. Abdul Halim Abdul Aziz, Panel Pakar Falak JAKIM
Parameter
Terdapat 13 parameter yang boleh diubah:
nilai dalam kurungan ialah nilai 'default'
1. latitud (5.41144)
2. longitud (100.19672) --> latitud dan longitud Pusat Falak Sheikh Tahir
3. elevation (40) --> dalam unit meter
4. year (tahun semasa)
5. month (bulan semasa)
6. day (hari semasa)
7. hour (jam semasa)
8. minute (minit semasa)
9. second (saat semasa) --> tetapan semasa diambil menggunakan method datetime.now()
10. zone ('Asia/Kuala_Lumpur')
11. temperature (27) --> unit darjah Celcius
12. pressure (1010) --> unit millibar
13. ephem ('de440s.bsp') --> ephemeris de440s adalah ephemeris terkini dari JPL Horizon. Rujuk: https://rhodesmill.org/skyfield/planets.html#choosing-an-ephemeris
Method dalam Takwim
Waktu Solat
waktu_subuh(time_format = 'default', altitude = 'default')
Waktu subuh ialah ketika altitud matahari -18.0
parameter
time_format
time_format = 'datetime' -> format waktu subuh dalam python datetime
time_format = 'string' -> format waktu subuh dalam string (hh:mm:ss)
time_format = 'default' -> format waktu subuh dalam skyfield.Time
altitude
altitude boleh dipilih antara -24 hingga -12. Nilai default ialah -18
waktu_syuruk(time_format = 'default', altitude = 'default')
Waktu syuruk ialah ketika altitud matahari -0.8333 di ufuk timur
parameter
time_format
time_format = 'datetime' -> format waktu dalam python datetime
time_format = 'string' -> format waktu dalam string (hh:mm:ss)
time_format = 'default' -> format waktu dalam skyfield.Time
altitude
altitude boleh dipilih antara 0 hingga -4. Nilai default ialah -0.8333
waktu_zawal(time_format = 'default')
Waktu zawal ialah ketika pusat matahari melintasi meridian
parameter
time_format
time_format = 'datetime' -> format waktu dalam python datetime
time_format = 'string' -> format waktu dalam string (hh:mm:ss)
time_format = 'default' -> format waktu dalam skyfield.Time
waktu_zohor(time_format = 'default')
Waktu zohor ialah waktu zawal + 1 minit 5 saat
parameter
time_format
time_format = 'datetime' -> format waktu dalam python datetime
time_format = 'string' -> format waktu dalam string (hh:mm:ss)
time_format = 'default' -> format waktu dalam skyfield.Time
waktu_asar(time_format = 'default')
Waktu asar ialah ketika bayang matahari bersamaan bayang sesebuah objek ketika waktu zawal ditambah panjang bayang tersebut
Rumus bagi altitud matahari asar ialah acot(cot(altitud matahari ketika zawal)+1)
parameter
time_format
time_format = 'datetime' -> format waktu dalam python datetime
time_format = 'string' -> format waktu dalam string (hh:mm:ss)
time_format = 'default' -> format waktu dalam skyfield.Time
waktu_maghrib(time_format = 'default', altitude = 'default')
Waktu maghrib ialah ketika altitud matahari -0.8333 di ufuk barat
parameter
time_format
time_format = 'datetime' -> format waktu dalam python datetime
time_format = 'string' -> format waktu dalam string (hh:mm:ss)
time_format = 'default' -> format waktu dalam skyfield.Time
altitude
altitude boleh dipilih antara 0 hingga -4. Nilai default ialah -0.8333
waktu_isyak(time_format = 'default', altitude = 'default')
Waktu isyak ialah ketika altitud matahari -18.0
parameter
time_format
time_format = 'datetime' -> format waktu subuh dalam python datetime
time_format = 'string' -> format waktu subuh dalam string (hh:mm:ss)
time_format = 'default' -> format waktu subuh dalam skyfield.Time
altitude
altitude boleh dipilih antara -24 hingga -12. Nilai default ialah -18
bayang_searah_kiblat(time_format = 'default')
Metod ini memberikan dua waktu, iaitu waktu mula dan waktu akhir ketika azimut matahari berada setentang dengan arah kiblat
Selisih yang digunapakai ialah 0.3 darjah atau 18 arka minit, ke kiri dan ke kanan azimut kiblat sebenar (36 arka minit)
parameter
time_format
time_format = 'datetime' -> format waktu subuh dalam python datetime
time_format = 'string' -> format waktu subuh dalam string (hh:mm:ss)
time_format = 'default' -> format waktu subuh dalam skyfield.Time
Efemeris matahari dan bulan
moon_altitude(t = current_time, angle_format = 'skylib', temperature = None, pressure = None)
Metod ini memberikan altitud bulan pada waktu yang ditetapkan
Suhu dan Tekanan adalah berdasarkan tetapan yang dibuat
angle_format
angle_format = 'skylib' -> format sudut dalam skylib.Angle.radians
angle_format = 'degree' -> format sudut dalam skylib.Angle.degrees
angle_format = 'string' -> format sudut dalam string, darjah° minit' saat"
moon_azimuth(t = None, angle_format = 'skylib')
Metod ini memberikan azimut bulan pada waktu yang ditetapkan
Azimut bulan tidak mengambil kira pembiasan atmosfera (secara tradisi)
angle_format
angle_format = 'skylib' -> format sudut dalam skylib.Angle.radians
angle_format = 'degree' -> format sudut dalam skylib.Angle.degrees
angle_format = 'string' -> format sudut dalam string, darjah° minit' saat"
moon_distance(t = None, angle_format = 'skylib')
Metod ini memberikan jarak bulan dalam unit au
sun_altitude(t = current_time, angle_format = 'skylib', temperature = None, pressure = None)
Metod ini memberikan altitud matahari pada waktu yang ditetapkan
Suhu dan Tekanan adalah berdasarkan tetapan yang dibuat
angle_format
angle_format = 'skylib' -> format sudut dalam skylib.Angle.radians
angle_format = 'degree' -> format sudut dalam skylib.Angle.degrees
angle_format = 'string' -> format sudut dalam string, darjah° minit' saat"
sun_azimuth(t = None, angle_format = 'skylib')
Metod ini memberikan azimut matahari pada waktu yang ditetapkan
Azimut matahari tidak mengambil kira pembiasan atmosfera (secara tradisi)
angle_format
angle_format = 'skylib' -> format sudut dalam skylib.Angle.radians
angle_format = 'degree' -> format sudut dalam skylib.Angle.degrees
angle_format = 'string' -> format sudut dalam string, darjah° minit' saat"
sun_distance(t = None, angle_format = 'skylib')
Metod ini memberikan jarak sun dalam unit au
elongation_moon_sun(t = None, topo = 'topo', angle_format = 'skylib')
Metod ini memberikan elongasi antara bulan dan matahari, berdasarkan tetapan yang dibuat
topo
topo = 'geo' atau 'geocentric' -> nilai elongasi berdasarkan elongasi geocentric.
topo - 'topo' atau selainnya -> nilai elongasi berdasarkan elongasi topocentric
moon_set(time_format = 'default')
Metod ini memberikan waktu terbenam bulan, iaitu ketika altitud bulan di bawah -0.8333 darjah
Jika tiada waktu terbenam, maka ia akan memberikan "Moon does not set on tarikh semasa"
time_format
time_format = 'datetime' -> format waktu subuh dalam python datetime
time_format = 'string' -> format waktu subuh dalam string (hh:mm:ss)
time_format = 'default' -> format waktu subuh dalam skyfield.Time
moon_rise(time_format = 'default')
Metod ini memberikan waktu terbit bulan, iaitu ketika altitud bulan di melebihi -0.8333 darjah
Jika tiada waktu terbit, maka ia akan memberikan "Moon does not rise on tarikh semasa"
time_format
time_format = 'datetime' -> format waktu subuh dalam python datetime
time_format = 'string' -> format waktu subuh dalam string (hh:mm:ss)
time_format = 'default' -> format waktu subuh dalam skyfield.Time
azimut_kiblat()
Metod ini memberikan azimut kiblat bagi kawasan yang ditetapkan (berdasarkan latitud dan longitud)
unit azimut kiblat ialah dalam skyfield.Angle.degrees
latitud dan longitud kaabah yang ditetapkan ialah 21.422487 Utara dan 39.826206 Timur.
jejari Bumi yang digunakan ialah 6371000 meter
formula yang digunakan ialah berdasarkan https://www.omnicalculator.com/other/azimuth
jarak_kaabah()
Metod ini memberikan jarak ke kaabah bagi kawasan yang ditetapkan (berdasarkan latitud dan longitud)
unit jarak adalah dalam meter (integer)
latitud dan longitud kaabah yang ditetapkan ialah 21.422487 Utara dan 39.826206 Timur.
jejari Bumi yang digunakan ialah 6371000 meter
formula yang digunakan ialah berdasarkan https://www.omnicalculator.com/other/azimuth iaitu haversine formula
Jadual
efemeris_hilal(topo = 'topo')
Metod ini memberikan sebuah jadual efemeris dalam bentuk pandas.Dataframe
Jadual ini mengandungi waktu, elongasi bulan-matahari, altitud bulan, azimut bulan, altitud matahari dan azimut matahari
Efemeris ini bermula satu jam sebelum waktu maghrib dan berakhir sejam selepas waktu maghrib
topo
tetapan topo boleh dirujuk pada method elongasi_moon_sun()
takwim_solat_bulanan(altitud_subuh ='default', altitud_syuruk ='default', altitud_maghrib ='default', altitud_isyak ='default', saat = 'tidak')
Metod ini memberikan sebuah takwim solat dalam bentuk pandas.Dataframe
Jadual ini mengandungi tarikh, mula bayang searah kiblat, tamat bayang searah kiblat, subuh, syuruk, zohor, asar, maghrib, isyak
Jadual ini bermula pada 1 haribulan bagi bulan dan tahun yang ditetapkan, dan berakhir pada hari akhir bulan
tetapan altitud dan saat
Tetapan altitud subuh hingga isyak boleh dirujuk pada method waktu solat masing-masing
Tetapan saat ialah bagi memilih sama ada mahu bundarkan kepada minit bawah (syuruk dan bayang tamat) atau minit atas (selainnya).
Tetapan asal bagi saat ialah bundarkan, namun jika mahu nilai saat, ubah kepada saat = 'ya'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for EphemSahabatFalak-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 686640f23ffefa3c775d863530c4f04ed8c541f7c659e334d1fac70fc25ab403 |
|
MD5 | 32111e6878704285a9b039ec9fe3c105 |
|
BLAKE2b-256 | 41bc0ca15ad194ed311ac96c84f6ef06b393664dbec66ad30aeb1892e3ab01fd |