Learn R Programming

sos4R (version 0.1-15)

sos4R-package: A client for the OGC Sensor Observation Service

Description

sos4R is a client for Sensor Observation Services (SOS). It allows users to retrieve metadata from SOS web service instances as specified by the Open Geospatial Consortium (OGC) and subsequently to interactively create requests for observation data based on the available sensors, phenomena, observations, offerings etc.

Arguments

Details

ll{ Package: sos4R Type: Package Version: 0.1-15 Date: 2011-03-04 License: GPL-2 LazyLoad: yes Depends: XML, RCurl }

References

Na, A., Priest, M. (Eds.), 2007. Sensor Observation Service. OpenGIS Implementation Standard, Version 1.0, OGC 06-009r6

See Also

See also the package Vignette, vignette(sos4R).

Examples

Run this code
# Take a SOS from the example list
sos.url = SosExampleServices()[[1]]

# Open the connection
sos = SOS(url = SOS)

# List offerings, procedures and observedProperties
names(sosOfferings(sos))
sosProcedures(sos)
sosObservedProperties(sos)

# Create time period (last 30 days)
tPeriod <- sosCreateEventTimeList(
	time = sosCreateTimePeriod(
		sos = pegelsos,
		begin = Sys.time() - (3600 * 24 * 30),
		end = Sys.time()))

# Request data for all observed properties and procedures of a certain offering
observation <- getObservation(sos = sos,
		observedProperty = sosObservedProperties(sos),
		offering = sosOfferings(sos)[[2]],
		procedure = sosProcedures(sos),
		eventTime = tPeriod)

# Inspect result
sosResult(observation)
str(sosResult(observation))

# Inspect attributes of the data fields
if(is.list(sosResult(observation))) {
	attributes(sosResult(observation)[,1])
}
else {
	attributes(sosResult(pegelObs)[,1])
}

# Use custom converting function and connection method. This mechanism works the same for encoders and decoders.
myConverters <- SosDataFieldConvertingFunctions(
	"myNumericUnit" = sosConvertDouble,
mySos <- SOS(sos.url, method = "GET", dataFieldConverters = myConverters)
sosDataFieldConverters(mySos)

Run the code above in your browser using DataLab