Elevation Lookup Added to Zmanim Calendar Generator

Sunrise CalendarA 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.

Java Zmanim API Update

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 hamincha that are useful when trying to avoid a tartai desasri with early erev shabbos minyanim.

Site Upgrade

I just upgraded the site to WordPress 2.0.2, upgraded a few plugins and upgraded the Zmanim Calendar Generator to use v2 of the Google Maps API. I hope to have an update available for the Zmanim API that will allow easier porting to different languages. This will necessitate changing the API from using inheritance of the Java Calendar classes, to one that uses composition. I will try to keep you posted on this progress.

Zmanim Calendar Generator Now using Google Maps

Vintage Map with CompassThe 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.

Zmanim RSS Feed in the Works

The Zmanim API currently has 2 sample classes in the output package (no longer available). One the ZmanimXLSGenerator outputs zmanim as an Excel spreadsheet and is currently used in the Zmanim Calendar Generator, the other that is not fully maintained outputs zmanim in a PDF format (no longer available). I just started work on the third output class. This will generate an RSS feed of zmanim for a given location. I plan on outputting zmanim for the current day and the following week. The API that will be used is ROME. It seems pretty stable and relatively easy to use.