sos4py is a convenience layer for Python environment to access services, extract data, and allow querying from SOS instances.
- Free software: Apache Software License 2.0
- Allows connection to an SOS service using OWSLib.
- Explore and summarize service capabilities, sensor metadata, offerings, observed properties, and available phenomena.
- Query requests to an SOS service for Get Data Availability.
AN EXAMPLE OF THE PACKAGE CAN BE SEEN:: https://github.com/alchav06/sos4py/blob/master/demo_sos4py.ipynb
- Connecting to an SOS service:
- Description
- Base class of a connection to a Sensor Observation Service. The result is class object SensorObservationService_2_0_0(object) of the OWSLib (<https://github.com/geopython/OWSLib/blob/master/owslib/swe/observation/sos200.py>)
- Usage
def connection_sos(url, xml=None, username=None, password=None,):
Parameters
- xml : str
- Xml file path.
- username : str
- Username to access the SOS service.
- password : str
- User password to access the SOS service.
Example
from sos4py.main import connection_sos
service = sos4py('http://sensorweb.demo.52north.org/52n-sos-webapp/sos/kvp')
- Get capabilities functions(summaries):
- Description
- Construction class sos_2_0_0. Implements the the return of the function connection_sos() as input. The methods of the class can be used for metadata retrieval of sensors, and observation data queries.
- Usage
class sos_2_0_0(self, url, version, xml=None, username=None, password=None):
- Methods
sosServiceIdentification()
The identification section of a SOS v2.0 capabilities document. This function queries the identification metadata available and returns the data as a pandas Series dataframe.sosProvider()
The provider section of an SOS v2.0 capabilities document. This function queries the provider metadata available and returns the data as a pandas Series dataframe.sosOperationsMetadata()
Elements in an OperationsMetadata object.This function queries the operations available of a SOS v2.0 capabilities document and returns the data as a pandas Series dataframe.sosOfferings()
Explore offerings section of an SOS v2.0 capabilities document. This function queries the offerings and returns the data as a pandas Series dataframe.sosPhenomena()
Queries a SOS v2.0 for all its phenomena. Returns a list of the phenomena ids.
Examples
from sos4py.main import connection_sos
service = connection_sos('http://sensorweb.demo.52north.org/52n-sos-webapp/sos/kvp')
service.sosServiceIdentification()
service.sosProvider()
service.sosOperationsMetadata()
service.sosOfferings()
service.phenomena()
- Get Data Availability function:
- Description
- Base class of a connection to a Sensor Observation Service. The result is class object SensorObservationService_2_0_0(object) of the OWSLib (<https://github.com/geopython/OWSLib/blob/master/owslib/swe/observation/sos200.py>)
Usage
def get_data_availability(object, procedures=None, observedProperties=None, featuresOfInterest=None, offerings=None, method=None, **kwargs)
Parameters
- object : str
- Xml file path.
- procedures : list of str
- Query the data based on the availability of the indicated procedures.
- observedProperties: list of str
- Query the data based on the availability of the indicated observed properties.
- featuresOfInterest : list of str
- Query the data based on the availability of the indicated features of interest.
- offerings : list of str
- Query the data based on the availability of the indicated offerings.
- method : str
- 'Get' or 'Post' request parameter.
Examples
service.get_data_availability()
service.get_data_availability()
service.get_data_availability(procedures=['http://www.52north.org/test/procedure/6'], featuresOfInterest=['http://www.52north.org/test/featureOfInterest/6'])
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.