{ "metadata": { "name": "", "signature": "sha256:ce94a81c498edd736bc185974940c1b103c326f34252f47e4c50ca19ae3dcc20" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Using OWSLib to access Bureau of Meteorology Water Data Services (using Sensor Observation Service 2.0)\n", "\n", "This py notebook shows how to retrieve water data from the Bureau of Meteorology's water data services (see http://www.bom.gov.au/waterdata/). The data service is a Sensor Observation Service (SOS) v2.0. \n", "\n", "## Service setup and metadata\n", "\n", "The following imports the required OWSLib library, and contructs the base service object using the BoM service URL. Note that some of the functions use here are not yet merged into OWSLib (see https://github.com/geopython/OWSLib/pull/241). " ] }, { "cell_type": "code", "collapsed": false, "input": [ "from owslib.sos import SensorObservationService\n", "from owslib.swe.observation.sos200 import SOSGetObservationResponse\n", "from IPython.core.display import HTML\n", "\n", "service = SensorObservationService('http://www.bom.gov.au/waterdata/services',version='2.0.0')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now have a service description document (capabilities doc). This describes what the service can do and provides some identifiers for various data offerings. For example, we can extract all the available observed properties from the service:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "str =''\n", "for prop in service.observed_properties:\n", " str += '
  • ' + prop.replace('http://bom.gov.au/waterdata/services/parameters/','') + '
  • '\n", "HTML(str)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
  • Water Course Discharge
  • Rainfall
  • Water Course Level
  • Generic
  • Dry Air Temperature
  • Electrical Conductivity @ 25C
  • pH
  • Water Temperature
  • Relative Humidity
  • Storage Level
  • Storage Volume
  • Turbidity
  • Ground Water Level
  • Evaporation
  • Wind Direction
  • Wind Run
  • Wind Speed
  • " ], "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Retrieving descriptions of available data streams\n", "\n", "This still doesn't describe identifiers for stations, or exactly which variables/phenomena are available at each station. To do this we need to use the 'GetDataAvailability' function. This call can be used to describe the available data series at a particular station. This is not part of the core SOS 2.0 spec, but it has been implemented by the Bureau using the HydroSOS profile. \n", "\n", "__This still needs to be implemented in OWSLib__ Will try and add it. \n", "\n", "An example using an HTTP KvP request:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "http://www.bom.gov.au/waterdata/services?service=SOS&version=2.0&request=GetDataAvailability&featureOfInterest=http://bom.gov.au/waterdata/services/stations/30.2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Retrieving feature descriptions\n", "\n", "The Bureau service supports the GetFeatureOfInterest call, which is useful for discovering features with spatial filters. This call is not in OWSLib yet, but can be made using straight HTTP calls. I'll add an example.." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Retrieving observations\n", "\n", "This example below requests water course discharge data for a specific monitoring site (http://bom.gov.au/waterdata/services/stations/181.1 - a site in Tasmania), for the period 1st Jan 2016 to 5th March 2016 " ] }, { "cell_type": "code", "collapsed": false, "input": [ "response = service.get_observation(featureOfInterest='http://bom.gov.au/waterdata/services/stations/181.1',\n", " offerings=['http://bom.gov.au/waterdata/services/tstypes/Pat4_PC_1'],\n", " observedProperties=['http://bom.gov.au/waterdata/services/parameters/Water Course Discharge'],\n", " eventTime='om:phenomenonTime,2016-01-01T00:00:00+10/2016-03-05T00:00:00+10')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## WaterML2.0 observation parser, plotting with pandas\n", "\n", "Once you have the service response, you can parse the response uing the OWSLib SOSGetObservationResponse class. This will identify the type of service response (in this case, WaterML2.0) and provide a parsed object. \n", "\n", "Here we just pull out the time-value pairs and pass to Pandas to plot. Note that missing points and gaps are correctly passed through. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "from owslib.etree import etree\n", "import pandas as pd\n", "from pandas import Series\n", "\n", "et = etree.fromstring(response)\n", "parsed_response = SOSGetObservationResponse(et)\n", "\n", "for o in parsed_response.observations[0:2]:\n", " series = o.get_result()\n", " dates = [p.datetime for p in series]\n", " values = [p.value for p in series] \n", " \n", " series = pd.Series(values, index=dates)\n", " series.plot()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nFEVRFEVJOv8faCNwqaKoOhAAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And there we have it. A discharge series - for any station in Australia. " ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }