ZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IHB5dHoKZnJvbSBhc3RyYWwgaW1wb3J0IExvY2F0aW9uSW5mbwpmcm9tIGFzdHJhbC5zdW4gaW1wb3J0IHN1bgppbXBvcnQgc3dpc3NlcGggYXMgc3dlCgojIOC4guC5ieC4reC4oeC4ueC4peC4nuC4t+C5ieC4meC4kOC4suC4mQpiaXJ0aF9kYXRlID0gZGF0ZXRpbWUoMTk5OSwgMSwgNiwgNCwgNTcpICAjIOC4p+C4seC4meC4l+C4teC5iCA2IOC4oeC4geC4o+C4suC4hOC4oSAyNTQyIOC5gOC4p+C4peC4siAwNDo1Nwpsb2NhdGlvbl9uYW1lID0gJnF1b3Q7U3VraG90aGFpJnF1b3Q7CmxhdGl0dWRlID0gMTcuMDA5Ngpsb25naXR1ZGUgPSA5OS44MjY2CnRpbWV6b25lID0gcHl0ei50aW1lem9uZSgmcXVvdDtBc2lhL0Jhbmdrb2smcXVvdDspCnV0Y19iaXJ0aF90aW1lID0gdGltZXpvbmUubG9jYWxpemUoYmlydGhfZGF0ZSkuYXN0aW1lem9uZShweXR6LnV0YykKCiMg4LiE4Liz4LiZ4Lin4LiT4Lil4Lix4LiE4LiZ4LiyCnN3ZS5zZXRfZXBoZV9wYXRoKCcvdXNyL3NoYXJlL2VwaGUnKSAgIyDguYPguIrguYkgcGF0aCDguJfguLHguYjguKfguYTguJvguILguK3guIcgc3dpc3NlcGgg4Lia4LiZ4Lij4Liw4Lia4LiaIFVuaXgKanVsaWFuX2RheSA9IHN3ZS5qdWxkYXkodXRjX2JpcnRoX3RpbWUueWVhciwgdXRjX2JpcnRoX3RpbWUubW9udGgsIHV0Y19iaXJ0aF90aW1lLmRheSwKICAgICAgICAgICAgICAgICAgICAgICAgdXRjX2JpcnRoX3RpbWUuaG91ciArIHV0Y19iaXJ0aF90aW1lLm1pbnV0ZSAvIDYwLjApCgojIEFzY2VuZGFudCAo4Lil4Lix4LiE4LiZ4LiyKQphc2NlbmRhbnQsIF8sIF8gPSBzd2UuaG91c2VzKGp1bGlhbl9kYXksIGxhdGl0dWRlLCBsb25naXR1ZGUpWzA6M10KYXNjX3NpZ24gPSBpbnQoYXNjZW5kYW50IC8gMzApICAjIOC5geC4muC5iOC4hyAzNjAg4Lit4LiH4Lio4Liy4LmA4Lib4LmH4LiZIDEyIOC4o+C4suC4qOC4tQoKYXNjX3NpZ25fbmFtZXMgPSBbCiAgICAmcXVvdDvguYDguKHguKkmcXVvdDssICZxdW90O+C4nuC4pOC4qeC4oCZxdW90OywgJnF1b3Q74LmA4Lih4LiW4Li44LiZJnF1b3Q7LCAmcXVvdDvguIHguKPguIHguI4mcXVvdDssICZxdW90O+C4quC4tOC4h+C4q+C5jCZxdW90OywgJnF1b3Q74LiB4Lix4LiZ4Lii4LmMJnF1b3Q7LAogICAgJnF1b3Q74LiV4Li44Lil4Lii4LmMJnF1b3Q7LCAmcXVvdDvguJ7guLTguIjguLTguIEmcXVvdDssICZxdW90O+C4mOC4meC4uSZxdW90OywgJnF1b3Q74Lih4Lix4LiH4LiB4LijJnF1b3Q7LCAmcXVvdDvguIHguLjguKHguKDguYwmcXVvdDssICZxdW90O+C4oeC4teC4mSZxdW90OwpdCgphc2NfcmlzaW5nX3NpZ24gPSBhc2Nfc2lnbl9uYW1lc1thc2Nfc2lnbl0KYXNjX3Jpc2luZ19zaWduCg==
from datetime import datetime
import pytz
from astral import LocationInfo
from astral.sun import sun
import swisseph as swe
# ข้อมูลพื้นฐาน
birth_date = datetime(1999, 1, 6, 4, 57) # วันที่ 6 มกราคม 2542 เวลา 04:57
location_name = "Sukhothai"
latitude = 17.0096
longitude = 99.8266
timezone = pytz.timezone("Asia/Bangkok")
utc_birth_time = timezone.localize(birth_date).astimezone(pytz.utc)
# คำนวณลัคนา
swe.set_ephe_path('/usr/share/ephe') # ใช้ path ทั่วไปของ swisseph บนระบบ Unix
julian_day = swe.julday(utc_birth_time.year, utc_birth_time.month, utc_birth_time.day,
utc_birth_time.hour + utc_birth_time.minute / 60.0)
# Ascendant (ลัคนา)
ascendant, _, _ = swe.houses(julian_day, latitude, longitude)[0:3]
asc_sign = int(ascendant / 30) # แบ่ง 360 องศาเป็น 12 ราศี
asc_sign_names = [
"เมษ", "พฤษภ", "เมถุน", "กรกฎ", "สิงห์", "กันย์",
"ตุลย์", "พิจิก", "ธนู", "มังกร", "กุมภ์", "มีน"
]
asc_rising_sign = asc_sign_names[asc_sign]
asc_rising_sign