Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/52north/sos
52°North Sensor Observation Service
https://github.com/52north/sos
aqd ereporting hydrology inspire observation ogc sensor sensorml sensorweb sos transactional waterml
Last synced: about 23 hours ago
JSON representation
52°North Sensor Observation Service
- Host: GitHub
- URL: https://github.com/52north/sos
- Owner: 52North
- License: gpl-2.0
- Created: 2014-03-14T10:24:54.000Z (almost 11 years ago)
- Default Branch: develop
- Last Pushed: 2024-12-09T13:50:33.000Z (13 days ago)
- Last Synced: 2024-12-14T14:15:14.004Z (8 days ago)
- Topics: aqd, ereporting, hydrology, inspire, observation, ogc, sensor, sensorml, sensorweb, sos, transactional, waterml
- Language: Java
- Homepage: https://52north.org/software/software-projects/sos/
- Size: 59.8 MB
- Stars: 110
- Watchers: 20
- Forks: 83
- Open Issues: 76
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 52°North Sensor Observation Service (SOS)
[![Develop Build Status](https://github.com/52North/SOS/actions/workflows/daily.yml/badge.svg)](https://github.com/52North/SOS/actions/workflows/daily.yml)
[![Develop Build Status](https://github.com/52North/SOS/actions/workflows/pull.yml/badge.svg)](https://github.com/52North/SOS/actions/workflows/pull.yml)
[![Develop Build Status](https://github.com/52North/SOS/actions/workflows/push.yml/badge.svg)](https://github.com/52North/SOS/actions/workflows/push.yml)
[![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](license)
[![CodeAQL analysis](https://github.com/52North/SOS/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/52North/SOS/actions/workflows/codeql-analysis.yml)
[![Open Source](https://badges.frapsoft.com/os/v3/open-source.png?v=103)](https://opensource.org/)## Description
### Standardized, web-based upload and download of sensor data and sensor metadata
**The 52°North Sensor Observation Service (SOS) provides an interoperable web-based interface for inserting and querying sensor data and sensor descriptions. It aggregates observations from live in-situ sensors as well as historical data sets (time series data).**
The 52°North SOS is a reference implementation of the
[OGC Sensor Observation Service specification (version 2.0)](https://portal.opengeospatial.org/files/?artifact_id=47599), an interoperable interface for publishing and querying sensor data and metadata.
It was implemented during the [OGC Web Services Testbed, Phase 9 (OWS-9)](http://www.ogcnetwork.net/ows-9)
and tested to be compliant to this specification within the [OGC CITE testing](http://cite.opengeospatial.org/test_engine) in December of 2012.The 52°North SOS enables the user to:
- insert and retrieve georeferenced observation data
- access georeferenced measurement data in a standardized format (ISO/OGC Observation and Measurement - O&M 2.0, OGC WaterML 2.0)
- insert and retrieve sensor descriptions (encoded according to the OGC SensorML standard - SML 1.0.1, SML 2.0)
- publish measurement data (near real-time, as well as archived data)An extension accommodates additional INSPIRE Directive requirements, thus ensuring interoperable exchange of any kind of observation data across political, administrative and organizational boundaries. Client applications, such as [Helgoland](http://www-neu.52north.org/software/software-projects/helgoland/) enable analysis and visualization of the measurement data provided via the SOS server.
### Features- [INSPIRE Download Service](http://inspire.ec.europa.eu/id/document/tg/download-sos) for measurement data
- [Guidelines for the use of Observations & Measurements and Sensor Web Enablement-related standards in INSPIRE (D2.9)](http://inspire.ec.europa.eu/id/document/tg/d2.9-o%26m-swe)
- [OGC Hydro Profile] (http://docs.opengeospatial.org/bp/14-004r1/14-004r1.html), including GetDataAvailability operation
- [SensorML 1.0.1 and 2.0](http://www.opengeospatial.org/standards/sensorml)
- [WaterML 2.0](http://www.opengeospatial.org/standards/waterml)
- [AQD e-Reporting flows E](https://www.eionet.europa.eu/aqportal/requirements/dataflows)
- Multiple DB support (by using the [Hibernate ORM framework](http://hibernate.org/orm/))
- Bundle including [Sensor Web Server Helgoland](https://github.com/52North/sensorweb-server-helgoland) and [helgoland](https://github.com/52North/helgoland/)
- DeleteObservation operation, to delete observation by identifier (not part of the SOS 2.0 specification)
- [Efficient XML Interchange (EXI) 1.0 format](http://52north.org/communities/sensorweb/sos/index.html#www.w3.orgTRexi)
- Support for [GoundWaterML 2 GeologyLog observation](http://www.opengeospatial.org/standards/gwml2)
### Future workAs of version 5.x, the 52N SOS's database model and DAO layer will be merged with the [52N Sensor Web Server Helgoland](https://github.com/52North/sensorweb-server-helgoland) to provide an easy-to-install and easy-to-configure service. This service will provide an OGC SOS 2.0 interface and 52N Sensor WEB REST-API to easily access the observed data via a restful interface.
The database models of both services will be harmonized. A simple basic database model will provide the main features of the SOS and the Sensor WEB REST-API and will be easily extendable.
The Data Access Objects (DAO) layer will also be harmonized to provide a single point for accessing and manipulating the data in the database. This will reduce the maintenance and the SOS and the REST interface will easily support new database features.
In the [Sensor Web Server database model](https://github.com/52North/sensorweb-server-db-model) the harmonized database model and the DAO layer will be provided as a separate project for use in the future 52N SOS and 52N Sensor WEB REST-API implementations. Additionally the [52N Sensor Web Server Helgoland Adapters](https://github.com/52North/sensorweb-server-helgoland-adapters) will also use this project to persist the metadata of the harvested SOS services.
## Quick Start
Getting started - the [installation guide](https://wiki.52north.org/SensorWeb/SensorObservationServiceVDocumentation#Installation) helps you install and configure the 52°North SOS.
### DockerDocker images are automatically deployed to [Docker Hub](https://hub.docker.com/r/52north/sos).
The configuration is located in `/etc/sos`. The directory is per default a volume and when no other directory is mounted (see also the [Docker documentation](https://docs.docker.com/storage/) for pre-populated volumes) a default configuration using H2 is used. This default installation uses the admin credentials `admin:password`. If you want to install the SOS, you have to mount a empty directory instead of the default volume.
The cache file is located in `/var/lib/jetty/webapps/ROOT/tmp`. The directory is per default a volume.
A custom [Helgoland](https://github.com/52North/helgoland) `settings.json` can be mounted to `/var/lib/jetty/webapps/ROOT/static/client/helgoland/settings.json`. This is needed, e.g when the external URL of the SOS differs from `http://localhost:8080/`.
#### Examples
Default:
```sh
docker run -p 8080:8080 --name sos 52north/sos:latest
```With a local configuration folder:
```sh
docker run -p 8080:8080 --name sos -v ./config:/etc/sos 52north/sos:latest
```Remote debugging enabled:
```sh
docker run -p 8080:8080 -p 8000:8000 --name sos -e 'JAVA_OPTIONS=-Xdebug -agentlib:jdwp=transport=dt_socket,address=0.0.0.0:8000,server=y,suspend=n' 52north/sos:latest
```## Demo
Access a basic form-based test client and the administrative backend at our [demo site](http://sensorweb.demo.52north.org/sensorwebtestbed/).
## License
The 52°North SOS is published under the [GNU General Public License, Version 2 (GPLv2)](http://www.gnu.org/licenses/gpl-2.0.html)
## Changelog
The latest changes, additions, bugfixes, etc. can be found in the [RELEASE-NOTES](https://github.com/52North/SOS/blob/website-markdowns/RELEASE-NOTES)
## References
- [IRCEL-CELINE](http://www.irceline.be/) (Belgium): *Current and archived air quality data for all of Belgium*
- [Wupperverband](https://www.wupperverband.de/) (Germnay): *Regional water board providing a multitude of hydrological measurment data with the help of SOS standards*
- [Swedish EPA](http://www.swedishepa.se/)/[IVL](http://www.ivl.se/)/[SMHI](http://www.smhi.se/) (Schweden): *Current and archived air quality data for all of Sweden, as well as delivery this data to the European Protection Agency*
- [RIVM](http://www.rivm.nl/) (Netherlands): *Current and archived air quality data for all of the Netherlands*
- [Lithuanian EPA](http://gamta.lt/cms/index?lang=en) (Lithuania): *Current and archived air quality data for all of Lithuania*
- [European Environment Agency (EEA)](http://www.eea.europa.eu/): *Use of SOS interface to collect data from the member countries, as well as to publish the collective data*
- [PEGELONLINE](https://www.pegelonline.wsv.de/) (Germany): *Interoperable publication of te federal waterways' hydrological measurment data.*## Credits
### Contributors
The development the 52°North Sensor Observation Service implementations was contributed by
| Name | Organisation |
| ------------- | :-------------: |
| [Carsten Hollmann](https://52north.org/about-us/profile/) | [52°North](http://52north.org) |
| [Eike Hinderk Jürrens](https://52north.org/about-us/profile/) | [52°North](http://52north.org) |
| [Christian Autermann](https://52north.org/about-us/profile/) | [52°North](http://52north.org) |
| Christoph Stasch| [52°North](http://52north.org) |
| Shane StClair | [Axiom Data Science](http://www.axiomdatascience.com) |
| Victor González | [geomati.co](http://geomati.co/en) |
| Oscar Fonts | [geomati.co](http://geomati.co/en) |
| Carlos Giraldo | [Instituto Tecnológico de Galicia (ITG)](http://www.itg.es/) |
| Alexander Kmoch | [Z_GIS](http://www.zgis.at), [Universität Salzburg (Austria and Germany)](http://www.uni-salzburg.at) |
| Carl Schroedl | Center for Integrated Data Analytics ([CIDA](http://cida.usgs.gov)), [USGS](http://www.usgs.gov) |
| Jordan Walker | Center for Integrated Data Analytics ([CIDA](http://cida.usgs.gov)), [USGS](http://www.usgs.gov) |### Contributing organizations
The development the 52°North Sensor Observation Service implementations was contributed by several organizations
| | | | |
| :-------------: | :-------------: | :-------------: | :-------------: |
| | | | |
| | Your logo?!
Get involved! | | | | |### Funding organizations/projects
The development the 52°North Sensor Observation Service implementations was supported by several organizations and projects. Among other we would like to thank the following organisations and project
| Project/Logo | Description |
| :-------------: | :------------- |
| | The development of this version of the 52°North SOS was supported by the European Union’s Horizon 2020 research project Cos4Cloud (co-funded by the European Commission under the grant agreement n°863463) |
| | The development of this version of the 52°North SOS was supported by the German Federal Ministry of Education and Research research project TaMIS (co-funded by the German Federal Ministry of Education and Research, programme Geotechnologien, under grant agreement no. 03G0854[A-D]) |
| | The development of this version of the 52°North SOS was supported by the European Union’s Horizon 2020 research project JERICO-S3 (co-funded by the European Commission under the grant agreement n°871153) |
| | The development of this version of the 52°North SOS was supported by the European FP7 research project NeXOS (co-funded by the European Commission under the grant agreement n°614102) |
| | The development of this version of the 52°North SOS was supported by the German Federal Ministry of Education and Research research project COLABIS (co-funded by the German Federal Ministry of Education and Research, programme Geotechnologien, under grant agreement no. 03G0852A) |
| | The development of this version of the 52°North SOS was supported by the German Federal Ministry of of Transport and Digital Infrastructure research project WaCoDis (co-funded by the German Federal Ministry of Transport and Digital Infrastructure, programme mFund) |
| | The development of this version of the 52°North SOS was supported by the German Federal Ministry of Education and Research research project MuDak-WRM (co-funded by the German Federal Ministry of Education and Research, programme FONA) |
| | The development of this version of the 52°North SOS was supported by the Horizon 2020 research project SeaDataCloud (co-funded by the European Commission under the grant agreement n°730960) |
| | The development of this version of the 52°North SOS was supported by the Horizon 2020 research project ODIP II (co-funded by the European Commission under the grant agreement n°654310) |
| | The enhancements to make the 52°North SOS an INSPIRE compliant Download Service were funded by the JRC under the ISA Programme's Action 1.17: A Reusable INSPIRE Reference Platform (ARE3NA). |
| | The IOOS project with the mission:
Lead the integration of ocean, coastal, and Great Lakes observing capabilities, in collaboration with Federal and non-Federal partners, to maximize access to data and generation of information products, inform decision making, and promote economic, environmental, and social benefits to our Nation and the world. |
| | BRGM, the French geological survey, is France's reference public institution for Earth Science applications in the management of surface and subsurface resources and risks. |
| | The Wupperverband for water, humans and the environment (Germany) |
| | The Belgian Interregional Environment Agency (IRCEL - CELINE) is active in the domain of air quality (modelling, forecasts, informing the public on the state of their air quality, e-reporting to the EU under the air quality directives, participating in scientific research on air quality, etc.). IRCEL — CELINE is a permanent cooperation between three regional environment agencies: Agence wallonne de l'Air et du Climat (AWAC), Bruxelles Environnement - Leefmilieu Brussel and Vlaamse Milieumaatschappij (VMM). |
| | The IVL Swedish Environmental Research Institute is an independent, non-profit research institute, owned by a foundation jointly established by the Swedish Government and Swedish industry. |
| | The ITZBund Information Technology Services Centre of the Federal Government (Germany) |
| | The German Aerospace Centre (Deutsches Zentrum fuer Luft- und Raumfahrt, DLR) and part of their Environmental and Crisis Information System (Umwelt- und Kriseninformationssystem, UKis) |
| | The SMART Project, funded by the Ministry of Business, Innovation and Employment (07/2011 – 06/2017):
Experts in the Smart Project will develop, apply, and validate pioneering new techniques for understanding New Zealand‘s groundwater resources. Satellite and airborne remote sensing techniques and Sensor Observation Services including seismic signals from earthquakes are used for rapid and costeffective characterisation and mapping of New Zealand‘s aquifer systems. Together with a stakeholder network the research team will use new methods to overcome the current time- and resourceconsuming challenges of in-time data acquisition. Special spatial skills in hydrogeology, geology, satellite remote sensing, geophysics, seismology, uncertainty mathematics and spatial information technology will be developed to assist with improvement of New Zealand‘s freshwater management. |
| | The OGC Web Services, Phase 9 (OWS-9) Testbed |
| | The OGC Web Services, Phase 10 (OWS-10) Testbed |
| | Rijkswaterstaat - Dutch Ministry of Infrastructure and the Environment (The Netherlands) |
| | The development of this version of the 52°North SOS was supported by the European FP7 research project EO2HEAVEN (co-funded by the European Commission under the grant agreement n°244100) |
| | The development of this version of the 52°North SOS was supported by the European FP7 research project GeoViQua (co-funded by the European Commission under the grant agreement n°265178) |
| | The development of this version of the 52°North SOS was supported by the European FP7 research project GEOWOW (co-funded by the European Commission under the grant agreement n°282915) |## Contact
- Carsten Hollmann [(CarstenHollmann)](https://github.com/CarstenHollmann/)
- Christian Autermann ([email protected])
- Eike Hinderk Jürrens [(EHJ-52n)](https://github.com/EHJ-52n/)
## DownloadThe binaries of the 52N SOS releases are provided are provided with the releases on GitHub:
https://github.com/52North/SOS/releases
### Contents
* `/src` : The source files of 52°North SOS modules
* `/bin` : Executable binary of 52°North SOS webapp module
* `LICENSE` : The license of 52°North SOS
* `NOTICE` : Third Party libraries and their licenses
* `README` : This file
* `RELEASE-NOTES` : The release notes of the 52°North SOSNo printer friendly documentation exist for this release. Instead, refer to the [wiki documentation](https://wiki.52north.org/SensorWeb/SensorObservationServiceVDocumentation).
## Support
You can get support via the community mailing list:
https://list.52north.org/mailman/listinfo/sensorweb/
## License
The 52N SOS is licensed under the [GNU General Public License v2 (GPLv2)](http://www.gnu.org/licenses/gpl-2.0.html).
The 3rd party libraries used and their licenses are listed in the [NOTICE file](https://github.com/52North/SOS/blob/develop/NOTICE)
## Contribute
Are you are interested in contributing to the 52°North SOS and you want to pull your changes to the 52N repository to make it available to all?
In that case we need your official permission. For this purpose we have a so-called contributors license agreement (CLA) in place. With this agreement you grant us the rights to use and publish your code under an open source license.
A link to the contributors license agreement and further explanations are available here:
https://52north.org/software/licensing/guidelines/
## BranchesThis project follows the [Gitflow branching model](http://nvie.com/posts/a-successful-git-branching-model/). "master" reflects the latest stable release.
Ongoing development is done in branch [develop](../../tree/develop) and dedicated feature branches (feature-*).## Code Compilation
This project is managed with Maven3. Simply run `mvn clean install`
to create a deployable .WAR file.52°North Spatial Information Research GmbH, Germany