vignettes/sos4R.Rmd
sos4R.Rmd
Abstract
The sos4R package provides simple yet powerful access to OGC Sensor Observation Service instances. The package supports both encapsulation and abstraction from the service interface for novice users as well as powerful request building for specialists. sos4R is motivated by the idea to close the gap between the Sensor Web and tools for (geo-)statistical analyses. It implements the core profile of the SOS specification and supports temporal, spatial, and thematical filtering of observations.
This document gives a brief overview and demo. Other vignettes dive deeper into the SOS specification and the package’s features are explained extensively: exploration of service metadata, request building with filters, function exchangeability, result data transformation.
The package is published under GPL 2 license within the geostatistics community of 52°North Initiative for Geospatial Open Source Software.
The sos4R
package provides classes and methods for retrieving data from an Open Geospatial Consortium (OGC) Sensor Observation Service in version 1.0.0 (Na, 2007) and 2.0 (Bröring, 2010). The goal of this package is to provide easy access with a low entry threshold for everyone to information available via SOSs. The complexity of the service interface shall be shielded from the user as much as possible, while still leaving enough possibilities for advanced users. The output is a standard data.frame
with attributed columns for the rich metadata provided by the SOS API. This package uses S4 classes and methods style (Chambers, 1998).
The package was born out of perceiving a missing link between the Sensor Web community (known as Sensor Web Enablement (SWE) Initiative in the OGC realm) and the community of (geo-)statisticians (Nüst, 2011). While the relatively young SWE standards get adopted more by data owners (like governmental organizations), we see a high but unused potential for more open data and spatio-temporal analyses based on it. sos4R
can help enabling this.
The project is part of the geostatistics community of the 52°North Initiative for Geospatial Open Source Software. sos4R
is available on CRAN.
On the package home page, https://52north.github.io/sos4R, you can stay updated with the developments and find example code and services.
This software is released under a GPL 2 license and contributions are very welcome—please see the file DEV-README.md
in the package code repository.
library("sos4R")
The package comes with a one page quick reference card, also known as a “cheat sheet”, which shows everything that you need to know in an extremely concise manner. You can open the document by loading the package and calling
The most useful functions are highlighted in bold font.
The demos are a good way to get started with the package. Please be aware that you need an internet connection for these demos, the used SOSs might be temporarily unavailable or not available anymore.
There also is an incomplete list of services that have been tested or are currently evaluated on in a vignette. If you find or can provide new SOS with data useful to others, please do not hesitate to open an issue to have it added. Please note that the sos4R
team of this document does not control these services and does not guarantee for any factors like correctness of data or availability.
The method SOS()
is a construction method for classes encapsulating a connection to a SOS. It prints out a short statement when the connection was successfully established (i.e. the capabilities document was received) and returns an object of class SOS
.
mySOS <- SOS(url = "http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp", binding = "KVP")
To create a SOS connection you only need the URL of the service (i.e. the URL endpoint which can be used for HTTP requests). The service connection created above is used for all examples throughout this document.
All parameters except the service endpoint are optional and use default settings:
method
: The transport protocol. Currently available are Key-value-pair (GET), Plain old XML (POST); the default is POX. GET
is less powerful, especially regarding filtering operations.version
: The service version. Currently available version(s) is/are 1.0.0, 2.0.0.parsers
: The list of parsing functions. See vignette “Extending”.encoders
: The list of encoding functions. See vignette “Extending”.dataFieldConverters
: The list of conversion functions. See vignette “Extending”.timeFormat
: The time format to be used or decoding and encoding time character strings to and from POSIXt
classes, the default is %Y-%m-%dT%H:%M:%OS%z.verboseOutput
: Trigger parameter for extensive debugging information on the console for all requests made to this SOS instance.switchCoordinates
: Switches all coordinates that are encountered during the parsing phase, such as in an element like <gml:lowerCorner>117.3 -41.5</gml:lowerCorner>
.There are accessor methods for the slots of the class. The encoders, parsers and converters are described extensively in the vignette “Extending”.
cat("URL:", sosUrl(mySOS), "\n") #> URL: http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp cat("Title:", sosTitle(mySOS), "\n") #> Title: 52N SOS cat("Abstract:", sosAbstract(mySOS), "\n") #> Abstract: 52North Sensor Observation Service - Data Access for the Sensor Web cat("Version:", sosVersion(mySOS), "\n") #> Version: 1.0.0 cat("Time format:", sosTimeFormat(mySOS), "\n") #> Time format: %Y-%m-%dT%H:%M:%OS%z cat("Binding:", sosBinding(mySOS), "\n") #> Binding: KVP
You can also access the used encoding, decoding, and conversion functions (extensive output not included here).
sosEncoders(mySOS) sosParsers(mySOS) sosDataFieldConverters(mySOS)
Print and summary methods are available for important classes, like SOS
.
mySOS #> Object of class SOS_1.0.0 [KVP, http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp, 52N SOS] summary(mySOS) #> $class #> [1] "SOS_1.0.0" #> attr(,"package") #> [1] "sos4R" #> #> $version #> [1] "1.0.0" #> #> $url #> [1] "http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp" #> #> $binding #> [1] "KVP" #> #> $title #> [1] "52N SOS" #> #> $abstract #> [1] "52North Sensor Observation Service - Data Access for the Sensor Web" #> #> $time #> Length Class Mode #> ws2500 2 -none- list #> ws2500-internal 2 -none- list #> wwu-ws-kli-hsb 2 -none- list #> wxt520 2 -none- list #> #> $offeringCount #> [1] 4 #> #> $procedureCount #> [1] 4 #> #> $observedPropCount #> [1] 43 #> #> attr(,"class") #> [1] "summary.SOS_versioned"
The GetObservation
operation is the main data download request of the SOS, and the package’s functional equivalent is getObservation(..)
. You can build a request using the information from the offerings, as they are extracted from the capabilities document when a new connection is created.
off.1 <- sosOfferings(mySOS)[["wwu-ws-kli-hsb"]] summary(off.1) #> Object of class SosObservationOffering #> [[id:]] [1] "wwu-ws-kli-hsb" #> [[name:]] [1] NA #> [[time:]] Length Class Mode #> begin 1 POSIXct numeric #> end 1 POSIXct numeric #> [[bbox:]] [1] "urn:ogc:def:crs:EPSG::4326, 51.9692611694336 7.59587907791138, 51.9692611694336 7.59587907791138" #> [[fois:]] [1] 1 #> [[procs:]] [1] 1 #> [[obsProps:]] [1] 13
sosProcedures(off.1) #> [1] "wwu-ws-kli-hsb"
sosObservedProperties(off.1) #> [[1]] #> [1] "AirTemperature" #> #> [[2]] #> [1] "AthmosphericPressure" #> #> [[3]] #> [1] "Humidity" #> #> [[4]] #> [1] "ShortwaveRadiation" #> #> [[5]] #> [1] "Visibility" #> #> [[6]] #> [1] "WeatherCode" #> #> [[7]] #> [1] "WeatherCode_text" #> #> [[8]] #> [1] "WindDirection" #> #> [[9]] #> [1] "WindDirectionText" #> #> [[10]] #> [1] "WindMaxGust" #> #> [[11]] #> [1] "WindSpeedBft" #> #> [[12]] #> [1] "WindSpeedKmh" #> #> [[13]] #> [1] "WindSpeedMperSec"
sosFeaturesOfInterest(off.1) #> [[1]] #> [1] "wwu-ws-kli-hsb"
Not all combinations of procedure, observed property, feature of interest, and event time will deliver a result, but the following one should.
obs.1 <- getObservation(sos = mySOS, offering = off.1, procedure = sosProcedures(off.1)[[1]], observedProperty = sosObservedProperties(off.1)[1], eventTime = sosCreateTime(sos = mySOS, time = "2017-12-01::2017-12-31"))
You can then access the result data with the helper function sosResult(..)
.
#sosResult(data) summary(sosResult(obs.1)) #> phenomenonTime AirTemperature #> Min. :2017-12-01 00:10:00 Min. :-1.300 #> 1st Qu.:2017-12-07 16:00:00 1st Qu.: 2.200 #> Median :2017-12-15 18:00:00 Median : 4.600 #> Mean :2017-12-15 23:10:21 Mean : 4.602 #> 3rd Qu.:2017-12-23 22:10:00 3rd Qu.: 6.700 #> Max. :2017-12-30 23:50:00 Max. :12.400
Classes with spatial information, i.e. coordinates, have coercion functions to matching sp
classes and can therefore be easily rendered on a map, e.g. using leaflet
.
library("leaflet") obs.1.spatial <- as(obs.1, "Spatial") leaflet::leaflet(obs.1.spatial) %>% addTiles() %>% # Add default OpenStreetMap map tiles addMarkers() %>% addMiniMap()
Using the mapview
package you can quickly add plots into pop-up windows.
library("mapview") library("leafpop") #> #> Attaching package: 'leafpop' #> The following objects are masked from 'package:mapview': #> #> popupGraph, popupImage, popupTable plotfile <- tempfile(fileext = ".png") png(filename = plotfile) plot(x = obs.1.spatial$phenomenonTime, y = obs.1.spatial$AirTemperature, pch = 20, main = sosId(off.1), xlab = "Time", ylab = "Air Temperature") #FIXME:mapview(obs.1.spatial, popup = leafpop::popupImage(plotfile, embed = TRUE)) mapview(obs.1.spatial)
For more details on the coercion functions see ?`coerce-sos4R`
.
The package offers two levels of inspection of the ongoing operations indicated by two boolean parameters, inspect
and verbose
. These are available in all service operation calls.
inspect
prints the raw requests and responses to the console.verbose
prints not only the requests, but also debugging and processing statements (e.g. intermediate steps during parsing).The option verboseOutput
when using the method SOS()
turns on the verbose setting for all subsequent requests made to the created connection unless deactivated in an operation call.
obs.1 <- getObservation(sos = mySOS, offering = off.1, procedure = sosProcedures(off.1)[[1]], observedProperty = sosObservedProperties(off.1)[1], eventTime = sosCreateTime(sos = mySOS, time = "2017-12-19::2017-12-20"), inspect = TRUE) #> [.sosRequest_1.0.0] GET! #> [.sosRequest_1.0.0] REQUEST: #> http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp?service=SOS&version=1.0.0&request=GetObservation&offering=wwu-ws-kli-hsb&observedProperty=AirTemperature&responseFormat=text%2Fxml%3Bsubtype%3D%22om%2F1.0.0%22&eventTime=2017-12-19T00%3A00%3A00%2B00%3A00%2F2017-12-20T00%3A00%3A00%2B00%3A00&procedure=wwu-ws-kli-hsb #> [.getObservation_1.0.0] RESPONSE DOC: #> {xml_document} #> <ObservationCollection id="oc_1594228638706" schemaLocation="http://www.opengis.net/om/1.0 http://schemas.opengis.net/om/1.0.0/om.xsd http://www.opengis.net/sos/1.0 http://schemas.opengis.net/sos/1.0.0/sosAll.xsd" xmlns:om="http://www.opengis.net/om/1.0" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink"> #> [1] <om:member xlink:href="urn:ogc:def:nil:OGC:inapplicable"/> #> Warning in parsingFunction(obj = obj, sos = sos, verbose = verbose): Only #> reference was returned:urn:ogc:def:nil:OGC:inapplicable
getObservation(sos = mySOS, offering = off.1, procedure = sosProcedures(off.1)[[1]], observedProperty = sosObservedProperties(off.1)[2], eventTime = sosCreateTime(sos = mySOS, time = "2018-01-01::2018-01-03"), verbose = TRUE) #> [getObservation] Requesting offering wwu-ws-kli-hsb with SosObservationOffering. #> [.getObservation_1.0.0] to http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp with offering wwu-ws-kli-hsb #> [.createGetObservation_1.0.0] Done: #> Object of class SosGetObservation: service: SOS , version: 1.0.0 , offering: wwu-ws-kli-hsb #> observered property: AthmosphericPressure #> responseFormat(s): text/xml;subtype="om/1.0.0" , responseMode(s): NA #> procedure(s) wwu-ws-kli-hsb #> feature(s) of interest #> event time: new("SosEventTime", temporalOps = new("TM_During", time = new("GmlTimePeriod", begin = NULL, beginPosition = new("GmlTimePosition", time = 1514764800, frame = NA, calendarEraName = NA, indeterminatePosition = NA), end = NULL, endPosition = new("GmlTimePosition", time = 1514937600, frame = NA, calendarEraName = NA, indeterminatePosition = NA), duration = NA, timeInterval = NULL, frame = NA, relatedTimes = list(NA), id = NA), propertyName = "om:samplingTime")) #> result: NULL #> srsName: NA #> resultModel(s): NA #> temporal value reference: NA #> #> [.getObservation_1.0.0] REQUEST: #> #> Object of class SosGetObservation: service: SOS , version: 1.0.0 , offering: wwu-ws-kli-hsb #> observered property: AthmosphericPressure #> responseFormat(s): text/xml;subtype="om/1.0.0" , responseMode(s): NA #> procedure(s) wwu-ws-kli-hsb #> feature(s) of interest #> event time: new("SosEventTime", temporalOps = new("TM_During", time = new("GmlTimePeriod", begin = NULL, beginPosition = new("GmlTimePosition", time = 1514764800, frame = NA, calendarEraName = NA, indeterminatePosition = NA), end = NULL, endPosition = new("GmlTimePosition", time = 1514937600, frame = NA, calendarEraName = NA, indeterminatePosition = NA), duration = NA, timeInterval = NULL, frame = NA, relatedTimes = list(NA), id = NA), propertyName = "om:samplingTime")) #> result: NULL #> srsName: NA #> resultModel(s): NA #> temporal value reference: NA #> #> [.sosRequest_1.0.0] Encoding Function (beginning of function body): { standardGeneric("encodeRequestKVP") ... [ 0 more chrs]. #> [.sosEncodeRequestKVPGetObservation_1.0.0] encoding Object of class SosGetObservation: service: SOS , version: 1.0.0 , offering: wwu-ws-kli-hsb #> observered property: AthmosphericPressure #> responseFormat(s): text/xml;subtype="om/1.0.0" , responseMode(s): NA #> procedure(s) wwu-ws-kli-hsb #> feature(s) of interest #> event time: new("SosEventTime", temporalOps = new("TM_During", time = new("GmlTimePeriod", begin = NULL, beginPosition = new("GmlTimePosition", time = 1514764800, frame = NA, calendarEraName = NA, indeterminatePosition = NA), end = NULL, endPosition = new("GmlTimePosition", time = 1514937600, frame = NA, calendarEraName = NA, indeterminatePosition = NA), duration = NA, timeInterval = NULL, frame = NA, relatedTimes = list(NA), id = NA), propertyName = "om:samplingTime")) #> result: NULL #> srsName: NA #> resultModel(s): NA #> temporal value reference: NA #> #> [.sosEncodeRequestKVPGetObservation_1.0.0] mandatory elements: service=SOS&version=1.0.0&request=GetObservation&offering=wwu-ws-kli-hsb&observedProperty=AthmosphericPressure #> [.sosEncodeRequestKVPGetObservation_1.0.0] Adding response format text/xml;subtype="om/1.0.0" #> [.sosEncodeRequestKVPGetObservation_1.0.0] Adding event time new("SosEventTime", temporalOps = new("TM_During", time = new("GmlTimePeriod", begin = NULL, beginPosition = new("GmlTimePosition", time = 1514764800, frame = NA, calendarEraName = NA, indeterminatePosition = NA), end = NULL, endPosition = new("GmlTimePosition", time = 1514937600, frame = NA, calendarEraName = NA, indeterminatePosition = NA), duration = NA, timeInterval = NULL, frame = NA, relatedTimes = list(NA), id = NA), propertyName = "om:samplingTime")) #> [encodeKVP] SosEventTime #> [encodeKVP] temporalOps: Object of class TM_During; propertyName: om:samplingTime time: GmlTimePeriod: [ GmlTimePosition [ time: 2018-01-01 ] #> --> GmlTimePosition [ time: 2018-01-03 ] ] #> [encodeKVP] Encoding period with beginPosition and endPosition. #> [encodeKVP] POSIXt with value 2018-01-01 #> Formatted 1514764800 to 2018-01-01T00:00:00+00:00 #> [encodeKVP] POSIXt with value 2018-01-03 #> Formatted 1514937600 to 2018-01-03T00:00:00+00:00 #> [.sosEncodeRequestKVPGetObservation_1.0.0] Adding procedures wwu-ws-kli-hsb #> [.sosEncodeRequestKVPGetObservation_1.0.0] optional elements: &responseFormat=text%2Fxml%3Bsubtype%3D%22om%2F1.0.0%22&eventTime=2018-01-01T00%3A00%3A00%2B00%3A00%2F2018-01-03T00%3A00%3A00%2B00%3A00&procedure=wwu-ws-kli-hsb #> [.sosEncodeRequestKVPGetObservation_1.0.0] Finished KVP string creation: #> service=SOS&version=1.0.0&request=GetObservation&offering=wwu-ws-kli-hsb&observedProperty=AthmosphericPressure&responseFormat=text%2Fxml%3Bsubtype%3D%22om%2F1.0.0%22&eventTime=2018-01-01T00%3A00%3A00%2B00%3A00%2F2018-01-03T00%3A00%3A00%2B00%3A00&procedure=wwu-ws-kli-hsb #> [.sosRequest_1.0.0] Using DCP from operation description. #> [.sosFilterDCPs] Applying pattern application/x-kvp to list("ows:Get", "application/x-kvp", "http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp?") #> [.sosFilterDCPs] Filtered from #> list("ows:Get", "application/x-kvp", "http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp?") #> to #> list("ows:Get", "application/x-kvp", "http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp?") #> [.sosRequest_1.0.0] Using DCP: ows:Get, application/x-kvp, http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp? #> Given url already contains a '?', appending arguments! #> [.sosRequest_1.0.0] Do request... #> [.processResponse] Response status: 200 | type: application/xml #> [.sosRequest_1.0.0] ... done. #> [.sosRequest_1.0.0] RESPONSE: #> {xml_document} #> <ObservationCollection id="oc_1594228639094" schemaLocation="http://www.opengis.net/om/1.0 http://schemas.opengis.net/om/1.0.0/om.xsd http://www.opengis.net/sampling/1.0 http://schemas.opengis.net/sampling/1.0.0/sampling.xsd http://www.opengis.net/sos/1.0 http://schemas.opengis.net/sos/1.0.0/sosAll.xsd http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/base/gml.xsd http://www.opengis.net/swe/1.0.1 http://schemas.opengis.net/sweCommon/1.0.1/swe.xsd" xmlns:om="http://www.opengis.net/om/1.0" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sa="http://www.opengis.net/sampling/1.0" xmlns:swe="http://www.opengis.net/swe/1.0.1"> #> [1] <gml:boundedBy>\n <gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326">\n ... #> [2] <om:member>\n <om:Observation gml:id="o_1594228639094">\n <om:samplin ... #> [sos4R] Received response (object size: 784 bytes), parsing ... #> [.getObservation_1.0.0] Got XML document as response. #> [.getObservation_1.0.0] Parsing with function function (obj, sos, verbose = FALSE) #> { #> om <- NULL #> name <- xml2::xml_name(x = obj, ns = sos@namespaces) #> parsingFunction <- sos4R::sosParsers(sos)[[name]] #> if (!is.null(parsingFunction)) { #> if (verbose) #> cat("[parseOM] Matched name for parser is", name, #> "\n") #> om <- parsingFunction(obj = obj, sos = sos, verbose = verbose) #> if (verbose) #> cat("[parseOM] Done parsing\n") #> } #> else { #> warning(paste("[parseOM] No parsing function for given element", #> name)) #> } #> return(om) #> } #> <bytecode: 0x555cbe1ed3f0> #> <environment: namespace:sos4R> #> [parseOM] Matched name for parser is om:ObservationCollection #> [parseObservationCollection] with 1 element(s). #> [parseObservationCollection] Parsed envelope: urn:ogc:def:crs:EPSG::4326, 51.9692611694336 7.59587907791138, 51.9692611694336 7.59587907791138 #> [parseOM] Matched name for parser is om:member #> [parseObservationProperty] Parsing child of member: om:Observation #> [parseOM] Matched name for parser is om:Observation #> [parseObservation] o_1594228639094 #> [parsePhenomenonProperty] with reference AthmosphericPressure #> [parseTime] Entering #> [parseTime] Found time period #> [parseTime] Done: GmlTimePeriod: [ GmlTimePosition [ time: 2018-01-01 00:10:00 ] #> --> GmlTimePosition [ time: 2018-01-03 ] ] #> [parseFOI] starting... #> [parseFOI] inline FOI: sa:SamplingPoint #> [parseResult] Starting ... #> [parseResult] 1 non-text nodes, names: DataArray #> [parseResult] Parsing result with swe:DataArray. #> [parseDataArray] Parsing DataArray with 239 elements. #> [parseElementType] Got child DataRecord and id NA for object elementType #> [parseElementType] Got data record with 2 fields. #> [parseField] Parsing field description of phenomenonTime #> [parseField] Parsed field: phenomenonTime, http://www.opengis.net/def/property/OGC/0/PhenomenonTime, http://www.opengis.net/def/uom/ISO-8601/0/Gregorian, POSIXct #> [parseField] Parsing field description of AthmosphericPressure #> [parseField] Parsed field: AthmosphericPressure, AthmosphericPressure, hPa, numeric #> [parseElementType] Names of parsed fields: #> [parseDataArray] Parsed field descriptions: c(name = "phenomenonTime", definition = "http://www.opengis.net/def/property/OGC/0/PhenomenonTime", uom = "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian", rClass = "POSIXct"), c(name = "AthmosphericPressure", definition = "AthmosphericPressure", uom = "hPa", rClass = "numeric") #> [parseDataArray] Parsed encoding description: Object of class SweTextBlock ', @@ .'; id: NA #> [parseValues] Parsing swe:values using Object of class SweTextBlock ', @@ .'; id: NA and 2 fields: phenomenonTime, AthmosphericPressure #> [parseValues] Parsing values from lines: c("2018-01-01T00:10:00.000Z", "986.0"), c("2018-01-01T00:20:00.000Z", "985.9"), c("2018-01-01T00:30:00.000Z", "986.0"), c("2018-01-01T00:40:00.000Z", "986.1"), c("2018-01-01T00:50:00.000Z", "986.1"), c("2018-01-01T01:00:00.000Z", "986.1"), c("2018-01-01T01:10:00.000Z", "986.1"), c("2018-01-01T01:20:00.000Z", "986.1"), c("2018-01-01T01:30:00.000Z", "986.1"), c("2018-01-01T01:40:00.000Z", "986.1"), c("2018-01-01T01:50:00.000Z", "985.9"), c("2018-01-01T02:00:00.000Z", "985.9"), c("2018-01-01T02:10:00.000Z", "985.8"), c("2018-01-01T02:20:00.000Z", "985.8"), c("2018-01-01T02:30:00.000Z", "985.8"), c("2018-01-01T02:40:00.000Z", "985.9"), c("2018-01-01T02:50:00.000Z", "986.1"), c("2018-01-01T03:00:00.000Z", "986.2"), c("2018-01-01T03:10:00.000Z", "986.2"), c("2018-01-01T03:20:00.000Z", "986.4"), c("2018-01-01T03:30:00.000Z", "986.5"), c("2018-01-01T03:40:00.000Z", "986.7"), c("2018-01-01T03:50:00.000Z", "986.8"), c("2018-01-01T04:00:00.000Z", "987.1"), c("2018-01-01T04:20:00.000Z", "987.5"), c("2018-01-01T04:30:00.000Z", "987.7"), c("2018-01-01T04:40:00.000Z", "988.1"), c("2018-01-01T04:50:00.000Z", "988.3"), c("2018-01-01T05:00:00.000Z", "988.3"), c("2018-01-01T05:10:00.000Z", "988.4"), c("2018-01-01T05:20:00.000Z", "988.6"), c("2018-01-01T05:30:00.000Z", "988.7"), c("2018-01-01T05:40:00.000Z", "988.7"), c("2018-01-01T05:50:00.000Z", "988.7"), c("2018-01-01T06:00:00.000Z", "988.7"), c("2018-01-01T06:10:00.000Z", "989.0"), c("2018-01-01T06:20:00.000Z", "989.6"), c("2018-01-01T06:30:00.000Z", "989.8"), c("2018-01-01T06:40:00.000Z", "989.8"), c("2018-01-01T06:50:00.000Z", "989.8"), c("2018-01-01T07:00:00.000Z", "989.8"), c("2018-01-01T07:10:00.000Z", "990.0"), c("2018-01-01T07:30:00.000Z", "990.2"), c("2018-01-01T07:40:00.000Z", "990.3"), c("2018-01-01T07:50:00.000Z", "990.4"), c("2018-01-01T08:10:00.000Z", "990.4"), c("2018-01-01T08:30:00.000Z", "990.5"), c("2018-01-01T08:40:00.000Z", "990.6"), c("2018-01-01T08:50:00.000Z", "990.6"), c("2018-01-01T09:00:00.000Z", "990.5"), c("2018-01-01T09:20:00.000Z", "990.2"), c("2018-01-01T09:30:00.000Z", "990.2"), c("2018-01-01T09:50:00.000Z", "990.0"), c("2018-01-01T10:00:00.000Z", "989.9"), c("2018-01-01T10:20:00.000Z", "989.8"), c("2018-01-01T10:30:00.000Z", "989.7"), c("2018-01-01T10:40:00.000Z", "989.4"), c("2018-01-01T11:00:00.000Z", "989.4"), c("2018-01-01T11:10:00.000Z", "989.2"), c("2018-01-01T11:20:00.000Z", "989.0"), c("2018-01-01T11:30:00.000Z", "988.8"), c("2018-01-01T11:40:00.000Z", "988.8"), c("2018-01-01T11:50:00.000Z", "988.7"), c("2018-01-01T12:00:00.000Z", "988.4"), c("2018-01-01T12:10:00.000Z", "988.3"), c("2018-01-01T12:20:00.000Z", "988.3"), c("2018-01-01T12:30:00.000Z", "988.2"), c("2018-01-01T12:40:00.000Z", "987.9"), c("2018-01-01T12:50:00.000Z", "987.7"), c("2018-01-01T13:10:00.000Z", "987.5"), c("2018-01-01T13:20:00.000Z", "987.3"), c("2018-01-01T13:30:00.000Z", "987.2"), c("2018-01-01T13:40:00.000Z", "987.1"), c("2018-01-01T13:50:00.000Z", "987.0"), c("2018-01-01T14:00:00.000Z", "986.8"), c("2018-01-01T14:10:00.000Z", "986.6"), c("2018-01-01T14:20:00.000Z", "986.6"), c("2018-01-01T14:30:00.000Z", "986.5"), c("2018-01-01T14:40:00.000Z", "986.4"), c("2018-01-01T14:50:00.000Z", "986.3"), c("2018-01-01T15:00:00.000Z", "986.3"), c("2018-01-01T15:10:00.000Z", "986.1"), c("2018-01-01T15:20:00.000Z", "986.1"), c("2018-01-01T15:30:00.000Z", "986.1"), c("2018-01-01T15:40:00.000Z", "986.0"), c("2018-01-01T15:50:00.000Z", "986.0"), c("2018-01-01T16:00:00.000Z", "985.8"), c("2018-01-01T16:10:00.000Z", "985.8"), c("2018-01-01T16:30:00.000Z", "985.6"), c("2018-01-01T16:50:00.000Z", "985.5"), c("2018-01-01T17:00:00.000Z", "985.5"), c("2018-01-01T17:10:00.000Z", "985.4"), c("2018-01-01T17:20:00.000Z", "985.3"), c("2018-01-01T17:40:00.000Z", "985.2"), c("2018-01-01T17:50:00.000Z", "985.2"), c("2018-01-01T18:10:00.000Z", "985.1"), c("2018-01-01T18:20:00.000Z", "985.2"), c("2018-01-01T18:30:00.000Z", "985.2"), c("2018-01-01T18:40:00.000Z", "985.2"), c("2018-01-01T18:50:00.000Z", "985.3"), c("2018-01-01T19:00:00.000Z", "985.4"), c("2018-01-01T19:10:00.000Z", "985.5"), c("2018-01-01T19:30:00.000Z", "985.6"), c("2018-01-01T19:50:00.000Z", "985.8"), c("2018-01-01T20:10:00.000Z", "985.9"), c("2018-01-01T20:20:00.000Z", "986.1"), c("2018-01-01T20:30:00.000Z", "986.1"), c("2018-01-01T20:40:00.000Z", "986.4"), c("2018-01-01T20:50:00.000Z", "986.6"), c("2018-01-01T21:10:00.000Z", "987.1"), c("2018-01-01T21:30:00.000Z", "987.4"), c("2018-01-01T21:40:00.000Z", "987.6"), c("2018-01-01T21:50:00.000Z", "987.7"), c("2018-01-01T22:00:00.000Z", "988.0"), c("2018-01-01T22:20:00.000Z", "988.4"), c("2018-01-01T22:40:00.000Z", "988.7"), c("2018-01-01T22:50:00.000Z", "988.8"), c("2018-01-01T23:00:00.000Z", "989.1"), c("2018-01-01T23:20:00.000Z", "989.3"), c("2018-01-01T23:40:00.000Z", "989.8"), c("2018-01-01T23:50:00.000Z", "990.0"), c("2018-01-02T00:00:00.000Z", "990.3"), c("2018-01-02T00:10:00.000Z", "990.4"), c("2018-01-02T00:20:00.000Z", "990.6"), c("2018-01-02T00:30:00.000Z", "990.9"), c("2018-01-02T00:40:00.000Z", "991.0"), c("2018-01-02T00:50:00.000Z", "991.3"), c("2018-01-02T01:00:00.000Z", "991.4"), c("2018-01-02T01:10:00.000Z", "991.5"), c("2018-01-02T01:20:00.000Z", "991.6"), c("2018-01-02T01:40:00.000Z", "991.6"), c("2018-01-02T01:50:00.000Z", "991.7"), c("2018-01-02T02:10:00.000Z", "992.0"), c("2018-01-02T02:20:00.000Z", "992.1"), c("2018-01-02T02:30:00.000Z", "992.2"), c("2018-01-02T02:50:00.000Z", "992.5"), c("2018-01-02T03:00:00.000Z", "992.6"), c("2018-01-02T03:20:00.000Z", "992.9"), c("2018-01-02T03:30:00.000Z", "993.0"), c("2018-01-02T03:40:00.000Z", "993.1"), c("2018-01-02T03:50:00.000Z", "993.2"), c("2018-01-02T04:10:00.000Z", "993.6"), c("2018-01-02T04:20:00.000Z", "993.8"), c("2018-01-02T04:30:00.000Z", "994.0"), c("2018-01-02T04:50:00.000Z", "994.2"), c("2018-01-02T05:00:00.000Z", "994.3"), c("2018-01-02T05:10:00.000Z", "994.6"), c("2018-01-02T05:30:00.000Z", "995.0"), c("2018-01-02T05:40:00.000Z", "995.2"), c("2018-01-02T05:50:00.000Z", "995.3"), c("2018-01-02T06:00:00.000Z", "995.3"), c("2018-01-02T06:10:00.000Z", "995.5"), c("2018-01-02T06:30:00.000Z", "995.8"), c("2018-01-02T06:40:00.000Z", "996.0"), c("2018-01-02T07:00:00.000Z", "996.3"), c("2018-01-02T07:10:00.000Z", "996.4"), c("2018-01-02T07:20:00.000Z", "996.5"), c("2018-01-02T07:30:00.000Z", "996.7"), c("2018-01-02T07:50:00.000Z", "997.1"), c("2018-01-02T08:00:00.000Z", "997.4"), c("2018-01-02T08:10:00.000Z", "997.5"), c("2018-01-02T08:30:00.000Z", "997.8"), c("2018-01-02T08:40:00.000Z", "998.0"), c("2018-01-02T08:50:00.000Z", "998.1"), c("2018-01-02T09:00:00.000Z", "998.2"), c("2018-01-02T09:10:00.000Z", "998.4"), c("2018-01-02T09:20:00.000Z", "998.4"), c("2018-01-02T09:30:00.000Z", "998.6"), c("2018-01-02T09:40:00.000Z", "998.6"), c("2018-01-02T09:50:00.000Z", "998.6"), c("2018-01-02T10:00:00.000Z", "998.6"), c("2018-01-02T10:10:00.000Z", "998.6"), c("2018-01-02T10:20:00.000Z", "998.7"), c("2018-01-02T10:30:00.000Z", "998.9"), c("2018-01-02T10:40:00.000Z", "999.0"), c("2018-01-02T10:50:00.000Z", "999.1"), c("2018-01-02T11:10:00.000Z", "998.9"), c("2018-01-02T11:30:00.000Z", "998.7"), c("2018-01-02T11:40:00.000Z", "998.6"), c("2018-01-02T11:50:00.000Z", "998.6"), c("2018-01-02T12:00:00.000Z", "998.6"), c("2018-01-02T12:20:00.000Z", "998.6"), c("2018-01-02T12:30:00.000Z", "998.5"), c("2018-01-02T12:40:00.000Z", "998.6"), c("2018-01-02T12:50:00.000Z", "998.6"), c("2018-01-02T13:00:00.000Z", "998.7"), c("2018-01-02T13:10:00.000Z", "998.7"), c("2018-01-02T13:20:00.000Z", "998.6"), c("2018-01-02T13:30:00.000Z", "998.6"), c("2018-01-02T13:40:00.000Z", "998.5"), c("2018-01-02T14:00:00.000Z", "998.1"), c("2018-01-02T14:10:00.000Z", "998.1"), c("2018-01-02T14:20:00.000Z", "998.1"), c("2018-01-02T14:40:00.000Z", "998.2"), c("2018-01-02T14:50:00.000Z", "998.1"), c("2018-01-02T15:00:00.000Z", "998.1"), c("2018-01-02T15:20:00.000Z", "998.0"), c("2018-01-02T15:40:00.000Z", "997.7"), c("2018-01-02T15:50:00.000Z", "997.5"), c("2018-01-02T16:00:00.000Z", "997.2"), c("2018-01-02T16:20:00.000Z", "997.0"), c("2018-01-02T16:30:00.000Z", "996.8"), c("2018-01-02T16:50:00.000Z", "996.4"), c("2018-01-02T17:00:00.000Z", "996.4"), c("2018-01-02T17:10:00.000Z", "996.2"), c("2018-01-02T17:30:00.000Z", "995.8"), c("2018-01-02T17:50:00.000Z", "995.3"), c("2018-01-02T18:00:00.000Z", "995.2"), c("2018-01-02T18:10:00.000Z", "994.9"), c("2018-01-02T18:20:00.000Z", "994.7"), c("2018-01-02T18:40:00.000Z", "994.3"), c("2018-01-02T18:50:00.000Z", "994.1"), c("2018-01-02T19:10:00.000Z", "993.5"), c("2018-01-02T19:30:00.000Z", "992.9"), c("2018-01-02T19:40:00.000Z", "992.6"), c("2018-01-02T19:50:00.000Z", "992.1"), c("2018-01-02T20:10:00.000Z", "991.5"), c("2018-01-02T20:20:00.000Z", "991.5"), c("2018-01-02T20:30:00.000Z", "991.1"), c("2018-01-02T20:40:00.000Z", "990.9"), c("2018-01-02T20:50:00.000Z", "990.5"), c("2018-01-02T21:00:00.000Z", "990.0"), c("2018-01-02T21:10:00.000Z", "989.7"), c("2018-01-02T21:20:00.000Z", "989.3"), c("2018-01-02T21:30:00.000Z", "989.0"), c("2018-01-02T21:40:00.000Z", "988.7"), c("2018-01-02T21:50:00.000Z", "988.3"), c("2018-01-02T22:10:00.000Z", "987.6"), c("2018-01-02T22:20:00.000Z", "987.4"), c("2018-01-02T22:30:00.000Z", "987.1"), c("2018-01-02T22:40:00.000Z", "986.8"), c("2018-01-02T22:50:00.000Z", "986.5"), c("2018-01-02T23:00:00.000Z", "986.1"), c("2018-01-02T23:10:00.000Z", "985.6"), c("2018-01-02T23:20:00.000Z", "985.2"), c("2018-01-02T23:30:00.000Z", "984.8"), c("2018-01-02T23:40:00.000Z", "984.4"), c("2018-01-02T23:50:00.000Z", "984.2"), c("2018-01-03T00:00:00.000Z", "983.8") #> [parseValues] Processing field index 1 of 2 #> [parseValues] Current values: 2018-01-01T00:10:00.000Z, 2018-01-01T00:20:00.000Z, 2018-01-01T00:30:00.000Z, 2018-01-01T00:40:00.000Z, 2018-01-01T00:50:00.000Z, 2018-01-01T01:00:00.000Z, 2018-01-01T01:10:00.000Z, 2018-01-01T01:20:00.000Z, 2018-01-01T01:30:00.000Z, 2018-01-01T01:40:00.000Z, 2018-01-01T01:50:00.000Z, 2018-01-01T02:00:00.000Z, 2018-01-01T02:10:00.000Z, 2018-01-01T02:20:00.000Z, 2018-01-01T02:30:00.000Z, 2018-01-01T02:40:00.000Z, 2018-01-01T02:50:00.000Z, 2018-01-01T03:00:00.000Z, 2018-01-01T03:10:00.000Z, 2018-01-01T03:20:00.000Z, 2018-01-01T03:30:00.000Z, 2018-01-01T03:40:00.000Z, 2018-01-01T03:50:00.000Z, 2018-01-01T04:00:00.000Z, 2018-01-01T04:20:00.000Z, 2018-01-01T04:30:00.000Z, 2018-01-01T04:40:00.000Z, 2018-01-01T04:50:00.000Z, 2018-01-01T05:00:00.000Z, 2018-01-01T05:10:00.000Z, 2018-01-01T05:20:00.000Z, 2018-01-01T05:30:00.000Z, 2018-01-01T05:40:00.000Z, 2018-01-01T05:50:00.000Z, 2018-01-01T06:00:00.000Z, 2018-01-01T06:10:00.000Z, 2018-01-01T06:20:00.000Z, 2018-01-01T06:30:00.000Z, 2018-01-01T06:40:00.000Z, 2018-01-01T06:50:00.000Z, 2018-01-01T07:00:00.000Z, 2018-01-01T07:10:00.000Z, 2018-01-01T07:30:00.000Z, 2018-01-01T07:40:00.000Z, 2018-01-01T07:50:00.000Z, 2018-01-01T08:10:00.000Z, 2018-01-01T08:30:00.000Z, 2018-01-01T08:40:00.000Z, 2018-01-01T08:50:00.000Z, 2018-01-01T09:00:00.000Z, 2018-01-01T09:20:00.000Z, 2018-01-01T09:30:00.000Z, 2018-01-01T09:50:00.000Z, 2018-01-01T10:00:00.000Z, 2018-01-01T10:20:00.000Z, 2018-01-01T10:30:00.000Z, 2018-01-01T10:40:00.000Z, 2018-01-01T11:00:00.000Z, 2018-01-01T11:10:00.000Z, 2018-01-01T11:20:00.000Z, 2018-01-01T11:30:00.000Z, 2018-01-01T11:40:00.000Z, 2018-01-01T11:50:00.000Z, 2018-01-01T12:00:00.000Z, 2018-01-01T12:10:00.000Z, 2018-01-01T12:20:00.000Z, 2018-01-01T12:30:00.000Z, 2018-01-01T12:40:00.000Z, 2018-01-01T12:50:00.000Z, 2018-01-01T13:10:00.000Z, 2018-01-01T13:20:00.000Z, 2018-01-01T13:30:00.000Z, 2018-01-01T13:40:00.000Z, 2018-01-01T13:50:00.000Z, 2018-01-01T14:00:00.000Z, 2018-01-01T14:10:00.000Z, 2018-01-01T14:20:00.000Z, 2018-01-01T14:30:00.000Z, 2018-01-01T14:40:00.000Z, 2018-01-01T14:50:00.000Z, 2018-01-01T15:00:00.000Z, 2018-01-01T15:10:00.000Z, 2018-01-01T15:20:00.000Z, 2018-01-01T15:30:00.000Z, 2018-01-01T15:40:00.000Z, 2018-01-01T15:50:00.000Z, 2018-01-01T16:00:00.000Z, 2018-01-01T16:10:00.000Z, 2018-01-01T16:30:00.000Z, 2018-01-01T16:50:00.000Z, 2018-01-01T17:00:00.000Z, 2018-01-01T17:10:00.000Z, 2018-01-01T17:20:00.000Z, 2018-01-01T17:40:00.000Z, 2018-01-01T17:50:00.000Z, 2018-01-01T18:10:00.000Z, 2018-01-01T18:20:00.000Z, 2018-01-01T18:30:00.000Z, 2018-01-01T18:40:00.000Z, 2018-01-01T18:50:00.000Z, 2018-01-01T19:00:00.000Z, 2018-01-01T19:10:00.000Z, 2018-01-01T19:30:00.000Z, 2018-01-01T19:50:00.000Z, 2018-01-01T20:10:00.000Z, 2018-01-01T20:20:00.000Z, 2018-01-01T20:30:00.000Z, 2018-01-01T20:40:00.000Z, 2018-01-01T20:50:00.000Z, 2018-01-01T21:10:00.000Z, 2018-01-01T21:30:00.000Z, 2018-01-01T21:40:00.000Z, 2018-01-01T21:50:00.000Z, 2018-01-01T22:00:00.000Z, 2018-01-01T22:20:00.000Z, 2018-01-01T22:40:00.000Z, 2018-01-01T22:50:00.000Z, 2018-01-01T23:00:00.000Z, 2018-01-01T23:20:00.000Z, 2018-01-01T23:40:00.000Z, 2018-01-01T23:50:00.000Z, 2018-01-02T00:00:00.000Z, 2018-01-02T00:10:00.000Z, 2018-01-02T00:20:00.000Z, 2018-01-02T00:30:00.000Z, 2018-01-02T00:40:00.000Z, 2018-01-02T00:50:00.000Z, 2018-01-02T01:00:00.000Z, 2018-01-02T01:10:00.000Z, 2018-01-02T01:20:00.000Z, 2018-01-02T01:40:00.000Z, 2018-01-02T01:50:00.000Z, 2018-01-02T02:10:00.000Z, 2018-01-02T02:20:00.000Z, 2018-01-02T02:30:00.000Z, 2018-01-02T02:50:00.000Z, 2018-01-02T03:00:00.000Z, 2018-01-02T03:20:00.000Z, 2018-01-02T03:30:00.000Z, 2018-01-02T03:40:00.000Z, 2018-01-02T03:50:00.000Z, 2018-01-02T04:10:00.000Z, 2018-01-02T04:20:00.000Z, 2018-01-02T04:30:00.000Z, 2018-01-02T04:50:00.000Z, 2018-01-02T05:00:00.000Z, 2018-01-02T05:10:00.000Z, 2018-01-02T05:30:00.000Z, 2018-01-02T05:40:00.000Z, 2018-01-02T05:50:00.000Z, 2018-01-02T06:00:00.000Z, 2018-01-02T06:10:00.000Z, 2018-01-02T06:30:00.000Z, 2018-01-02T06:40:00.000Z, 2018-01-02T07:00:00.000Z, 2018-01-02T07:10:00.000Z, 2018-01-02T07:20:00.000Z, 2018-01-02T07:30:00.000Z, 2018-01-02T07:50:00.000Z, 2018-01-02T08:00:00.000Z, 2018-01-02T08:10:00.000Z, 2018-01-02T08:30:00.000Z, 2018-01-02T08:40:00.000Z, 2018-01-02T08:50:00.000Z, 2018-01-02T09:00:00.000Z, 2018-01-02T09:10:00.000Z, 2018-01-02T09:20:00.000Z, 2018-01-02T09:30:00.000Z, 2018-01-02T09:40:00.000Z, 2018-01-02T09:50:00.000Z, 2018-01-02T10:00:00.000Z, 2018-01-02T10:10:00.000Z, 2018-01-02T10:20:00.000Z, 2018-01-02T10:30:00.000Z, 2018-01-02T10:40:00.000Z, 2018-01-02T10:50:00.000Z, 2018-01-02T11:10:00.000Z, 2018-01-02T11:30:00.000Z, 2018-01-02T11:40:00.000Z, 2018-01-02T11:50:00.000Z, 2018-01-02T12:00:00.000Z, 2018-01-02T12:20:00.000Z, 2018-01-02T12:30:00.000Z, 2018-01-02T12:40:00.000Z, 2018-01-02T12:50:00.000Z, 2018-01-02T13:00:00.000Z, 2018-01-02T13:10:00.000Z, 2018-01-02T13:20:00.000Z, 2018-01-02T13:30:00.000Z, 2018-01-02T13:40:00.000Z, 2018-01-02T14:00:00.000Z, 2018-01-02T14:10:00.000Z, 2018-01-02T14:20:00.000Z, 2018-01-02T14:40:00.000Z, 2018-01-02T14:50:00.000Z, 2018-01-02T15:00:00.000Z, 2018-01-02T15:20:00.000Z, 2018-01-02T15:40:00.000Z, 2018-01-02T15:50:00.000Z, 2018-01-02T16:00:00.000Z, 2018-01-02T16:20:00.000Z, 2018-01-02T16:30:00.000Z, 2018-01-02T16:50:00.000Z, 2018-01-02T17:00:00.000Z, 2018-01-02T17:10:00.000Z, 2018-01-02T17:30:00.000Z, 2018-01-02T17:50:00.000Z, 2018-01-02T18:00:00.000Z, 2018-01-02T18:10:00.000Z, 2018-01-02T18:20:00.000Z, 2018-01-02T18:40:00.000Z, 2018-01-02T18:50:00.000Z, 2018-01-02T19:10:00.000Z, 2018-01-02T19:30:00.000Z, 2018-01-02T19:40:00.000Z, 2018-01-02T19:50:00.000Z, 2018-01-02T20:10:00.000Z, 2018-01-02T20:20:00.000Z, 2018-01-02T20:30:00.000Z, 2018-01-02T20:40:00.000Z, 2018-01-02T20:50:00.000Z, 2018-01-02T21:00:00.000Z, 2018-01-02T21:10:00.000Z, 2018-01-02T21:20:00.000Z, 2018-01-02T21:30:00.000Z, 2018-01-02T21:40:00.000Z, 2018-01-02T21:50:00.000Z, 2018-01-02T22:10:00.000Z, 2018-01-02T22:20:00.000Z, 2018-01-02T22:30:00.000Z, 2018-01-02T22:40:00.000Z, 2018-01-02T22:50:00.000Z, 2018-01-02T23:00:00.000Z, 2018-01-02T23:10:00.000Z, 2018-01-02T23:20:00.000Z, 2018-01-02T23:30:00.000Z, 2018-01-02T23:40:00.000Z, 2018-01-02T23:50:00.000Z, 2018-01-03T00:00:00.000Z #> [parseValues] Parsing field phenomenonTime http://www.opengis.net/def/property/OGC/0/PhenomenonTime http://www.opengis.net/def/uom/ISO-8601/0/Gregorian POSIXct #> [parseValues] Using converter: #> function (x, sos) #> { #> parsedTimestamp <- parsedate::parse_iso_8601(x) #> if (any(is.na(parsedTimestamp))) #> warning("Error converting string '", x, "' to 'ISO8601' format! Returning 'NA'") #> attributes(parsedTimestamp) <- c(attributes(parsedTimestamp), #> original_value = x) #> return(parsedTimestamp) #> } #> <bytecode: 0x555cbe289d70> #> <environment: namespace:sos4R> #> [parseValues] Binding additional data.frame for phenomenonTime -- value range 2018-01-01 00:10:00, 2018-01-03 00:00:00 #> [parseValues] Added column name: phenomenonTime #> [parseValues] The new bound data frame (one variable the a temp id): #> 'data.frame': 239 obs. of 2 variables: #> $ tempID : int 1 2 3 4 5 6 7 8 9 10 ... #> $ phenomenonTime: POSIXct, format: "2018-01-01 00:10:00" "2018-01-01 00:20:00" ... #> [parseValues] Added attributes to new data: phenomenonTime, http://www.opengis.net/def/property/OGC/0/PhenomenonTime, http://www.opengis.net/def/uom/ISO-8601/0/Gregorian, POSIXct [ names: name, definition, unit of measurement, R class of values ] #> [parseValues] Old attributes list is c("POSIXct", "POSIXt"), UTC, 2018-01-01T00:10:00.000Z, 2018-01-01T00:20:00.000Z, 2018-01-01T00:30:00.000Z, 2018-01-01T00:40:00.000Z, 2018-01-01T00:50:00.000Z, 2018-01-01T01:00:00.000Z, 2018-01-01T01:10:00.000Z, 2018-01-01T01:20:00.000Z, 2018-01-01T01:30:00.000Z, 2018-01-01T01:40:00.000Z, 2018-01-01T01:50:00.000Z, 2018-01-01T02:00:00.000Z, 2018-01-01T02:10:00.000Z, 2018-01-01T02:20:00.000Z, 2018-01-01T02:30:00.000Z, 2018-01-01T02:40:00.000Z, 2018-01-01T02:50:00.000Z, 2018-01-01T03:00:00.000Z, 2018-01-01T03:10:00.000Z, 2018-01-01T03:20:00.000Z, 2018-01-01T03:30:00.000Z, 2018-01-01T03:40:00.000Z, 2018-01-01T03:50:00.000Z, 2018-01-01T04:00:00.000Z, 2018-01-01T04:20:00.000Z, 2018-01-01T04:30:00.000Z, 2018-01-01T04:40:00.000Z, 2018-01-01T04:50:00.000Z, 2018-01-01T05:00:00.000Z, 2018-01-01T05:10:00.000Z, 2018-01-01T05:20:00.000Z, 2018-01-01T05:30:00.000Z, 2018-01-01T05:40:00.000Z, 2018-01-01T05:50:00.000Z, 2018-01-01T06:00:00.000Z, 2018-01-01T06:10:00.000Z, 2018-01-01T06:20:00.000Z, 2018-01-01T06:30:00.000Z, 2018-01-01T06:40:00.000Z, 2018-01-01T06:50:00.000Z, 2018-01-01T07:00:00.000Z, 2018-01-01T07:10:00.000Z, 2018-01-01T07:30:00.000Z, 2018-01-01T07:40:00.000Z, 2018-01-01T07:50:00.000Z, 2018-01-01T08:10:00.000Z, 2018-01-01T08:30:00.000Z, 2018-01-01T08:40:00.000Z, 2018-01-01T08:50:00.000Z, 2018-01-01T09:00:00.000Z, 2018-01-01T09:20:00.000Z, 2018-01-01T09:30:00.000Z, 2018-01-01T09:50:00.000Z, 2018-01-01T10:00:00.000Z, 2018-01-01T10:20:00.000Z, 2018-01-01T10:30:00.000Z, 2018-01-01T10:40:00.000Z, 2018-01-01T11:00:00.000Z, 2018-01-01T11:10:00.000Z, 2018-01-01T11:20:00.000Z, 2018-01-01T11:30:00.000Z, 2018-01-01T11:40:00.000Z, 2018-01-01T11:50:00.000Z, 2018-01-01T12:00:00.000Z, 2018-01-01T12:10:00.000Z, 2018-01-01T12:20:00.000Z, 2018-01-01T12:30:00.000Z, 2018-01-01T12:40:00.000Z, 2018-01-01T12:50:00.000Z, 2018-01-01T13:10:00.000Z, 2018-01-01T13:20:00.000Z, 2018-01-01T13:30:00.000Z, 2018-01-01T13:40:00.000Z, 2018-01-01T13:50:00.000Z, 2018-01-01T14:00:00.000Z, 2018-01-01T14:10:00.000Z, 2018-01-01T14:20:00.000Z, 2018-01-01T14:30:00.000Z, 2018-01-01T14:40:00.000Z, 2018-01-01T14:50:00.000Z, 2018-01-01T15:00:00.000Z, 2018-01-01T15:10:00.000Z, 2018-01-01T15:20:00.000Z, 2018-01-01T15:30:00.000Z, 2018-01-01T15:40:00.000Z, 2018-01-01T15:50:00.000Z, 2018-01-01T16:00:00.000Z, 2018-01-01T16:10:00.000Z, 2018-01-01T16:30:00.000Z, 2018-01-01T16:50:00.000Z, 2018-01-01T17:00:00.000Z, 2018-01-01T17:10:00.000Z, 2018-01-01T17:20:00.000Z, 2018-01-01T17:40:00.000Z, 2018-01-01T17:50:00.000Z, 2018-01-01T18:10:00.000Z, 2018-01-01T18:20:00.000Z, 2018-01-01T18:30:00.000Z, 2018-01-01T18:40:00.000Z, 2018-01-01T18:50:00.000Z, 2018-01-01T19:00:00.000Z, 2018-01-01T19:10:00.000Z, 2018-01-01T19:30:00.000Z, 2018-01-01T19:50:00.000Z, 2018-01-01T20:10:00.000Z, 2018-01-01T20:20:00.000Z, 2018-01-01T20:30:00.000Z, 2018-01-01T20:40:00.000Z, 2018-01-01T20:50:00.000Z, 2018-01-01T21:10:00.000Z, 2018-01-01T21:30:00.000Z, 2018-01-01T21:40:00.000Z, 2018-01-01T21:50:00.000Z, 2018-01-01T22:00:00.000Z, 2018-01-01T22:20:00.000Z, 2018-01-01T22:40:00.000Z, 2018-01-01T22:50:00.000Z, 2018-01-01T23:00:00.000Z, 2018-01-01T23:20:00.000Z, 2018-01-01T23:40:00.000Z, 2018-01-01T23:50:00.000Z, 2018-01-02T00:00:00.000Z, 2018-01-02T00:10:00.000Z, 2018-01-02T00:20:00.000Z, 2018-01-02T00:30:00.000Z, 2018-01-02T00:40:00.000Z, 2018-01-02T00:50:00.000Z, 2018-01-02T01:00:00.000Z, 2018-01-02T01:10:00.000Z, 2018-01-02T01:20:00.000Z, 2018-01-02T01:40:00.000Z, 2018-01-02T01:50:00.000Z, 2018-01-02T02:10:00.000Z, 2018-01-02T02:20:00.000Z, 2018-01-02T02:30:00.000Z, 2018-01-02T02:50:00.000Z, 2018-01-02T03:00:00.000Z, 2018-01-02T03:20:00.000Z, 2018-01-02T03:30:00.000Z, 2018-01-02T03:40:00.000Z, 2018-01-02T03:50:00.000Z, 2018-01-02T04:10:00.000Z, 2018-01-02T04:20:00.000Z, 2018-01-02T04:30:00.000Z, 2018-01-02T04:50:00.000Z, 2018-01-02T05:00:00.000Z, 2018-01-02T05:10:00.000Z, 2018-01-02T05:30:00.000Z, 2018-01-02T05:40:00.000Z, 2018-01-02T05:50:00.000Z, 2018-01-02T06:00:00.000Z, 2018-01-02T06:10:00.000Z, 2018-01-02T06:30:00.000Z, 2018-01-02T06:40:00.000Z, 2018-01-02T07:00:00.000Z, 2018-01-02T07:10:00.000Z, 2018-01-02T07:20:00.000Z, 2018-01-02T07:30:00.000Z, 2018-01-02T07:50:00.000Z, 2018-01-02T08:00:00.000Z, 2018-01-02T08:10:00.000Z, 2018-01-02T08:30:00.000Z, 2018-01-02T08:40:00.000Z, 2018-01-02T08:50:00.000Z, 2018-01-02T09:00:00.000Z, 2018-01-02T09:10:00.000Z, 2018-01-02T09:20:00.000Z, 2018-01-02T09:30:00.000Z, 2018-01-02T09:40:00.000Z, 2018-01-02T09:50:00.000Z, 2018-01-02T10:00:00.000Z, 2018-01-02T10:10:00.000Z, 2018-01-02T10:20:00.000Z, 2018-01-02T10:30:00.000Z, 2018-01-02T10:40:00.000Z, 2018-01-02T10:50:00.000Z, 2018-01-02T11:10:00.000Z, 2018-01-02T11:30:00.000Z, 2018-01-02T11:40:00.000Z, 2018-01-02T11:50:00.000Z, 2018-01-02T12:00:00.000Z, 2018-01-02T12:20:00.000Z, 2018-01-02T12:30:00.000Z, 2018-01-02T12:40:00.000Z, 2018-01-02T12:50:00.000Z, 2018-01-02T13:00:00.000Z, 2018-01-02T13:10:00.000Z, 2018-01-02T13:20:00.000Z, 2018-01-02T13:30:00.000Z, 2018-01-02T13:40:00.000Z, 2018-01-02T14:00:00.000Z, 2018-01-02T14:10:00.000Z, 2018-01-02T14:20:00.000Z, 2018-01-02T14:40:00.000Z, 2018-01-02T14:50:00.000Z, 2018-01-02T15:00:00.000Z, 2018-01-02T15:20:00.000Z, 2018-01-02T15:40:00.000Z, 2018-01-02T15:50:00.000Z, 2018-01-02T16:00:00.000Z, 2018-01-02T16:20:00.000Z, 2018-01-02T16:30:00.000Z, 2018-01-02T16:50:00.000Z, 2018-01-02T17:00:00.000Z, 2018-01-02T17:10:00.000Z, 2018-01-02T17:30:00.000Z, 2018-01-02T17:50:00.000Z, 2018-01-02T18:00:00.000Z, 2018-01-02T18:10:00.000Z, 2018-01-02T18:20:00.000Z, 2018-01-02T18:40:00.000Z, 2018-01-02T18:50:00.000Z, 2018-01-02T19:10:00.000Z, 2018-01-02T19:30:00.000Z, 2018-01-02T19:40:00.000Z, 2018-01-02T19:50:00.000Z, 2018-01-02T20:10:00.000Z, 2018-01-02T20:20:00.000Z, 2018-01-02T20:30:00.000Z, 2018-01-02T20:40:00.000Z, 2018-01-02T20:50:00.000Z, 2018-01-02T21:00:00.000Z, 2018-01-02T21:10:00.000Z, 2018-01-02T21:20:00.000Z, 2018-01-02T21:30:00.000Z, 2018-01-02T21:40:00.000Z, 2018-01-02T21:50:00.000Z, 2018-01-02T22:10:00.000Z, 2018-01-02T22:20:00.000Z, 2018-01-02T22:30:00.000Z, 2018-01-02T22:40:00.000Z, 2018-01-02T22:50:00.000Z, 2018-01-02T23:00:00.000Z, 2018-01-02T23:10:00.000Z, 2018-01-02T23:20:00.000Z, 2018-01-02T23:30:00.000Z, 2018-01-02T23:40:00.000Z, 2018-01-02T23:50:00.000Z, 2018-01-03T00:00:00.000Z #> [parseValues] New attributes list is c("POSIXct", "POSIXt"), UTC, 2018-01-01T00:10:00.000Z, 2018-01-01T00:20:00.000Z, 2018-01-01T00:30:00.000Z, 2018-01-01T00:40:00.000Z, 2018-01-01T00:50:00.000Z, 2018-01-01T01:00:00.000Z, 2018-01-01T01:10:00.000Z, 2018-01-01T01:20:00.000Z, 2018-01-01T01:30:00.000Z, 2018-01-01T01:40:00.000Z, 2018-01-01T01:50:00.000Z, 2018-01-01T02:00:00.000Z, 2018-01-01T02:10:00.000Z, 2018-01-01T02:20:00.000Z, 2018-01-01T02:30:00.000Z, 2018-01-01T02:40:00.000Z, 2018-01-01T02:50:00.000Z, 2018-01-01T03:00:00.000Z, 2018-01-01T03:10:00.000Z, 2018-01-01T03:20:00.000Z, 2018-01-01T03:30:00.000Z, 2018-01-01T03:40:00.000Z, 2018-01-01T03:50:00.000Z, 2018-01-01T04:00:00.000Z, 2018-01-01T04:20:00.000Z, 2018-01-01T04:30:00.000Z, 2018-01-01T04:40:00.000Z, 2018-01-01T04:50:00.000Z, 2018-01-01T05:00:00.000Z, 2018-01-01T05:10:00.000Z, 2018-01-01T05:20:00.000Z, 2018-01-01T05:30:00.000Z, 2018-01-01T05:40:00.000Z, 2018-01-01T05:50:00.000Z, 2018-01-01T06:00:00.000Z, 2018-01-01T06:10:00.000Z, 2018-01-01T06:20:00.000Z, 2018-01-01T06:30:00.000Z, 2018-01-01T06:40:00.000Z, 2018-01-01T06:50:00.000Z, 2018-01-01T07:00:00.000Z, 2018-01-01T07:10:00.000Z, 2018-01-01T07:30:00.000Z, 2018-01-01T07:40:00.000Z, 2018-01-01T07:50:00.000Z, 2018-01-01T08:10:00.000Z, 2018-01-01T08:30:00.000Z, 2018-01-01T08:40:00.000Z, 2018-01-01T08:50:00.000Z, 2018-01-01T09:00:00.000Z, 2018-01-01T09:20:00.000Z, 2018-01-01T09:30:00.000Z, 2018-01-01T09:50:00.000Z, 2018-01-01T10:00:00.000Z, 2018-01-01T10:20:00.000Z, 2018-01-01T10:30:00.000Z, 2018-01-01T10:40:00.000Z, 2018-01-01T11:00:00.000Z, 2018-01-01T11:10:00.000Z, 2018-01-01T11:20:00.000Z, 2018-01-01T11:30:00.000Z, 2018-01-01T11:40:00.000Z, 2018-01-01T11:50:00.000Z, 2018-01-01T12:00:00.000Z, 2018-01-01T12:10:00.000Z, 2018-01-01T12:20:00.000Z, 2018-01-01T12:30:00.000Z, 2018-01-01T12:40:00.000Z, 2018-01-01T12:50:00.000Z, 2018-01-01T13:10:00.000Z, 2018-01-01T13:20:00.000Z, 2018-01-01T13:30:00.000Z, 2018-01-01T13:40:00.000Z, 2018-01-01T13:50:00.000Z, 2018-01-01T14:00:00.000Z, 2018-01-01T14:10:00.000Z, 2018-01-01T14:20:00.000Z, 2018-01-01T14:30:00.000Z, 2018-01-01T14:40:00.000Z, 2018-01-01T14:50:00.000Z, 2018-01-01T15:00:00.000Z, 2018-01-01T15:10:00.000Z, 2018-01-01T15:20:00.000Z, 2018-01-01T15:30:00.000Z, 2018-01-01T15:40:00.000Z, 2018-01-01T15:50:00.000Z, 2018-01-01T16:00:00.000Z, 2018-01-01T16:10:00.000Z, 2018-01-01T16:30:00.000Z, 2018-01-01T16:50:00.000Z, 2018-01-01T17:00:00.000Z, 2018-01-01T17:10:00.000Z, 2018-01-01T17:20:00.000Z, 2018-01-01T17:40:00.000Z, 2018-01-01T17:50:00.000Z, 2018-01-01T18:10:00.000Z, 2018-01-01T18:20:00.000Z, 2018-01-01T18:30:00.000Z, 2018-01-01T18:40:00.000Z, 2018-01-01T18:50:00.000Z, 2018-01-01T19:00:00.000Z, 2018-01-01T19:10:00.000Z, 2018-01-01T19:30:00.000Z, 2018-01-01T19:50:00.000Z, 2018-01-01T20:10:00.000Z, 2018-01-01T20:20:00.000Z, 2018-01-01T20:30:00.000Z, 2018-01-01T20:40:00.000Z, 2018-01-01T20:50:00.000Z, 2018-01-01T21:10:00.000Z, 2018-01-01T21:30:00.000Z, 2018-01-01T21:40:00.000Z, 2018-01-01T21:50:00.000Z, 2018-01-01T22:00:00.000Z, 2018-01-01T22:20:00.000Z, 2018-01-01T22:40:00.000Z, 2018-01-01T22:50:00.000Z, 2018-01-01T23:00:00.000Z, 2018-01-01T23:20:00.000Z, 2018-01-01T23:40:00.000Z, 2018-01-01T23:50:00.000Z, 2018-01-02T00:00:00.000Z, 2018-01-02T00:10:00.000Z, 2018-01-02T00:20:00.000Z, 2018-01-02T00:30:00.000Z, 2018-01-02T00:40:00.000Z, 2018-01-02T00:50:00.000Z, 2018-01-02T01:00:00.000Z, 2018-01-02T01:10:00.000Z, 2018-01-02T01:20:00.000Z, 2018-01-02T01:40:00.000Z, 2018-01-02T01:50:00.000Z, 2018-01-02T02:10:00.000Z, 2018-01-02T02:20:00.000Z, 2018-01-02T02:30:00.000Z, 2018-01-02T02:50:00.000Z, 2018-01-02T03:00:00.000Z, 2018-01-02T03:20:00.000Z, 2018-01-02T03:30:00.000Z, 2018-01-02T03:40:00.000Z, 2018-01-02T03:50:00.000Z, 2018-01-02T04:10:00.000Z, 2018-01-02T04:20:00.000Z, 2018-01-02T04:30:00.000Z, 2018-01-02T04:50:00.000Z, 2018-01-02T05:00:00.000Z, 2018-01-02T05:10:00.000Z, 2018-01-02T05:30:00.000Z, 2018-01-02T05:40:00.000Z, 2018-01-02T05:50:00.000Z, 2018-01-02T06:00:00.000Z, 2018-01-02T06:10:00.000Z, 2018-01-02T06:30:00.000Z, 2018-01-02T06:40:00.000Z, 2018-01-02T07:00:00.000Z, 2018-01-02T07:10:00.000Z, 2018-01-02T07:20:00.000Z, 2018-01-02T07:30:00.000Z, 2018-01-02T07:50:00.000Z, 2018-01-02T08:00:00.000Z, 2018-01-02T08:10:00.000Z, 2018-01-02T08:30:00.000Z, 2018-01-02T08:40:00.000Z, 2018-01-02T08:50:00.000Z, 2018-01-02T09:00:00.000Z, 2018-01-02T09:10:00.000Z, 2018-01-02T09:20:00.000Z, 2018-01-02T09:30:00.000Z, 2018-01-02T09:40:00.000Z, 2018-01-02T09:50:00.000Z, 2018-01-02T10:00:00.000Z, 2018-01-02T10:10:00.000Z, 2018-01-02T10:20:00.000Z, 2018-01-02T10:30:00.000Z, 2018-01-02T10:40:00.000Z, 2018-01-02T10:50:00.000Z, 2018-01-02T11:10:00.000Z, 2018-01-02T11:30:00.000Z, 2018-01-02T11:40:00.000Z, 2018-01-02T11:50:00.000Z, 2018-01-02T12:00:00.000Z, 2018-01-02T12:20:00.000Z, 2018-01-02T12:30:00.000Z, 2018-01-02T12:40:00.000Z, 2018-01-02T12:50:00.000Z, 2018-01-02T13:00:00.000Z, 2018-01-02T13:10:00.000Z, 2018-01-02T13:20:00.000Z, 2018-01-02T13:30:00.000Z, 2018-01-02T13:40:00.000Z, 2018-01-02T14:00:00.000Z, 2018-01-02T14:10:00.000Z, 2018-01-02T14:20:00.000Z, 2018-01-02T14:40:00.000Z, 2018-01-02T14:50:00.000Z, 2018-01-02T15:00:00.000Z, 2018-01-02T15:20:00.000Z, 2018-01-02T15:40:00.000Z, 2018-01-02T15:50:00.000Z, 2018-01-02T16:00:00.000Z, 2018-01-02T16:20:00.000Z, 2018-01-02T16:30:00.000Z, 2018-01-02T16:50:00.000Z, 2018-01-02T17:00:00.000Z, 2018-01-02T17:10:00.000Z, 2018-01-02T17:30:00.000Z, 2018-01-02T17:50:00.000Z, 2018-01-02T18:00:00.000Z, 2018-01-02T18:10:00.000Z, 2018-01-02T18:20:00.000Z, 2018-01-02T18:40:00.000Z, 2018-01-02T18:50:00.000Z, 2018-01-02T19:10:00.000Z, 2018-01-02T19:30:00.000Z, 2018-01-02T19:40:00.000Z, 2018-01-02T19:50:00.000Z, 2018-01-02T20:10:00.000Z, 2018-01-02T20:20:00.000Z, 2018-01-02T20:30:00.000Z, 2018-01-02T20:40:00.000Z, 2018-01-02T20:50:00.000Z, 2018-01-02T21:00:00.000Z, 2018-01-02T21:10:00.000Z, 2018-01-02T21:20:00.000Z, 2018-01-02T21:30:00.000Z, 2018-01-02T21:40:00.000Z, 2018-01-02T21:50:00.000Z, 2018-01-02T22:10:00.000Z, 2018-01-02T22:20:00.000Z, 2018-01-02T22:30:00.000Z, 2018-01-02T22:40:00.000Z, 2018-01-02T22:50:00.000Z, 2018-01-02T23:00:00.000Z, 2018-01-02T23:10:00.000Z, 2018-01-02T23:20:00.000Z, 2018-01-02T23:30:00.000Z, 2018-01-02T23:40:00.000Z, 2018-01-02T23:50:00.000Z, 2018-01-03T00:00:00.000Z, phenomenonTime, http://www.opengis.net/def/property/OGC/0/PhenomenonTime, http://www.opengis.net/def/uom/ISO-8601/0/Gregorian, POSIXct #> [parseValues] Processing field index 2 of 2 #> [parseValues] Current values: 986.0, 985.9, 986.0, 986.1, 986.1, 986.1, 986.1, 986.1, 986.1, 986.1, 985.9, 985.9, 985.8, 985.8, 985.8, 985.9, 986.1, 986.2, 986.2, 986.4, 986.5, 986.7, 986.8, 987.1, 987.5, 987.7, 988.1, 988.3, 988.3, 988.4, 988.6, 988.7, 988.7, 988.7, 988.7, 989.0, 989.6, 989.8, 989.8, 989.8, 989.8, 990.0, 990.2, 990.3, 990.4, 990.4, 990.5, 990.6, 990.6, 990.5, 990.2, 990.2, 990.0, 989.9, 989.8, 989.7, 989.4, 989.4, 989.2, 989.0, 988.8, 988.8, 988.7, 988.4, 988.3, 988.3, 988.2, 987.9, 987.7, 987.5, 987.3, 987.2, 987.1, 987.0, 986.8, 986.6, 986.6, 986.5, 986.4, 986.3, 986.3, 986.1, 986.1, 986.1, 986.0, 986.0, 985.8, 985.8, 985.6, 985.5, 985.5, 985.4, 985.3, 985.2, 985.2, 985.1, 985.2, 985.2, 985.2, 985.3, 985.4, 985.5, 985.6, 985.8, 985.9, 986.1, 986.1, 986.4, 986.6, 987.1, 987.4, 987.6, 987.7, 988.0, 988.4, 988.7, 988.8, 989.1, 989.3, 989.8, 990.0, 990.3, 990.4, 990.6, 990.9, 991.0, 991.3, 991.4, 991.5, 991.6, 991.6, 991.7, 992.0, 992.1, 992.2, 992.5, 992.6, 992.9, 993.0, 993.1, 993.2, 993.6, 993.8, 994.0, 994.2, 994.3, 994.6, 995.0, 995.2, 995.3, 995.3, 995.5, 995.8, 996.0, 996.3, 996.4, 996.5, 996.7, 997.1, 997.4, 997.5, 997.8, 998.0, 998.1, 998.2, 998.4, 998.4, 998.6, 998.6, 998.6, 998.6, 998.6, 998.7, 998.9, 999.0, 999.1, 998.9, 998.7, 998.6, 998.6, 998.6, 998.6, 998.5, 998.6, 998.6, 998.7, 998.7, 998.6, 998.6, 998.5, 998.1, 998.1, 998.1, 998.2, 998.1, 998.1, 998.0, 997.7, 997.5, 997.2, 997.0, 996.8, 996.4, 996.4, 996.2, 995.8, 995.3, 995.2, 994.9, 994.7, 994.3, 994.1, 993.5, 992.9, 992.6, 992.1, 991.5, 991.5, 991.1, 990.9, 990.5, 990.0, 989.7, 989.3, 989.0, 988.7, 988.3, 987.6, 987.4, 987.1, 986.8, 986.5, 986.1, 985.6, 985.2, 984.8, 984.4, 984.2, 983.8 #> [parseValues] Parsing field AthmosphericPressure AthmosphericPressure hPa numeric #> [parseValues] Using converter: #> function (x, sos) #> { #> return(as.double(x = x)) #> } #> <bytecode: 0x555cbe29b8a8> #> <environment: namespace:sos4R> #> [parseValues] Binding additional data.frame for AthmosphericPressure -- value range 983.8, 999.1 #> [parseValues] Added column name: AthmosphericPressure #> [parseValues] The new bound data frame (one variable the a temp id): #> 'data.frame': 239 obs. of 3 variables: #> $ tempID : int 1 2 3 4 5 6 7 8 9 10 ... #> $ phenomenonTime : POSIXct, format: "2018-01-01 00:10:00" "2018-01-01 00:20:00" ... #> $ AthmosphericPressure: num 986 986 986 986 986 ... #> [parseValues] Added attributes to new data: AthmosphericPressure, AthmosphericPressure, hPa, numeric [ names: name, definition, unit of measurement, R class of values ] #> [parseValues] Old attributes list is #> [parseValues] New attributes list is AthmosphericPressure, AthmosphericPressure, hPa, numeric #> [parseValues] Removing temporary first column #> [parseValues] returning final data frame: #> 'data.frame': 239 obs. of 2 variables: #> $ phenomenonTime : POSIXct, format: "2018-01-01 00:10:00" "2018-01-01 00:20:00" ... #> $ AthmosphericPressure: num 986 986 986 986 986 ... #> ..- attr(*, "name")= chr "AthmosphericPressure" #> ..- attr(*, "definition")= chr "AthmosphericPressure" #> ..- attr(*, "unit of measurement")= chr "hPa" #> ..- attr(*, "R class of values")= chr "numeric" #> [parseResult] Done. #> [parseTime] Entering #> [parseTime] Found time instant #> [parseTime] Done: GmlTimePosition [ time: 2018-01-01 00:50:00 ] #> [parseOM] Done parsing #> [parseOM] Done parsing #> [parseObservationCollection] Done. Processed 1 elements: wwu-ws-kli-hsb_AthmosphericPressure_sf_76CE675D3F840C4E4731B1A2195C37092CCD4FA0 #> [parseOM] Done parsing #> [.getObservationById_1.0.0] Got OmObservationCollection ... calculating length with sosResult()[.getObservationById_1.0.0] result: list(phenomenonTime = c(1514765400, 1514766000, 1514766600, 1514767200, 1514767800, 1514768400, 1514769000, 1514769600, 1514770200, 1514770800, 1514771400, 1514772000, 1514772600, 1514773200, 1514773800, 1514774400, 1514775000, 1514775600, 1514776200, 1514776800, 1514777400, 1514778000, 1514778600, 1514779200, 1514780400, 1514781000, 1514781600, 1514782200, 1514782800, 1514783400, 1514784000, 1514784600, 1514785200, 1514785800, 1514786400, 1514787000, 1514787600, 1514788200, 1514788800, 1514789400, #> 1514790000, 1514790600, 1514791800, 1514792400, 1514793000, 1514794200, 1514795400, 1514796000, 1514796600, 1514797200, 1514798400, 1514799000, 1514800200, 1514800800, 1514802000, 1514802600, 1514803200, 1514804400, 1514805000, 1514805600, 1514806200, 1514806800, 1514807400, 1514808000, 1514808600, 1514809200, 1514809800, 1514810400, 1514811000, 1514812200, 1514812800, 1514813400, 1514814000, 1514814600, 1514815200, 1514815800, 1514816400, 1514817000, 1514817600, 1514818200, 1514818800, 1514819400, #> 1514820000, 1514820600, 1514821200, 1514821800, 1514822400, 1514823000, 1514824200, 1514825400, 1514826000, 1514826600, 1514827200, 1514828400, 1514829000, 1514830200, 1514830800, 1514831400, 1514832000, 1514832600, 1514833200, 1514833800, 1514835000, 1514836200, 1514837400, 1514838000, 1514838600, 1514839200, 1514839800, 1514841000, 1514842200, 1514842800, 1514843400, 1514844000, 1514845200, 1514846400, 1514847000, 1514847600, 1514848800, 1514850000, 1514850600, 1514851200, 1514851800, 1514852400, #> 1514853000, 1514853600, 1514854200, 1514854800, 1514855400, 1514856000, 1514857200, 1514857800, 1514859000, 1514859600, 1514860200, 1514861400, 1514862000, 1514863200, 1514863800, 1514864400, 1514865000, 1514866200, 1514866800, 1514867400, 1514868600, 1514869200, 1514869800, 1514871000, 1514871600, 1514872200, 1514872800, 1514873400, 1514874600, 1514875200, 1514876400, 1514877000, 1514877600, 1514878200, 1514879400, 1514880000, 1514880600, 1514881800, 1514882400, 1514883000, 1514883600, 1514884200, #> 1514884800, 1514885400, 1514886000, 1514886600, 1514887200, 1514887800, 1514888400, 1514889000, 1514889600, 1514890200, 1514891400, 1514892600, 1514893200, 1514893800, 1514894400, 1514895600, 1514896200, 1514896800, 1514897400, 1514898000, 1514898600, 1514899200, 1514899800, 1514900400, 1514901600, 1514902200, 1514902800, 1514904000, 1514904600, 1514905200, 1514906400, 1514907600, 1514908200, 1514908800, 1514910000, 1514910600, 1514911800, 1514912400, 1514913000, 1514914200, 1514915400, 1514916000, #> 1514916600, 1514917200, 1514918400, 1514919000, 1514920200, 1514921400, 1514922000, 1514922600, 1514923800, 1514924400, 1514925000, 1514925600, 1514926200, 1514926800, 1514927400, 1514928000, 1514928600, 1514929200, 1514929800, 1514931000, 1514931600, 1514932200, 1514932800, 1514933400, 1514934000, 1514934600, 1514935200, 1514935800, 1514936400, 1514937000, 1514937600), AthmosphericPressure = c(986, 985.9, 986, 986.1, 986.1, 986.1, 986.1, 986.1, 986.1, 986.1, 985.9, 985.9, 985.8, 985.8, 985.8, 985.9, #> 986.1, 986.2, 986.2, 986.4, 986.5, 986.7, 986.8, 987.1, 987.5, 987.7, 988.1, 988.3, 988.3, 988.4, 988.6, 988.7, 988.7, 988.7, 988.7, 989, 989.6, 989.8, 989.8, 989.8, 989.8, 990, 990.2, 990.3, 990.4, 990.4, 990.5, 990.6, 990.6, 990.5, 990.2, 990.2, 990, 989.9, 989.8, 989.7, 989.4, 989.4, 989.2, 989, 988.8, 988.8, 988.7, 988.4, 988.3, 988.3, 988.2, 987.9, 987.7, 987.5, 987.3, 987.2, 987.1, 987, 986.8, 986.6, 986.6, 986.5, 986.4, 986.3, 986.3, 986.1, 986.1, 986.1, 986, 986, 985.8, 985.8, 985.6, 985.5, #> 985.5, 985.4, 985.3, 985.2, 985.2, 985.1, 985.2, 985.2, 985.2, 985.3, 985.4, 985.5, 985.6, 985.8, 985.9, 986.1, 986.1, 986.4, 986.6, 987.1, 987.4, 987.6, 987.7, 988, 988.4, 988.7, 988.8, 989.1, 989.3, 989.8, 990, 990.3, 990.4, 990.6, 990.9, 991, 991.3, 991.4, 991.5, 991.6, 991.6, 991.7, 992, 992.1, 992.2, 992.5, 992.6, 992.9, 993, 993.1, 993.2, 993.6, 993.8, 994, 994.2, 994.3, 994.6, 995, 995.2, 995.3, 995.3, 995.5, 995.8, 996, 996.3, 996.4, 996.5, 996.7, 997.1, 997.4, 997.5, 997.8, 998, 998.1, 998.2, #> 998.4, 998.4, 998.6, 998.6, 998.6, 998.6, 998.6, 998.7, 998.9, 999, 999.1, 998.9, 998.7, 998.6, 998.6, 998.6, 998.6, 998.5, 998.6, 998.6, 998.7, 998.7, 998.6, 998.6, 998.5, 998.1, 998.1, 998.1, 998.2, 998.1, 998.1, 998, 997.7, 997.5, 997.2, 997, 996.8, 996.4, 996.4, 996.2, 995.8, 995.3, 995.2, 994.9, 994.7, 994.3, 994.1, 993.5, 992.9, 992.6, 992.1, 991.5, 991.5, 991.1, 990.9, 990.5, 990, 989.7, 989.3, 989, 988.7, 988.3, 987.6, 987.4, 987.1, 986.8, 986.5, 986.1, 985.6, 985.2, 984.8, 984.4, 984.2, #> 983.8))[.getObservation_1.0.0] PARSED RESPONSE: OmObservationCollection #> [.getObservation_1.0.0] Result length(s): 239 #> [sos4R] Finished getObservation to http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp #> --> received 1 observation(s) having 239 result values [ 239 ]. #> Object of class OmObservationCollection with 1 members.
By using verboseOutput
you can also debug the automatic GetCapabilities operation when creating a new SOS connection. That output is too extensive to show within this document.
verboseSOS <- SOS(sosUrl(mySOS), verboseOutput = TRUE, binding = sosBinding(mySOS), dcpFilter = mySOS@dcpFilter)
Feel free to ask questions about using the software or report a bug at the project issue tracker: https://github.com/52North/sos4R/issues. There you can also find existing bug reports and planned features.
The start of the project was generously supported by the 52°North Student Innovation Prize for Geoinformatics 2010. Thanks go also to Edzer Pebesma for contributing analyses to the demos at an early stage.
In future releases a tighter integration is planned with the sf
package regarding output data structures and classes.