Skip to main content

Sebuah pakej yang boleh menghasilkan pelbagai data berkenaan falak

Project description

Falak_py

KiraanWaktuSolat.py 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

EphemSahabatFalak-0.0.1.tar.gz (12.7 kB view hashes)

Uploaded Source

Built Distribution

EphemSahabatFalak-0.0.1-py3-none-any.whl (11.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page