-
Notifications
You must be signed in to change notification settings - Fork 15
Home
NcSOS adds a OGC SOS service to your existing THREDDS server.
You will need a working THREDDS installation of a least 4.3.16 to run NcSOS.
- Mailing list: https://groups.google.com/forum/#!forum/ncsos
- Documentation wiki: https://github.com/asascience-open/ncSOS/wiki
- Source repository: https://github.com/asascience-open/ncSOS/
- Issues and Ideas: https://github.com/asascience-open/ncSOS/issues?state=open
- Get source/installers: https://github.com/asascience-open/ncSOS/releases
-
Extract ncSOS.zip into a local directory
-
Copy the ncSOS.jar into your $TOMCAT_HOME/webapps/thredds/WEB-INF/lib directory.
-
Copy the sos-servlet.xml configuration file into the $TOMCAT_HOME/webapps/thredds/WEB-INF directory.
-
Add two new servlet mappings to your $TOMCAT_HOME/webapps/thredds/WEB-INF/web.xml file:
<servlet> <servlet-name>sos</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
<servlet-mapping> <servlet-name>sos</servlet-name> <url-pattern>/sos/*</url-pattern> </servlet-mapping>
-
Add the following service definition to enable SOS in your THREDDS catalog XML files:
<service name="sos" serviceType="SOS" base="/thredds/sos/" />
-
Restart the web application server.
Alternatively, you can download a THREDDS war file that is pre-setup with NcSOS (bypassing the above installation steps) here.
NcSOS works with datasets that can be loaded as an ANY_POINT FeatureType using the NetCDF-Java library. A mapping from CF-1.6 Discrete Sampling Geometries to NetCDF-Java Point Feature Types to NcSOS offerings is below.
Note: NetCDF-Java added support for the CF-1.6 Discrete Sampling Geometries in version 4.3. Any version prior to 4.3 will not work with NcSOS.
CF-1.6 | NetCDF-Java | What NcSOS Offers |
---|---|---|
Point | PointFeature | Point |
Many Points | PointFeatureCollection | Many Points |
Profile | ProfileFeature | Profile |
Many Profiles | ProfileFeatureCollection | Many Profiles |
Timeseries | StationTimeSeriesFeature | Timeseries |
Many Timeseries | StationTimeSeriesFeatureCollection | Many Timeseries |
TimeseriesProfile | StationProfileFeature | TimeseriesProfile |
Many TimeseriesProfiles | StationProfileFeatureCollection | Many TimeseriesProfiles |
Trajectory | TrajectoryFeature | Trajectory |
Many Trajectories | TrajectoryFeatureCollection | Many Trajectories |
TrajectoryProfile | SectionFeature | Trajectory with a profile of data (ranging Z) at each point |
Many TrajectoryProfiles | SectionFeatureCollection | Many Trajectories with a profile of data (ranging Z) at each point |
Working NetCDF templates for all types of the CF-1.6 Discrete Sampling Geometries are available for reference when creating files for NcSOS to serve. Each of these templates aligns with a corresponding CF-1.6 example. Each template folder has a description of the type of data used in each file and when to use such an encoding.
One or more parameters measured at a point in time and space.
Example: You went out on a boat one day and measured a few parameters. Some unrelated time in the future, you went out to a completely different point and measured a few parameters. The measurements have nothing in common. This could be represented as a CF-1.6 Point dataset containing two points.
Templates: https://github.com/asascience-open/CFPointConventions/tree/master/point
One or more parameters measured at a point space with varying time.
Example: Two wind sensors measuring wind speed and wing gust every 6 minutes for a year. The sensors did not move from their geographic location during the year. This could be represented as a CF-1.6 Timeseries dataset containing two 'stations'.
Templates: https://github.com/asascience-open/CFPointConventions/tree/master/timeSeries
A set of data points along a vertical line.
Example: The timeseries produced from bottom mounted ADCP.
Templates: https://github.com/asascience-open/CFPointConventions/tree/master/timeSeriesProfile
A set of data points along a 1D curve in time and space.
Example: A glider moving through the water column in the x,y, and z dimentions, and taking readings at its location.
Templates: https://github.com/asascience-open/CFPointConventions/tree/master/trajectory
Profiles taken along a trajectory.
Example: A glider moving through the water column in the x,y, and z dimentions, making water column profiles as it moves.
Templates: https://github.com/asascience-open/CFPointConventions/tree/master/trajectoryProfile
If you already have your dataset in a THREDDS server, you can test if it will work with NcSOS by using the ToolsUI program from the NetCDF-Java library. You can Webstart the ToolsUI application here: ToolsUI JNLP Webstart.
Enter your OPeNDAP Data endpoint from THREDDS
Into the ToolsUI FeatureTypes / PointFeature tab and press enter:
If you see a row of data here, you are in good shape so far!
- Grid sensorML1.0.1
- Profile sensorML1.0.1
- Sensor sensorML1.0.1
- TimeSeries(Profile) sensorML1.0.1
- Trajectory sensorML1.0.1
- TrajectoryProfile (Section) sensorML1.0.1