|
XeniaSOS
SOS (Sensor Observing Service) related Xenia development/documentation
DIF SOSBuilt a CGI based script based on earlier work with the microWFS effort, substituting a xenia database schema specific sql query and associated DIF SOS response instead of the earlier more generic query and WFS response. The CGI based difSOS instance is available at http://carocoops.org/obskml/scripts/difSOS.html The above html script calls the cgi script documented at which runs queries against the earlier established xenia sqlite database(PostgreSQL adapation of this script by Xiaoyan Qi here). Note that the sql request statement of this script could be modified to provide a similar resultset/functionality from other relational database schemas or resultsets. difSOSConf.xml is the modified xml configuration support xml Note:
minimal dataflow setup
Related Linkshttp://xi.nos.noaa.gov/dif/ (Draft webpage) http://carocoops.org/documents/IOOS_SOS_Implementations.ppt IOOS-DIF XML Schemas http://www.csc.noaa.gov/ioos/schema/IOOS-DIF/ IOOS WSDE (Web Services & Data Encoding) listserv http://www.pmel.noaa.gov/maillists/tmap/ioos_wsde/ NDBC SOS http://sdf.ndbc.noaa.gov/sos CO-OPS SOS http://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/ Ongoing development requestsIn addition to sensor/SensorML/SWE metadata development I would also like to see development/support relating to service efficiencies for:
Also of interest would be better
Usage examples - DIF SOSFirefox and IE browsers should support correct displaying of the following responses XML. GetObservation - DIF SOSOostethys SOSWorked through Eric Bridger's perl RDB script (oostethys_sos.cgi) with the Xenia database schema as the backend and have an Oostethys SOS service available for SECOORA at the following sample links listed below Source, differencesThe link to the revised oostethys_sos.cgi script is with differences from the original script here and may be helpful as an example of reuse of the script against another RDB schema. IssuesI did have the following issues though in regards to the oostethys_sos.cgi script: 1)For DesribeSensor, the 'offering' values which are the platform names without the $platform_uri prefix need to be used in DescribeSensor This relates back to how the hash %sensor_list is populated, with the platform names given, not with the uri prefix. 2)For GetObservation, the offering only accepts and requires a single known(as kept in %sensor_list) platform - while this by itself is not an issue, it looks like there was an attempt to handle multiple platforms (ALL_PLATFORMS), but that effort was incomplete. Because only a single offering is required, the BBOX funtion doesn't make sense within that context. Also it would be nice if the platform search was looser in allowing 'like' type lookups (show all platforms starting 'gomoos%' for example), relaxing the check on the known platforms in the earlier metadata lookup. 3)For GetObservation, multiple parameters seem to return empty values, for example: Correction, this is not an issue: the above result is correct, just null values at different depths for different parameters Other CaveatsIt would be good to see in addition to a service registry, a test script or service to validate the desired service functionality(service compliance test and feedback). The pattern that I tend to see is that the 'usual' SOS service request path is available, but some of the extra features are not uniformly tested or implemented. Also I tried to register the GetCapabilites link above at http://score.itsc.uah.edu/MMI/, but it timed out with no result. The number of platforms available is around 1,000 (most of which are federal backbone providers, many of which are on the existing application maps) which may be part of the time-out issue. Two other caveats with the SECOORA Oostethys SOS service is that the platform metadata regarding platform start_dates are not currently populated, so for now it is constantly defaulted to '2009-01-01T00:00:00Z'. Also the RDB that the oostethys_sos.cgi script is running against is a smaller sqlite file database of the latest 3 days worth of observations with older observations pushed off into julian weekly sqlite files of the same schema. Time ranges are always for the past 3 days until I implement further functionality to search earlier archive files. Usage examples - Oostethys SOSFirefox and IE browsers should support correct displaying of the following responses XML. GetCapabilities - Oostethys SOSDescribeSensor - Oostethys SOSProcedure shouldn't include prefix or should be offering instead of procedure below GetObservation - Oostethys SOSdata latest - Oostethys SOStime instance - Oostethys SOStime start/end - Oostethys SOSbbox - Oostethys SOSWorks but should allow no offering parameter(all within bbox) or maybe 'like' comparison "where offering like 'ndbc%'" multiple observedProperty - Oostethys SOSOnly works with observedProperties at same elevation(height/depth), get blanks otherwise |
Sign in to add a comment