rOpenSearch - an R interface to OpenSearch

OpenSearch Geo and Time Extensions

The Geo and Time Extensions specify a series of parameters that can be used to geographically constrain search results.

In short, provision is made to filter results by:

  • A bounding box
  • An arbitrary geometry defined using Well Known Text
  • Within a certain radius from a given latitude-longitude point
  • Having a certain containment relation (intersects, contains, disjoint) with a geographic constraint
  • Matching a geographic name
  • Matching a given unique identifier in the context of the repository
  • A start and end of a temporal extent
  • Having a certain temporal relation (intersects, contains, during, disjoint, equals) with a temporal constraint

All geographic information is assumed to be expressed using the EPSG 4326 (WGS84 2d) coordinate reference system (CRS), and any output listing the extents of the original query or containing further geographic information about the search results, will similarly be expressed in EPSG 4326.

Below, a sample response to a request for an OpenSearch Description from a repository supporting the Geo Extension. Note that the response type is given in the type attribute and not implicitly on the URL path and the parameter names are not necessarily equal in all access points.

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
xmlns:geo="http://a9.com/-/opensearch/extensions/geo/1.0/">
<ShortName>Web Search</ShortName>
<Description>Use Example.com to search the Web.</Description>
<Tags>example web</Tags>
<Contact>admin@example.com</Contact>
<Url type="application/atom+xml" template="http://example.com/myatom/?q={searchTerms}&amp;pw={startPage?}&amp;box={geo:box?}" />
<Url type="application/rdf+xml" template="http://example.com/myrdf/?q={searchTerms}&amp;pp={startPage?}&amp;bbx={geo:box?}" />
<Url type="application/geojson" template="http://example.com/geojson/?q={searchTerms}&amp;page={startPage?}&amp;b={geo:box?}" />
<Url type="text/html" template="http://example.com/?q={searchTerms}&amp;bbox={geo:box?}&amp;pw={startPage?}" />
<LongName>Example.com Web Search</LongName>
<Query role="example" searchTerms="cat" geo:box="121,12,1,-23"/>
<Attribution>Copyright 2005, Example.com, Inc.</Attribution>
<SyndicationRight>open</SyndicationRight>
</OpenSearchDescription>

For more information please check the full specification available at the OGC site.