Closed

web application1

This project was awarded to zeke for $200 AUD.

Get free quotes for a project like this
Employer working
Awarded to:
Skills Required
Project Budget
$30 - $250 AUD
Total Bids
7
Project Description

The main task of this assignment is to implement a Weather Map mashup. You are
required to use the core Ajax technologies (JavaScript/HTML, DOM, XML,
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
below.
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:
ftp://[url removed, login to view]
Within this directory, current agricultural weather observations for each state are stored
in a file with the format [url removed, login to view], 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
displayed.
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
[url removed, login to view] 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.
[url removed, login to view] to HTML transformation
Use the data in the transformed XML file (ie, [url removed, login to view]) 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 [url removed, login to view] 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
Station name hyperlink, a Javascript function called showMap()is invoked (you will
implement showMap()in 2.3). Observation data and time should be displayed.
[url removed, login to view] 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
data).
[url removed, login to view] 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
automatically.
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.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online