There are several publicly available environmental data sources that you can use to build apps, hosted on Microsoft Azure. You can use a £125/$200 Azure free trial that gives you access to just about all services that you may need. Sign up at http://azure.microsoft.com/en-us/pricing/free-trial/
- UK Met Office open weather data on Azure Marketplace, including JSON API – http://datamarket.azure.com/dataset/datagovuk/metofficeweatheropendata
- FloodAlerts & Gaugemap flood information and APIs from Shoothill via – http://www.shoothill.com/FloodMap/ and http://www.gaugemap.co.uk/
- Environmental Data and Flood API This service provides secure programmatic access to the Environment Agency Flood, River Level, Groundwater, River Flow and 3-Day Flood Forecast data in JSON format. The service’s data is updated every 15 minutes. http://www.shoothill.com/environment-agency-liveapi/
- Gauge Widget – easily embed any gauge easily onto another website (Gauge-Widgets automatically update with the latest info every hour. For example – http://kingsbridgecourt.com/home/2015/02/22/
- Borehole data – Shoothill added live borehole (i.e. groundwater level) data to GaugeMap very recently. BTW 50% of UK drinking water comes from the ground (not rivers) and in London, it is 80%. It is also responsible for groundwater flooding (as opposed to river / sea flooding).
- River flow data – Shoothill has added live river flow data to GaugeMap and this is very relevant to the insurance industry.
- FetchClimate from the Computational Science Lab of Microsoft Research provides ready access to complex geographical information including, but not limited to, climatological information. On accessing the FetchClimate Azure web service, you simply need to perform four steps to find what you are looking for:
- Draw the location on the Earth via points or grids (Where?)
- Specify the data of interest (What?)
- Set the timeframe, including future predictions, and a combination of averages over—or steps through—years, days, and hours (When?)
- Fetch and view your results.
- FetchClimate will choose the best data set for your query, and perform all the necessary regridding in space and time. It will return a best guess, uncertainty, and provenance for your query and display the results on the map for visual exploration. Alternatively, the FetchClimate service can be used directly via a simple API, from within programs written in any .NET language, Python, R or Matlab. See http://research.microsoft.com/en-us/projects/fetchclimate/ and the developer guide at http://research.microsoft.com/en-us/um/cambridge/groups/science/tools/fetchclimate/FetchClimate%20Overview.pdf
- Code samples for programmatically using FetchClimate are in this blog post.
- An example app that uses FetchClimate is called Climatology, available on the Windows Phone and Android Stores.
Predictive models using Azure Machine Learning
It is now possible to use machine learning without being an expert. The Azure Machine Learning service makes it easy to build predictive models, trained on data, and publish them as web services with a REST API. It is ideal for building apps that can bring together data from different sources to produce productive and meaningful predictions. You can use one of the many state-of-the-art machine learning techniques included, or your own in R or Python. More details are at –
- Here is an example of building a model to predict whether an airline flight in the future will be delayed. It is trained on historical weather data and airline on-time performance – http://gallery.azureml.net/Details/837e2095ce784f1ba5ac623a60232027
- Here is an example of how to build a Twitter sentiment analysis service – http://gallery.azureml.net/Details/59e52ed2895144ea964947c950a9c794
Building mobile apps with the Cloud
With Azure Mobile Services, it’s easy to rapidly build engaging cross-platform and native apps for iOS, Android, Windows or Mac, store app data in the cloud or on-premises, authenticate users, send push notifications, as well as add your custom backend logic in C# or Node.js. See http://azure.microsoft.com/en-us/services/mobile-services/
- Mobile Services makes configuring user authentication via Facebook, Google, Microsoft, or Twitter accounts as simple as a few clicks. Once users authenticate, not only can you personalize their experience based on social APIs, but also increase engagement and sharing.
- Azure can help you easily build apps which interact with customers as they are using your app, so you can deliver fast experiences to delight your users. Mobile Services supports both SignalR and Socket.IO for managing realtime communication with devices.
- Use offline data sync to build responsive apps. Create robust apps that remain useful when there are network issues, so users can create and modify data even when they are offline. Improve app responsiveness by caching server data locally on the device. With Mobile Services you can easily provide a native sync experience across your iOS, Android, and Windows apps.
For visualisation and dynamic dashboard reports for data and maps, the PowerBI service and Excel 2013 plugin provides easy-to-use capabilities with many applications for environmental apps and services. See http://www.microsoft.com/en-us/powerbi/default.aspx
You can find out how to use Azure with Linux and open-source software at http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-opensource/
For hackathons you can use a £125 Azure free trial that gives you access to just about all services that you may need. Sign up at http://azure.microsoft.com/en- us/pricing/free-trial/
For help you can see the documentation at http://azure.microsoft.com/en-us/documentation/
We hope Microsoft Azure can help you build great apps that make use of environmental data. Microsoft is working on bringing data culture to everyone, including taking advantage of opportunities with Internet of Thing. So please consider coming along to one of our upcoming events:
- Register for Data Culture Series: https://aka.ms/dataculture
- Take the Challenge – Build a Dev/Test workstation in the cloud in minutes: