A list of SOS instances in production. A listing here does not imply extensive testing with sos4R. Contributions of demos welcome!

Do you know about an SOS instance not on this list? Open an issue or a pull request.

library("sos4R")

NOAA Center for Operational Oceanographic Products and Services (CO-OPS)

ioosdif <- SOS(url = "http://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/SOS",
               binding = "KVP")
ioosdif
#> Object of class SOS_1.0.0 [KVP, http://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/SOS, NOAA.NOS.CO-OPS SOS]
#sosContents(ioosdif)

Integrated Ocean Observing System (IOOS)

More information: https://sdf.ndbc.noaa.gov/sos/

This SOS supports CSV as a response format.

ioos <- SOS(url = "https://sdf.ndbc.noaa.gov/sos/server.php",
              useDCPs = FALSE,
              timeFormat = "%Y-%m-%dT%H:%M:%SZ")
ioos.off <- sosOfferings(ioos)
obs <- getObservation(sos = ioos,
                      offering = sosName(ioos.off[[100]]),
                      responseFormat = "text/csv",
                      observedProperty = sosObservedProperties(ioos.off[[100]])[1])
obs

NOAA National Data Buoy Center

ndbc <- SOS(url = "https://sdf.ndbc.noaa.gov/sos/server.php",
            binding = "KVP")
ndbc
#sosContents(ndbc)

WSV PegelOnline

About: https://www.pegelonline.wsv.de/gast/start

pegel <- SOS(url = "http://pegelonline.wsv.de/webservices/gis/gdi-sos",
                version = "1.0.0")
pegel
#> Object of class SOS_1.0.0 [POX, http://pegelonline.wsv.de/webservices/gis/gdi-sos, PegelOnline SOS]
sosContents(pegel)
#> Object of class SosContents with observation offerings (names):
#>   LUFTTEMPERATUR_ROHDATEN, WINDRICHTUNG, WASSERSTAND_ROHDATEN, PH-WERT, DURCHFAHRTSHOEHE, ABFLUSS_ROHDATEN, WASSERTEMPERATUR, SAUERSTOFFGEHALT, WASSERTEMPERATUR_ROHDATEN, ABFLUSS, CHLORID, WINDGESCHWINDIGKEIT, LUFTTEMPERATUR, LUFTFEUCHTE, FLIESSGESCHWINDIGKEIT, ELEKTRISCHE_LEITFAEHIGKEIT_ROHDATEN

Axiom Data Science Demo SOS

axiom <- SOS(url = "http://dev.demo.i52nsos.axiomdatascience.com/sos", binding = "KVP")
axiom
sosContents(axiom)

Belgian Interregional Environment Agency (IRCEL - CELINE)

irceline <- SOS(url = "http://geo.irceline.be/sos/service",
                version = sos200_version)
irceline
#> Object of class SOS_2.0.0 [POX, http://geo.irceline.be/sos/service, IRCEL - CELINE (SOS)]
#sosContents(irceline)

PANGAEA

About: http://sos.dataportals.pangaea.de/

Loch Etive, Scotland; Scottish Association for Marine Science

lochetive <- SOS(url = "http://sos.dataportals.pangaea.de/lochEtive_SOS/sos")
lochetive
#> Object of class SOS_1.0.0 [POX, http://sos.dataportals.pangaea.de/lochEtive_SOS/sos, Loch Etive SOS]
sosContents(lochetive)
#> Object of class SosContents with observation offerings (names):
#>   SeaGuard_4430-269, RDCP600-338

Koljoefjord observatory, Sweden; University of Gothenburg

koljoefjord <- SOS(url = "http://sos.dataportals.pangaea.de/koljoefjord_SOS/sos")
koljoefjord
#> Object of class SOS_1.0.0 [POX, http://sos.dataportals.pangaea.de/koljoefjord_SOS/sos, PANGAEA SOS]
sosContents(koljoefjord)
#> Object of class SosContents with observation offerings (names):
#>   SeaGuard_4430-270, SeaGuard_4430-67, RDCP600-594
#summary(koljoefjord)

Marthas Vineyard Coastal Observatory SOS

MVCO_WHOI <- SOS("http://mvcodata.whoi.edu/cgi-bin/sos/oostethys_sos")
sosContents(MVCO_WHOI)

Wupperverband FLUGSS

About: https://fluggs.wupperverband.de/v2p/web/fluggs

fluggs <- SOS(url = "https://fluggs.wupperverband.de/sos2/service", binding = "KVP",
              version = "2.0.0")
sosContents(fluggs)
#> Object of class SosContents with observation offerings (names):
#>   Zeitreihen_2m_Tiefe, Zeitreihen_Einzelwerte, Zeitreihen_LANUV, Zeitreihen_Oberflaeche, Zeitreihen_Stundenmittel, Zeitreihen_Stundensumme, Zeitreihen_Tagesmittelwert_um_17-00_Uhr, Zeitreihen_Tagesmittelwerte, Zeitreihen_Tagessumme

MONALISA

SOS by MONALISA project, operated by eurac research.

About: http://monalisasos.eurac.edu/sos/

monalisa <- SOS(url = "http://monalisasos.eurac.edu/sos/service", binding = "KVP", version = "2.0.0")
sosContents(monalisa)

NIWA

Two SOS by New Zealands National Institute of Water and Atmospheric Research (NIWA) for hydrometric and climate data, see https://teamwork.niwa.co.nz/display/NEDA/Access+to+Sensor+Data.

niwaHydro <- SOS(url = "https://hydro-sos.niwa.co.nz/",
                  binding = "POX", useDCPs = FALSE,
                  #binding = "KVP",
                  version = "2.0.0")
sosContents(niwaHydro)
#> Object of class SosContents with observation offerings (names):
#>   Hydrometric_Station, Water_Quality_Site
#sosResponseFormats(niwaHydro)
discharge29808 <- getObservation(sos = niwaHydro,
                                 observedProperty = list("Discharge"), # phenomena
                                 featureOfInterest = list("29808"), # sites
                                 #saveOriginal = "../tests/responses/hydro-sos.niwa.co.nz_Discharge_29808.xml",
                                 #responseFormat = "http://www.opengis.net/waterml/2.0",
                                 #inspect = TRUE,
                                 retrieveFOI = FALSE)
sosResult(discharge29808)
#>             timestamp    value
#> 1 2020-07-08 17:00:00 12.85598
# service offline - HTTP 503
#niwaClimate <- SOS(url = "http://clidb-sos.niwa.co.nz/sos/kvp", binding = "KVP", useDCPs = FALSE, version = "2.0.0")
#sosContents(niwaClimate)

ncSOS

Applied Science Associates

https://github.com/asascience-open/ncSOS/

# MARACOOS, http://sos.maracoos.org/dev/catalog.html?dataset=wflow700-agg
# http://sos.maracoos.org/dev/sos/wflow700-agg.ncml

# http://sos.maracoos.org/pre/catalog/nerrs_ag/soschwq/catalog.html?dataset=nerrs_ag/soschwq/soschwq.ncml
#http://sos.maracoos.org/pre/sos/nerrs_ag/soschwq/soschwq.ncml

# http://sos.maracoos.org/thredds/catalog/mddnr_ag/Jug_Bay/catalog.html?dataset=mddnr_ag/Jug_Bay/Jug_Bay.ncml
# Capabilities document: http://sos.maracoos.org/stable/sos/mddnr_ag/Jug_Bay/Jug_Bay.ncml
jugbay <- SOS(url = "http://sos.maracoos.org/stable/sos/mddnr_ag/Jug_Bay/Jug_Bay.ncml", binding = "KVP")
#> Warning in sosConvertTime(xml2::xml_text(x = obj), sos = sos): Error converting
#> string 'UNKNOWN' to 'ISO8601' format! Returning 'NA'

#> Warning in sosConvertTime(xml2::xml_text(x = obj), sos = sos): Error converting
#> string 'UNKNOWN' to 'ISO8601' format! Returning 'NA'
jugbay
#> Object of class SOS_1.0.0 [KVP, http://sos.maracoos.org/stable/sos/mddnr_ag/Jug_Bay/Jug_Bay.ncml, Jug Bay]
sosContents(jugbay)
#> Object of class SosContents with observation offerings (names):
#>   network-all, urn_ioos_station_maryland.dnr_Jug_Bay

jugbay_observations <- getObservation(jugbay,
                                      offering = sosOfferings(jugbay)[[1]],
                                      procedure = sosProcedures(jugbay)[[1]],
                                      eventTime = sosCreateTime(jugbay, "2020-01-01::2020-01-31"))
#> Warning in .handleExceptionReport(sos, response): Object of class OwsExceptionReport; version: 1.0.0; lang: NA;
#>  1 exception(s) (code @ locator : text):
#>   NoApplicableCode @ NA :
#>  Internal Error in creating output for GetObservation request - java.lang.IllegalStateException: Structure.Iterator.readNext()
str(jugbay_observations)
#> Formal class 'OwsExceptionReport' [package "sos4R"] with 3 slots
#>   ..@ version   : chr "1.0.0"
#>   ..@ lang      : chr NA
#>   ..@ exceptions:List of 1
#>   .. ..$ :Formal class 'OwsException' [package "sos4R"] with 3 slots
#>   .. .. .. ..@ exceptionCode: chr "NoApplicableCode"
#>   .. .. .. ..@ exceptionText: chr "Internal Error in creating output for GetObservation request - java.lang.IllegalStateException: Structure.Iterator.readNext()"
#>   .. .. .. ..@ locator      : chr NA