-
Notifications
You must be signed in to change notification settings - Fork 273
/
sos_20_52n_geoviqua.txt
70 lines (51 loc) · 11.9 KB
/
sos_20_52n_geoviqua.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# SOS version 2.0 tests using the 52North 'Geoviqua' service
# Imports
>>> from owslib.sos import SensorObservationService
# Setup
>>> service = SensorObservationService('http://geoviqua.dev.52north.org/SOS-Q/sos/kvp',version='2.0.0')
>>> for content in service.contents:
... print(content)
...
http://www.52north.org/test/offering/9
http://kli.uni-muenster.de/stations/rks/observations
http://geoviqua.dev.52north.org/procedures/ws2500
http://kli.uni-muenster.de/stations/hbs/observations
http://geoviqua.dev.52north.org/procedures/ws2500-internal
http://geoviqua.dev.52north.org/procedures/WXT520
>>> id = service.identification
# Check basic service metadata
>>> id.service
'OGC:SOS'
>>> id.title
'52N SOS for GeoViQua Project'
>>> id.keywords
['citizen science', 'climate', 'quality', 'testbed', 'weather']
>>> provider=service.provider
>>> provider.name
'52North'
>>> provider.contact.name
u'Eike Hinderk J\xfcrrens'
>>> provider.contact.position
'Software Developer'
>>> len(service.operations)
16
# Check allowed params for get FOI
>>> get_foi=service.get_operation_by_name('GetFeatureOfInterest')
>>> get_foi.parameters['featureOfInterest']['values']
['http://52north.org/fac/internal/it-is/srv-01', 'http://geoviqua.dev.52north.org/stations/ELV-WS2500', 'http://geoviqua.dev.52north.org/stations/Vaisala-WXT520', 'http://kli.uni-muenster.de/stations/hbs', 'http://kli.uni-muenster.de/stations/rks', 'http://www.52north.org/test/featureOfInterest/9']
# Check allowed params for get observation
>>> get_obs=service.get_operation_by_name('GetObservation')
>>> get_obs.parameters['responseFormat']['values']
['application/json', 'http://www.opengis.net/om/2.0', 'http://www.opengis.net/waterml-dr/2.0', 'http://www.opengis.net/waterml/2.0']
# Get observation call
# These can time out depending on the state of the service
# Get latest value - no checks at this stage
#'<?xml version="1.0" encoding="UTF-8"?>\n<sos:GetObservationResponse xmlns:sos="http://www.opengis.net/sos/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:om="http://www.opengis.net/om/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/sos/2.0 http://schemas.opengis.net/sos/2.0/sosGetObservation.xsd http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd http://www.opengis.net/om/2.0 http://schemas.opengis.net/om/2.0/observation.xsd">\n <sos:observationData>\n <om:OM_Observation gml:id="o_729058FD6AAFC4701C83D125175F889F51FD4798">\n <om:type xlink:href="http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Measurement"/>\n <om:phenomenonTime>\n <gml:TimeInstant gml:id="phenomenonTime_2118549">\n <gml:timePosition>2014-07-10T04:31:58.000Z</gml:timePosition>\n </gml:TimeInstant>\n </om:phenomenonTime>\n <om:resultTime xlink:href="#phenomenonTime_2118549"/>\n <om:procedure xlink:href="http://geoviqua.dev.52north.org/procedures/WXT520"/>\n <om:observedProperty xlink:href="http://geoviqua.dev.52north.org/properties/AirTemperature"/>\n <om:featureOfInterest xlink:href="http://geoviqua.dev.52north.org/stations/Vaisala-WXT520" xlink:title="Vaisala_WXT520"/>\n <om:result xmlns:ns="http://www.opengis.net/gml/3.2" uom="degC" xsi:type="ns:MeasureType">17.2</om:result>\n </om:OM_Observation>\n </sos:observationData>\n</sos:GetObservationResponse>'
>>> latest_response = service.get_observation('http://www.opengis.net/om/2.0', ['http://geoviqua.dev.52north.org/procedures/WXT520'], ['http://geoviqua.dev.52north.org/properties/AirTemperature'], eventTime='om:phenomenonTime,latest', timeout=120)
# Specific time period request
#'<?xml version="1.0" encoding="UTF-8"?>\n<sos:GetObservationResponse xmlns:sos="http://www.opengis.net/sos/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:om="http://www.opengis.net/om/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/sos/2.0 http://schemas.opengis.net/sos/2.0/sosGetObservation.xsd http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd http://www.opengis.net/om/2.0 http://schemas.opengis.net/om/2.0/observation.xsd">\n <sos:observationData>\n <om:OM_Observation gml:id="o_21D3463AA3C076C4ECA979ADC5960AB1E302DA34">\n <om:type xlink:href="http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Measurement"/>\n <om:phenomenonTime>\n <gml:TimeInstant gml:id="phenomenonTime_2084567">\n <gml:timePosition>2014-07-01T00:01:42.000Z</gml:timePosition>\n </gml:TimeInstant>\n </om:phenomenonTime>\n <om:resultTime xlink:href="#phenomenonTime_2084567"/>\n <om:procedure xlink:href="http://geoviqua.dev.52north.org/procedures/WXT520"/>\n <om:observedProperty xlink:href="http://geoviqua.dev.52north.org/properties/AirTemperature"/>\n <om:featureOfInterest xlink:href="http://geoviqua.dev.52north.org/stations/Vaisala-WXT520" xlink:title="Vaisala_WXT520"/>\n <om:result xmlns:ns="http://www.opengis.net/gml/3.2" uom="degC" xsi:type="ns:MeasureType">12.2</om:result>\n </om:OM_Observation>\n </sos:observationData>\n <sos:observationData>\n <om:OM_Observation gml:id="o_EF662A2C5464E8CDCDB8C8FF877FDC8A1F930C75">\n <om:phenomenonTime>\n <gml:TimeInstant gml:id="phenomenonTime_2084780">\n <gml:timePosition>2014-07-01T01:01:42.000Z</gml:timePosition>\n </gml:TimeInstant>\n </om:phenomenonTime>\n <om:resultTime xlink:href="#phenomenonTime_2084780"/>\n <om:procedure xlink:href="http://geoviqua.dev.52north.org/procedures/WXT520"/>\n <om:observedProperty xlink:href="http://geoviqua.dev.52north.org/properties/AirTemperature"/>\n <om:featureOfInterest xlink:href="http://geoviqua.dev.52north.org/stations/Vaisala-WXT520" xlink:title="Vaisala_WXT520"/>\n <om:result xmlns:ns="http://www.opengis.net/gml/3.2" uom="degC" xsi:type="ns:MeasureType">12.1</om:result>\n </om:OM_Observation>\n </sos:observationData>\n <sos:observationData>\n <om:OM_Observation gml:id="o_E2004F6DBC2BDE1B2E399E4466F3B76084F2B410">\n <om:phenomenonTime>\n <gml:TimeInstant gml:id="phenomenonTime_2084738">\n <gml:timePosition>2014-07-01T00:46:42.000Z</gml:timePosition>\n </gml:TimeInstant>\n </om:phenomenonTime>\n <om:resultTime xlink:href="#phenomenonTime_2084738"/>\n <om:procedure xlink:href="http://geoviqua.dev.52north.org/procedures/WXT520"/>\n <om:observedProperty xlink:href="http://geoviqua.dev.52north.org/properties/AirTemperature"/>\n <om:featureOfInterest xlink:href="http://geoviqua.dev.52north.org/stations/Vaisala-WXT520" xlink:title="Vaisala_WXT520"/>\n <om:result xmlns:ns="http://www.opengis.net/gml/3.2" uom="degC" xsi:type="ns:MeasureType">11.9</om:result>\n </om:OM_Observation>\n </sos:observationData>\n <sos:observationData>\n <om:OM_Observation gml:id="o_723E01744FD04A37511F7AE3A73F8A382555D0D1">\n <om:phenomenonTime>\n <gml:TimeInstant gml:id="phenomenonTime_2084936">\n <gml:timePosition>2014-07-01T01:46:41.000Z</gml:timePosition>\n </gml:TimeInstant>\n </om:phenomenonTime>\n <om:resultTime xlink:href="#phenomenonTime_2084936"/>\n <om:procedure xlink:href="http://geoviqua.dev.52north.org/procedures/WXT520"/>\n <om:observedProperty xlink:href="http://geoviqua.dev.52north.org/properties/AirTemperature"/>\n <om:featureOfInterest xlink:href="http://geoviqua.dev.52north.org/stations/Vaisala-WXT520" xlink:title="Vaisala_WXT520"/>\n <om:result xmlns:ns="http://www.opengis.net/gml/3.2" uom="degC" xsi:type="ns:MeasureType">12.3</om:result>\n </om:OM_Observation>\n </sos:observationData>\n <sos:observationData>\n <om:OM_Observation gml:id="o_108EA54D2F31C061B38A474E8F8B6350AE30809D">\n <om:phenomenonTime>\n <gml:TimeInstant gml:id="phenomenonTime_2084619">\n <gml:timePosition>2014-07-01T00:16:42.000Z</gml:timePosition>\n </gml:TimeInstant>\n </om:phenomenonTime>\n <om:resultTime xlink:href="#phenomenonTime_2084619"/>\n <om:procedure xlink:href="http://geoviqua.dev.52north.org/procedures/WXT520"/>\n <om:observedProperty xlink:href="http://geoviqua.dev.52north.org/properties/AirTemperature"/>\n <om:featureOfInterest xlink:href="http://geoviqua.dev.52north.org/stations/Vaisala-WXT520" xlink:title="Vaisala_WXT520"/>\n <om:result xmlns:ns="http://www.opengis.net/gml/3.2" uom="degC" xsi:type="ns:MeasureType">12.3</om:result>\n </om:OM_Observation>\n </sos:observationData>\n <sos:observationData>\n <om:OM_Observation gml:id="o_0312BE2B70D31E7E5995F343C98D0C0E8451175C">\n <om:phenomenonTime>\n <gml:TimeInstant gml:id="phenomenonTime_2084830">\n <gml:timePosition>2014-07-01T01:16:41.000Z</gml:timePosition>\n </gml:TimeInstant>\n </om:phenomenonTime>\n <om:resultTime xlink:href="#phenomenonTime_2084830"/>\n <om:procedure xlink:href="http://geoviqua.dev.52north.org/procedures/WXT520"/>\n <om:observedProperty xlink:href="http://geoviqua.dev.52north.org/properties/AirTemperature"/>\n <om:featureOfInterest xlink:href="http://geoviqua.dev.52north.org/stations/Vaisala-WXT520" xlink:title="Vaisala_WXT520"/>\n <om:result xmlns:ns="http://www.opengis.net/gml/3.2" uom="degC" xsi:type="ns:MeasureType">12.5</om:result>\n </om:OM_Observation>\n </sos:observationData>\n <sos:observationData>\n <om:OM_Observation gml:id="o_1C3177B2E23B0B6C1A8B05D74223835B9281EDF7">\n <om:phenomenonTime>\n <gml:TimeInstant gml:id="phenomenonTime_2084671">\n <gml:timePosition>2014-07-01T00:31:42.000Z</gml:timePosition>\n </gml:TimeInstant>\n </om:phenomenonTime>\n <om:resultTime xlink:href="#phenomenonTime_2084671"/>\n <om:procedure xlink:href="http://geoviqua.dev.52north.org/procedures/WXT520"/>\n <om:observedProperty xlink:href="http://geoviqua.dev.52north.org/properties/AirTemperature"/>\n <om:featureOfInterest xlink:href="http://geoviqua.dev.52north.org/stations/Vaisala-WXT520" xlink:title="Vaisala_WXT520"/>\n <om:result xmlns:ns="http://www.opengis.net/gml/3.2" uom="degC" xsi:type="ns:MeasureType">12.0</om:result>\n </om:OM_Observation>\n </sos:observationData>\n <sos:observationData>\n <om:OM_Observation gml:id="o_D6B50D42473492982D72640DDBB8E437C2B6B8E0">\n <om:phenomenonTime>\n <gml:TimeInstant gml:id="phenomenonTime_2084884">\n <gml:timePosition>2014-07-01T01:31:41.000Z</gml:timePosition>\n </gml:TimeInstant>\n </om:phenomenonTime>\n <om:resultTime xlink:href="#phenomenonTime_2084884"/>\n <om:procedure xlink:href="http://geoviqua.dev.52north.org/procedures/WXT520"/>\n <om:observedProperty xlink:href="http://geoviqua.dev.52north.org/properties/AirTemperature"/>\n <om:featureOfInterest xlink:href="http://geoviqua.dev.52north.org/stations/Vaisala-WXT520" xlink:title="Vaisala_WXT520"/>\n <om:result xmlns:ns="http://www.opengis.net/gml/3.2" uom="degC" xsi:type="ns:MeasureType">12.3</om:result>\n </om:OM_Observation>\n </sos:observationData>\n</sos:GetObservationResponse>'
>>> time_range_response = service.get_observation('http://www.opengis.net/om/2.0', ['http://geoviqua.dev.52north.org/procedures/WXT520'], ['http://geoviqua.dev.52north.org/properties/AirTemperature'], eventTime='om:phenomenonTime,2014-07-01T00:00:00Z/2014-07-01T02:00:00Z')
# WaterML2.0 domain-range request
>>> wml2_dr_response = service.get_observation('http://www.opengis.net/waterml-dr/2.0', ['http://geoviqua.dev.52north.org/procedures/WXT520'], ['http://geoviqua.dev.52north.org/properties/AirTemperature'], eventTime='om:phenomenonTime,2014-07-01T00:00:00Z/2014-07-01T02:00:00Z')
# WaterML2.0 interleaved time-series response
>>> wml2_response = service.get_observation('http://www.opengis.net/waterml/2.0', ['http://geoviqua.dev.52north.org/procedures/WXT520'], ['http://geoviqua.dev.52north.org/properties/AirTemperature'], eventTime='om:phenomenonTime,2014-07-01T00:00:00Z/2014-07-01T01:30:00Z')