Closed

web application1

This project received 7 bids from talented freelancers with an average bid price of $218 AUD.

Get free quotes for a project like this
Employer working
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