About We Love Wind
We Love Wind is the means to realize my MSc thesis: that online weather data can be harvested and combined with new data in a mashup to assist the practitioners of wind sports. Such a mashup is a global weather service that provides users with relevant wind information tailored for the individual users. In particular, this means that 1) wind data is synthesized and transformed to weather information in a way that is relevant for wind sports; 2) only wind information relevant for the user’s location is served; and 3) wind information is accessible through the means of its user such as a standard computer or a cell phone.
The dissertation ("A Web-Based Weather Service for Wind Sports") describes the foundations, design, and implementation of the mashup (We Love Wind) that assists practitioners of wind sports. The problem consists of three parts: (1) obtaining weather forecasts and weather observations from weather resources; (2) creating Web Services that serve representations of relevant data; and (3) creating a Web Service client that presents the data in a comprehensible matter for users.
Slides from JAOO Aarhus '09 talk.
The dissertation presents the theoretical foundations for creating scalable Web Services. The theoretical foundations consist of Roy Fielding’s architectural style, Representational State Transfer (REST), and of Leonard Richardson and Sam Ruby’s concrete Web Service architecture, the Resource Oriented Architecture that is subject to the architectural constraints of REST.
I use the Google App Engine (GAE) with the app-engine-patch as the platform for the Web Service. Using GAE for geographical spatial data demands that space-filling curves are applied to map from multi-dimensional data, e.g., latitude and longitude, to a one-dimensional value that can be indexed by GAE. Geohash is presented and used in a scalable solution that serves location-based information on a proximity basis. In addition, I present a solution that circumvents the geohashing limitations regarding proximity searches across boundaries. I illustrate how the Web Service is used by describing the design and implementation of a location-based Ajax front-end that presents weather information relevant in the context of wind sports.
Talks
November '09
-
Advanced Web Technology guest lecture: Creating a Mashup for Wind Sports
Tags: web scraping, JSON, JSONP, geolocation lookup, HTTP caching
October '09
- [PL Seminar] Talk: Case Study: Wind Sports Mashup on Google App Engine
September '09
- JAOO Aarhus '09 talk: Case Study: Wind Sports Mashup on Google App Engine
Tags: Google App Engine, GAE restrictions, GIS, paging, indexes
August '09
- MS Thesis defense: A Web-Based Weather Service for Wind Sports
Tags: REST, ROA, Geohash