You are here: Wiki>SensorWeb Web>SensorInstanceRegistry (22 Sep 2017, DanielNuest)Edit Attach

Sensor Instance Registry

Discussion Paper

The Sensor Instance Registry (SIR) is a web service interface for managing sensor catalogues. It is based on the OGC discussion paper 10-171 (Download at OGC) and 09-163r2 (SensorML discovery profile, and presents a quite pragmatic solution that may serve as the basis for further discussion and development. The paper contains extensive descriptions of the service operations (requests and responses) for GET and POST requests.


The schemas (one file for each operation) are available online for validation at You can use these schemas for direct validation by including the root schema document into the XML documents, i.e. xsi:schemaLocation="".

For development, the schema files are located in the common XML project in a module 52n-xml-sir-v032 on GitHub at XSD files are located in the folder /src/main/xsd/sir//. The common XML project is used to build XMLBeans libraries for the schemas, which can be downloaded from the 52°North Maven repository, see They can be added to your own Java project with Maven (here with a snapshort version as an example):

Notes about SIR Specification

  • OWS Interface
    • Exploit more features of OWS common (e.g. the update sequence parameter)
    • The sir:Contents section should be extended
      • The element name HarvestedService is misleading, as all (indirectly via Sensor descriptions) inserted services are listed there as well!
  • Make the SIR usable in many application by defnining mappings to very common formats, e.g. output conform to W3C POI
    • Abstract data model
    • JSON binding * Add the concept of a "sensor network" to the SIR, which can take many shapes (network of networks - hierarchies?). This could also be too much unless it can be derived automatically (e.g. IOOS sensor networks, which use procedures/offerings for the whole network). -- DanielNuest - 2012-10-26
  • Move to SensorML 2.0 asap - it's the better standard.
  • Discuss versioning in the specification, it's very important and could be more explicit/easier to use than the validTime element if it is a feature of the API
  • Define multi-language features, i.e. multiple documents for the same sensor, using the HTTP Accept-Language header for retrieval - and what for insertion?

Notes about Discovery Profile

Some notes on the discovery profile and the SIR specification for future work:
  • Why does the Envelope not have a referenceFrame attribute? In fact, the Envelope is completely undefinded, should be fixed. For example, the SRS name is strictly needed when using GML output.
    • Do not allow spatial reference frame (see ifgi HWS).

SIR Software

ALERT! All software development under the name "SIR" / "Sensor Instance Registry" is continued in OpenSensorSearch. ALERT!

In OSS, the SIR definition provides a powerfull transactional interface for advanced application scenarios. The old implementation's binary releases are available in the 52°North downloads section:


  • JRE/JDK 1.6
  • Apache Tomcat 6.0.xx
  • PostreSQL Version 8.3.x
  • PostGIS Version 1.5.x
  • Apache Ant 1.8.x (if you want to build SIR yourself)
Naturally, newer versions should work as well and should be preferred.


Documentation and Installation Instructions

An extensive documentation for users (installation instructions, troubleshooting, ...) is available in the Sir Tutorial here.

Contributor documentation can be found on the page SensorInstanceRegistryDevelopment.


For testing of the SPS harvesting, a simple mockup service was implemented at It serves GetCapabilities requests via GET or POST and provides access to the sensor metadata documents linked in the capabilities file. You can download the Eclipse project source and deployable WAR archive.


The testing of the catalogue connection was done with an instance of buddata ( Buddata ebXML Registry/Repository is an open source implementation of the OASIS ebXML Registry and OGC Catalogue Service.

You can download a zip-file with an Eclipse project here:

An installation guide and download of an installer is possible on the project website and an installation of the newest version is recommended.

The test server is available at

Some useful requests are: Some notes on the service:
  • The GetRepositoryItem looks for files in the repository folder (repository.root can be set in the file and cannot be used to query elements from the database. Use GetRecordById instead for database-based storage.
  • If the database should be reset without deploying the service again, you can use the files database.sql and init-data.sql (from the Eclipse project folder /ErgoRR/ErgoRR-persistence/src/main/config/), but problems were sometimes encountered due to missing tables in the drop statements - please take a good look at the output of the SQL calls!


The simple test set-up consists of harvesting WeatherSOS ( and the SpsMockup service (

More data can be generated using the test data generator from the package org.n52.sir.util.testData. The main method including examples can be found in the class
Topic attachments
I Attachment Action Size Date Who Comment
ErgoRR-Eclipse-project.zipzip manage 32 MB 09 Nov 2010 - 17:20 DanielNuest Eclipse Project for ErgoRR ebXML Registry / CSW Implementation
SpsMockup.warwar SpsMockup.war manage 3 MB 05 Nov 2010 - 13:17 DanielNuest Tomcat WAR File for SPS Mockup Service
SpsMockup.zipzip manage 3 MB 05 Nov 2010 - 13:16 DanielNuest Eclipse Project for SPS Mockup Service
csw-testrequest-allservices.xmlxml csw-testrequest-allservices.xml manage 783 bytes 09 Nov 2010 - 16:56 DanielNuest  
csw-testrequest-classificationnodes.xmlxml csw-testrequest-classificationnodes.xml manage 1 K 09 Nov 2010 - 16:56 DanielNuest  
csw-testrequest-getrecordbyid.xmlxml csw-testrequest-getrecordbyid.xml manage 480 bytes 09 Nov 2010 - 16:56 DanielNuest  
Topic revision: r77 - 22 Sep 2017 11:52:11, DanielNuest
This site is powered by FoswikiCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki? Send feedback