As you may know, the U.S. is changing the Daylight Saving Time rules this year due to the Energy Policy Act of 2005. The server currently hosting this site does not yet have the Java patch for this. This means that from the second Sunday in March (the 11th) until the the last Sunday in March (the 25th), calendars generated from the Zmanim Calendar Generator will show the zmanim in standard time and not daylight savings time (DST). The same issue will happen in the fall from the last Sunday in October (the 28th) till the first Sunday in November (the 4th). The Java version used by the server should be patched within the next week or 2 to the latest Java 5 (JDK 1.5) version to solve this problem.
A lookup tool for elevation lookup was added to the Zmanim Calendar Generator page. This service is courtesy of Jonathan Stott’s earthtools.org elevation webservice. This Elevation data currently only covers all of mainland Europe (between latitudes 35°N and 60°N and longitudes 35°E and 15°W) and all of the contiguous states of the United States of America (between latitudes 20°N and 50°N and longitudes 65°W and 125°W). The source of the data is:
The terrain model used to find heights above sealevel is from the Shuttle Radar Topography Mission (SRTM) which was a joint project between the US National Geospatial-Intelligence Agency (NGA) and the National Aeronautics and Space Administration (NASA). Data was recorded for 11 days from the Space Shuttle Endevour from 11th February 2000. The data used here is at a resolution of 3 arc seconds (approximately 90m).
The lookup is done via an AJAX call.
The first phase of change to allow easier porting to other languages took place with the change in the API from using inheritance of the Java Calendar classes, to one that uses composition. This will make porting it to other languages easier. Included in the update are a number of new zmanim, mostly the addition of a number of new calculations for plag that are useful when trying to avoid a tartai desasri with early erev shabbos minyanim.
The Zmanim Calendar Generator now has a simple way to look up longitude and latitude information using the Google Maps API. To use this feature, click on the Google Maps icon to display the map (location centered on Bais Medrash Gevoha in Lakewood), find the location that you want to generate zmanim for, and click that point in the map. This will update the longitude and latitude fields in the form. The Google API was pretty straight forward and simple. At the same time I tried to integrate an elevation lookup. Google does not provide elevation information, but I attempted to look it up using a webservice. This seemingly simple task was not very straight forward. The approach was to grab the SOAP response from the REST style elevation webservice made available by Jonathan Stott. My plan was to do this all via the client sided XML parsing. The first issue encountered was browser security that does not allow cross-domain loading of XML documents (By the way this was not using XMLHttpRequest, but the same security restrictions apply). This was solved by a simple PHP page that was just a proxy for the call. That done, I managed to get it to work in IE, but it crashed the browser every second call or so. The crashing was solved by adding a small delay. I never managed to get it working in Mozilla. I later tried to use the existing Google Maps API to load it, but never got it working. I commented out all elevation code, and will get to that part at some future date. I also removed the non decimal longitude and latitude option. I hope this will be useful.
I slightly updated the Zmanim Calendar Generator to add some user input validation.
Items on the TODO list are:
- Provide links to locate longitude and latitude information
- Add support for the generation of a standard (not full as is the default now) calendar with a much smaller set of zmanim
- Implement the generation of PDF calendars
- Possibly use the Google Maps API to allow the selection of longitude and latitude information
The code for the PDF generation is already in the API but has not been updated in a while and does not work properly. This will also have to be updated for the standard calendar mentioned above.
The way I envision interacting with Google Maps would be to allow the user to center their location in the map, and have those coordinates used for the zmanim calendar. This would have been relatively trivial if they provided geocoding information, by just allowing the user to enter their location as it can be done at Google Maps, but they currently do not provide geocoding information. I haven’t touched their API yet, and although it does not look too complex, it will probably take a while.
The static pages for the Zmanim project have been slightly updated. The main zmanim page has been revamped, an instruction page added and some other minor changes made. One change to the main page has been the addition of the list of types of zmanim that can be calculated. One reason for this change was for search engine optimization. I ran AWStats on the log files for the last month and a half and the following search phrases brought people to the site (listed in order of popularity)
“hebrew date”, “zman krias shema”, “hebrew date php”, “kosher coffee”, “zmanim nassau”, “zman tefilah”, “time of sun in zenith calculate”, “zmanim”, “wordpress hebrew”, “elevation of sun time of day”, “harfenes”, “asia generator”, “date hebrew”, “xsd time format”, “hebrew plugin”, “plag hamincha”, “get calendar java calc”, “zmanim calendar”, “jewish zmanim”, “calendar generator”, “milliseconds xsd time”, “annual calendar generator”, “java calculate start of the day”, “calculating sun zenith angle”, “calendrical spreadsheet”, “calculate mincha gedola”, “milliseconds into minutes”, “sun s zenith”, “javadoc api “, “time formats milliseconds”, “sof zman krias shema”.
The logs also showed that many people who were searching for zmanim related searches never moved beyond the JavaDocs pages that matched their query. The technical nature of the page probably threw them off. The addition of the listing of types of zmanim will hopefully lead many searchers to the main page instead of the JavaDocs page in the future.