| CSWQuery {ows4R} | R Documentation |
CSWQuery
Description
CSWQuery
CSWQuery
Format
R6Class object.
Value
Object of R6Class for modelling an CSW Query
Super class
ows4R::OGCAbstractObject -> CSWQuery
Public fields
ElementSetNameelement set name property for request XML encoding
constraintproperty for request XML encoding
Methods
Public methods
Inherited methods
ows4R::OGCAbstractObject$ERROR()ows4R::OGCAbstractObject$INFO()ows4R::OGCAbstractObject$WARN()ows4R::OGCAbstractObject$encode()ows4R::OGCAbstractObject$getClass()ows4R::OGCAbstractObject$getClassName()ows4R::OGCAbstractObject$getNamespaceDefinition()ows4R::OGCAbstractObject$isFieldInheritedFrom()ows4R::OGCAbstractObject$logger()ows4R::OGCAbstractObject$print()
Method new()
This method is used to instantiate an CSWQUery object. The elementSetName can be
either "full" (default), "brief" or "summary". A constraint CSWConstraint can be
defined for the query. The typeNames indicates to query (default "csw:Record").
The serviceVersion gives the CSW service version (default "2.0.2")
Usage
CSWQuery$new( elementSetName = "full", constraint = NULL, typeNames = "csw:Record", serviceVersion = "2.0.2" )
Arguments
elementSetNameelement set name. Default is "full"
constraintobject of class CSWConstraint
typeNamestype names
serviceVersionCSW service version
Method setServiceVersion()
Set service version. The methods ensures propery naming of typeNames depending on the service version
Usage
CSWQuery$setServiceVersion(serviceVersion)
Arguments
serviceVersionservice version
Method clone()
The objects of this class are cloneable with this method.
Usage
CSWQuery$clone(deep = FALSE)
Arguments
deepWhether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
#CSWQuery - elementSetName
query_full <- CSWQuery$new()
query_brief <- CSWQuery$new(elementSetName = "brief")
query_summary <- CSWQuery$new(elementSetName = "summary")
#CSWQuery - cqlText with title
cons <- CSWConstraint$new(cqlText = "dc:title like '%ips%'")
query <- CSWQuery$new(constraint = cons)
#CSW 2.0.2 - Query - Filter / AnyText
filter <- OGCFilter$new( PropertyIsLike$new("csw:AnyText", "%Physio%"))
cons <- CSWConstraint$new(filter = filter)
query <- CSWQuery$new(constraint = cons)
#CSW 2.0.2 - Query - Filter / AnyText Equal
filter <- OGCFilter$new( PropertyIsEqualTo$new("csw:AnyText", "species"))
cons <- CSWConstraint$new(filter = filter)
query <- CSWQuery$new(constraint = cons)
#CSW 2.0.2 - Query - Filter / AnyText And Not
filter <- OGCFilter$new(And$new(
PropertyIsLike$new("csw:AnyText", "%lorem%"),
PropertyIsLike$new("csw:AnyText", "%ipsum%"),
Not$new(
PropertyIsLike$new("csw:AnyText", "%dolor%")
)
))
cons <- CSWConstraint$new(filter = filter)
query <- CSWQuery$new(constraint = cons)
#CSW 2.0.2 - Query - Filter / AnyText And nested Or
filter <- OGCFilter$new(And$new(
PropertyIsEqualTo$new("dc:title", "Aliquam fermentum purus quis arcu"),
PropertyIsEqualTo$new("dc:format", "application/pdf"),
Or$new(
PropertyIsEqualTo$new("dc:type", "http://purl.org/dc/dcmitype/Dataset"),
PropertyIsEqualTo$new("dc:type", "http://purl.org/dc/dcmitype/Service"),
PropertyIsEqualTo$new("dc:type", "http://purl.org/dc/dcmitype/Image"),
PropertyIsEqualTo$new("dc:type", "http://purl.org/dc/dcmitype/Text")
)
))
cons <- CSWConstraint$new(filter = filter)
query <- CSWQuery$new(elementSetName = "brief", constraint = cons)
#CSW 2.0.2 - Query - Filter / BBOX
bbox <- matrix(c(-180,180,-90,90), nrow = 2, ncol = 2, byrow = TRUE,
dimnames = list(c("x", "y"), c("min","max")))
filter <- OGCFilter$new( BBOX$new(bbox = bbox) )
cons <- CSWConstraint$new(filter = filter)
query <- CSWQuery$new(elementSetName = "brief", constraint = cons)