יצירת טבלת זמני היום - מאיפה אני מתחיל?
-
אם זה טוב לך כנראה שתוכל ללמוד מכאן כמה דברים...
זה מגיע מפרוג.אז הנה המקור של הספריה בדוט נט:
https://github.com/Yitzchok/Zmanimיש את זה גם בNuGet:
https://www.nuget.org/packages/Zmanim/והנה דוגמה למימוש חלקי בC#
(רוב הקוד לא שלי אלא מתוך מה שמצאתי בפרוייקט שלו (בתוך הטסטים..)public static void Demo() { //מגדירים את המיקום string locationName = "פסגות"; double latitude = 31.898974; double longitude = 35.224247; double elevation = 0; //optional elevation GeoLocation location = new GeoLocation(locationName, latitude, longitude, elevation, new WindowsTimeZone(TimeZoneInfo.Local)); List<dynamic> allTimesForYear = new List<dynamic>(); var days = from day in GetDaysInHebrewYear(DateTime.Now, location) select day; foreach (var item in days) { allTimesForYear.Add(new { //כאן אפשר להוסיף זמנים ככל העולה על רוחנו //ישנם כמאה ועשרים מתודות של כל סוגי הזמנים והחישובים האפשריים לחומרא ולקולא sunrise = item.GetSunrise(), sunset = item.GetSunset(), alotHumra = item.GetAlos90Zmanis(), alot = item.GetAlosHashachar() }); } } /// <summary> /// מחזירה אובייקט של זמנים עבור כל יום מימות השנה העברית /// </summary> /// <param name="year"></param> /// <param name="location"></param> /// <returns></returns> public static IEnumerable<ComplexZmanimCalendar> GetDaysInHebrewYear(DateTime year, GeoLocation location) { Calendar calendar = new HebrewCalendar(); var currentYear = calendar.GetYear(year); var amountOfMonths = calendar.GetMonthsInYear(currentYear); for (int i = 0; i < amountOfMonths; i++) { var currentMonth = i + 1; var daysInMonth = calendar.GetDaysInMonth(currentYear, currentMonth); for (int dayOfMonth = 0; dayOfMonth < daysInMonth; dayOfMonth++) { var zmanimCalendar = new ComplexZmanimCalendar(location); zmanimCalendar.DateWithLocation.Date = new DateTime(currentYear, currentMonth, dayOfMonth + 1, calendar); yield return zmanimCalendar; } } }
אולי כשאסיים אעלה פרוייקט מסודר.
פורסם במקור בפורום CODE613 ב06/06/2017 00:57 (+03:00)
-
@JosephA
הסתדרת?
עקרונית כן, כלומר מצאתי את הספרייה שאמורה לספק לי את המידע.
העניין הוא שאני מתלבט אם בכלל יש צורך להחזיק טבלה כזאת בדטה בייס, או שפשוט כל פעם שאזדקק לזמן מסוים - אשתמש בקוד הנ"ל כדי לקבל אותו.
כמו כן, לא מספיק ברור לי מהם השיטות ההלכתיות המקובלות לחישוב הזמנים (אם יש דבר כזה..), כיון שכרגע אני מעוניין לבנות משהו די סטנדרטי.
לדוגמה: איך מקובל לחשב את עלות השחר? /72/120/90 דק' זמניות, או מיקום השמש במעלות?
וממילא כל החישובים האחרים שנגזרים מזה.אני מעוניין לבנות לוח יחסית סטנדרטי, עם כמה אפשרויות של אופק, ולא לתת לכל אחד להגדיר לעצמו את המיקום (לפחות לא כרגע). אז איך אני מחשב את אופק ירושלים? לפי איזה נ.צ. בירושלים? וכן באופק תל אביב וכדו'.
תודה!
פורסם במקור בפורום CODE613 ב06/06/2017 21:53 (+03:00)
-
@JosephA
הסתדרת?עקרונית כן, כלומר מצאתי את הספרייה שאמורה לספק לי את המידע.
העניין הוא שאני מתלבט אם בכלל יש צורך להחזיק טבלה כזאת בדטה בייס, או שפשוט כל פעם שאזדקק לזמן מסוים - אשתמש בקוד הנ"ל כדי לקבל אותו.
כמו כן, לא מספיק ברור לי מהם השיטות ההלכתיות המקובלות לחישוב הזמנים (אם יש דבר כזה..), כיון שכרגע אני מעוניין לבנות משהו די סטנדרטי.
לדוגמה: איך מקובל לחשב את עלות השחר? /72/120/90 דק' זמניות, או מיקום השמש במעלות?
וממילא כל החישובים האחרים שנגזרים מזה.אני מעוניין לבנות לוח יחסית סטנדרטי, עם כמה אפשרויות של אופק, ולא לתת לכל אחד להגדיר לעצמו את המיקום (לפחות לא כרגע). אז איך אני מחשב את אופק ירושלים? לפי איזה נ.צ. בירושלים? וכן באופק תל אביב וכדו'.
תודה!
כמעט כל לוח שנה שתקח יש בתחילתו הסבר איך חושבו הזמנים ולפי איזו שיטה
פורסם במקור בפורום CODE613 ב07/06/2017 08:00 (+03:00)
-
נכון השאלה שלי היא מהם השיטות המקובלות והנפוצות ביותר. וכן איך מחליטים איפה זה "אופק ירושלים"? במקום הגבוה ביותר בירושלים? וכן על זה הדרך..
טוב, זו כבר לא שאלה לפורום מתכנתים אלא צריך לשאול בבית הוראה.
פורסם במקור בפורום CODE613 ב07/06/2017 14:11 (+03:00)
-
אני לא מבין למה אתם מסתבכים יש מחלקה בחינם פה.
https://github.com/hebcal/hebcal-jsפורסם במקור בפורום CODE613 ב08/06/2017 02:01 (+03:00)
-
//Credentials: var APIURL = "https://api.myzmanim.com/engine1.json.aspx" var APIUSER = "0007446111" var APIKEY = "bd2bc9a902acf1d1915a84b2496f174f8f2ce928bd0db4e637679326d08f6b154f5e8f83b06dcdce"
זה חלק מהקוד שלהם.. הם משתמשים בAPI שהבאת למעלה בתשלום..
ד.א. חשבתי שהעיצוב הטבלאי כבר עבר מהעולם.. אבל אני רואה שהאתר שלהם מעוצב בטבלאות.. :oops:
פורסם במקור בפורום CODE613 ב11/06/2017 17:18 (+03:00)
-
נא לשים לב שהאלגורתמים של חישוב השקיעה הם ברורים וידועים וע"פ נוסחאות שנאס"א מפרסמת.
ולכן לא בעיה למצוא מחלקות וקודים.
הבעיה היא כמובן במישור ההלכתי. לפי איזה גובה מחשבים? האם מחשבים את ההרים המסתירים? ועוד בעיות וספקות. ואין תמיד הכרעה הלכתית ברורה.
המפעל הגדול של הרב ציקוני היה בבירור הספיקות והמנהגים השונים. כלומר, אין רק חישוב לפי המיקום (והגובה) הגיאוגרפי של כל מקום, אלא כל עיר לגופה כפי המנהגים שהונהגו.
אגב: יש כמעט תמיד סטייה בשעות הזריחה והשקיעה (לא חצות). כיוון שיש השפעה של איכות האוויר על שבירת קרני האור.
לכן תמיד מחמירים בדקה-שתיים.פורסם במקור בפורום CODE613 ב15/06/2017 14:46 (+03:00)
-
עכשיו מצאתי את זה
https://www.npmjs.com/package/kosher-zmanim
אנסה לבדוק אם זה מדוייק יותר -
@zvizvi איזה נוסטלגיה..
השתמשתי לאחרונה בhebcal.js והזמנים יחסית בסדר בהשוואה ללוחות. אתה צריך להגדיר את המיקום שלך, ועדיף על ידי נתינת קואורדינטות, ולא להשתמש בשם של המקום, כדי לקבל תוצאות יותר מדוייקת.
אבל בכל אופן, כל החישובים האלה הם לא הכי מדוייקים, כי זה חישוב של זמנים אסטרונומיים.
היה להם שם באג, שנתן תוצאות לא נכונות, ועכשיו זה תוקן.