You have chosen to sponsor your bid up to a maximum amount of .
The main task of this assignment is to implement a Weather Map mashup. You are
XMLHttpRequest, CSS, and XPath/XSL) and PHP to implement several functions of
such a system.
The program will get current weather data in the form of an XML data file from the
Bureau of Meteorology website for an Australian state. The data contained in the data file
will be used with Google Maps API to create a mashup map with markers that contain
weather information for towns (stations) in the selected state.
The various tasks that must be completed for this assignment are specified in the subsections
1 Retrieving Weather Bureau data and XML transformation
The Australian Bureau of Meteorology (BOM) currently provides some weather data in
XML format. Currently this data is stored in a Web accessible ftp directory located at:
Within this directory, current agricultural weather observations for each state are stored
in a file with the format IDX65176.xml, where “X” in the file name is the first letter of the
State (with the exception “D” for Northern Territory). For example, the file name for
Victoria weather data would be IDV65176.xml. These observations are constantly
updated by the Bureau.
The first task is to retrieve this data using Ajax techniques. If the file for the state selected
by the user does not exist on the BOM server, an appropriate error message should be
Perform a server-side transformation on the BOM xml file using an XSLT style sheet
called wmXML2XML.xsl. The result of the transformation should be an XML file called
weatherMap.xml that stores just the observation for maximum temperature, minimum
temperature, rain to 9am, wind run (in kilometres), and sunshine (in hours) in a separate
node under a station name.
2.XML to HTML transformation
Use the data in the transformed XML file (ie, weatherMap.xml) to show a table that
displays the current observation for the parameter types maximum/minimum temperature,
rain to 9am, wind run, and sunshine. Define an xsl file called wmXML2HTML.xsl and
perform a client-side transformation to create the table. An example of such a
resulting html file is shown in Figure 3.
Create the table so that Station name cells contain hyperlinks. When the user clicks on a
implement showMap()in 2.3). Observation data and time should be displayed.
3.Creating a Mashup
When the user clicks on a station name hyperlink the showMap()function will read the
weather data for that station and then use the Google map API to create a map that shows
the selected state with a marker indicating the weather station. When the marker is
clicked, the latest weather information related to that station will be displayed in an
information window – a little bubble that accompanies the marker (see Figure 4). The
mashup should be able to handle missing data points (e.g. Melbourne has no sunshine
4.Showing all stations
Add a button called “show all stations”. When a state is selected, weather data for all
stations of the selected state will be read and a map will be created that shows all stations
of the state with a marker indicating each station. When a marker is clicked, the latest
weather information related to that station will be displayed in an information window
and the information window for the previously clicked marker should be closed
5 CSS formatting
Create a CSS page called weatherMap.css. Modify your XSLT to include style references
that are defined in the CSS page. Styles defined should, at least, include the background
colour, fonts and border of the table.