Get Observation Classes

When a GetObservation is requested istSOS:

  • creates a filter object
  • passes the filter object to the responder that based on filters creates the observations object
  • passes the observations object to the renderer to convert the information in appropriate requested outputFormat
class sosGOfilter

this class contain all the filters according to the GetObservation request performed

Parameters:
  • request (str) – the request, “getobservation”
  • sosConfig (obj) – the configuration preference of istSOS instance
  • service (str) – the service name “SOS”
  • version (str) – the SOS version requested
  • offering (str) – the requeste offering name
  • observedProperty (list) – the list of observed properties names as string
  • responseFormat (str) – the name of the desired output format
  • srsName (str) – the name of the desired reference system
  • eventTime (list) – list of time intervals (list of two isodate) and/or time instants (list of one isodate), for example: [ [2014-10-11T12:00:00+02:00, 2014-11-11T12:00:00+02:00], [2014-13-11T12:00:00+02:00] ]
  • procedure (list) – list of procedure names as string
  • featureOfInterest (list) – list of feature of interest names as string
  • featureOfInterestSpatial (str) – the SQL WHERE clause to apply the OGC filter expression in XML format specified in the request
  • result (str) – the SQL WHERE clause to apply the OGC property operator in XML format specified in the request
  • resultModel (str) – the model to represent the result (om:Observation)
  • responseMode (str) – the response mode (inline)
  • aggregate_interval (str) – the aggregation interval in ISO 8601 duration
  • aggregate_function (str) – the function to use for aggregation (one of: “AVG”,”COUNT”,”MAX”,”MIN”,”SUM”)
  • aggregate_nodata_qi (str) – the quality index value to use for representing no data in aggregated time serie
  • qualityIndex (bool) – if the quality index shall be returned (True) or not (False)
class observations

The class that contain all the observations related to all the procedures

Parameters:
  • offInfo (obj) – the general information about offering name, connection object, and configuration options
  • refsys (str) – the uri that refers to the EPSG refrence system
  • filter (obj) – the filter object that contains all the parameters setting of the GetObservation request
  • period (list) – a list of two values in datetime: the minimum and maximum instants of the requested time filters
  • reqTZ (obj) – the timezone in pytz.tzinfo
  • obs (list) – list of Observation objects
class Observation

The obsevation related to a single procedure

Parameters:
  • id_prc (str) – the internal id of the selected procedure
  • name (str) – the name of the procedure
  • procedure (str) – the URI name of the procedure
  • procedureType (str) – the type of procedure (one of “insitu-fixed-point”,”insitu-mobile-point”,”virtual”)
  • samplingTime (list) – the time interval for which this procedure has data [from, to]
  • timeResVal (str) – the time resolution setted for this procedure when registered in ISO 8601 duration
  • observedPropertyName (list) – list of observed properties names as string
  • observedProperty (list) – list of observed properties URI as string
  • uom (list) – list of unit of measure associated with the observed properties according to list index
  • featureOfInterest (str) – the feature of interest name
  • foi_urn (str) – the feature of interest URI
  • foiGml (str) – the GML representation of the feature of interest (in istSOS is only of type POINT)
  • srs (str) – the epsg code
  • refsys (str) – the URI of the reference system (srs)
  • x (float) – the X coordinate
  • y (float) – the Y coordinate
  • dataType (str) – the URN used for timeSeries data type
  • timedef (str) – URI of the time observed propertiy
  • data (list) –

    the list of observations as list of values (it is basically a matrix with fields as columns and measurements as rows)

    Note

    data get different columns depending on procedure type and qualityIndex parameter.

    The following rules appies:

    • the first field is always the time
    • if the procedure is mobile the second, third and fourth columns are the location
    • the other columns are the values of the observed properties
    • if the qualityIndex (qi) parameter is True then values of observed properties are alternated with the corresponding quality index

    so for example we could have different row type:

    1. [2014-10-11T12:00:00+02:00, 0.2, 81.42] -> [time, rain value, humidity value]
      (insitu-fixed-point measuring rain and humidity)
    2. [2014-10-11T12:00:00+02:00, 0.2, 210, 81.42, 200] -> [time, rain value, rain qi, humidity value, humidity qi]
      (insitu-fixed-point measuring rain and humidity with qualityIndex=True)
    3. [2014-10-11T12:00:00+02:00, 8.96127, 46.02723, 344.1, 0.2, 81.42] -> [time, x, y, z, rain value, humidity value]
      (insitu-mobile-point measuring rain and humidity)
    4. [2014-10-11T12:00:00+02:00, 8.96127, 46.02723, 344.1, 0.2, 210, 81.42, 200] -> [time, x, y, z, rain value, rain qi, humidity value, humidity qi]
      (insitu-mobile-point measuring rain and humidity)