Aerial Imagery and Weather
The weather data available on this site is provided by the National Weather Service. The National Weather Service provides forecast data to the general public free of charge. I use their ndfdXML Web Service to retrieve the data for the a set of geographic coordinates and apply an XSL transformation to it to render it as HTML. Once retrieved, I cache the forecasts for one hour, because the National Weather Service doesn't update the data more often than that, and they request that retrievals for a given point be limited to one per hour.
The ndfdXML Web Service has become very popular. At times the servers are overloaded with requests, or with requesters that are not cacheing the data properly. When this happens the National Weather Service takes ndfdXML offline. I cannot provide a forecast for you without their service, so there will be times when the weather forecast pages will be unavailable.
Currently I only retrieve the NDFDgenByDay output for 5 days. In the members area I will provide a more detailed forecast based on a combination of the NDFDgenByDay output and the NDFDgen output. This will give a general 5 day forecast with more detailed data for the first day. I also plan to hook into the current conditions report as soon as I work out how to retrieve the correct report to match the forecast. This more detailed weather forecasting will only be available in the members area of the site.
I work out the geographic coordinates for the forecast using one of two methods. The first method uses a 5 digit United States ZIP code. Given a ZIP code I am able to retrieve the geographic coordinates of the center of the region served by that ZIP code. The second method takes advantage of the TerraServer web service. Given a partial place name, I use the web service to look up a list of up to 100 places with names that start with the supplied partial name. I get the place name and the geographic coordinates for each returned place.
With that information I can retrieve the forecast data. I also do a lookup of the place name a second time, based on the geographic coordinates. This is how I present names for locations found by ZIP code, and it's also why on occasion you may select a particular place name, and see a forecast that "appears" to be for a different place. The TerraServer web service is simply returning the name of the "nearest" place, although I have occasionally seen "nearby" places that are several hundred kilometers from the actual location being shown.
I also use the TerraServer web service to retrieve aerial imagery provided by the U.S. Geological Survey and TerraServer. Not all locations have the same quality of imagery available. Some areas have high-quality "urban areas" themed imagery. Others have black and white aerial photos that were taken at different times. Still other areas only have topographical maps. Whatever is available is what you get when you click on the place name in the forecast page.
In case you're curious, the six weather forecasts listed in the menu are for places where a few of my relatives happen to live.