Unify Earth Observation products access with OpenSearch

Post on 10-Jul-2015

196 views 0 download

Tags:

Transcript of Unify Earth Observation products access with OpenSearch

What is Opensearch ?http://www.opensearch.org

OpenSearch is a collection of simple formats for the sharing of search results.

Search results can be returned as HTML, Atom, RDF, KML, json, etc.

OpenSearch description documenthttp://www.opensearch.org/Specifications/OpenSearch/1.1/Draft_5#OpenSearch_description_document

The OpenSearch description document provides a set of URL templates which describe the query parameters accepted by the service and the variety of output formats in which results can be obtained

<?xml version="1.0" encoding="UTF-8"?><OpenSearchDescription xmlns="http://a9.com/-/spec/OpenSearch/1.1/"> <ShortName>Search service</ShortName> <Description>My dummy search service</Description> <Tags>example search opensearch</Tags> <Contact>admin@example.com</Contact> <Url type="application/atom+xml” template="http://example.com/?q={searchTerms}&amp;pw={startPage?}&amp;format=atom"/> <Url type="text/html” template="http://example.com/?q={searchTerms}&amp;pw={startPage?}&amp;format=html"/></OpenSearchDescription>

<?xml version="1.0" encoding="UTF-8"?><OpenSearchDescription xmlns="http://a9.com/-/spec/OpenSearch/1.1/"> <ShortName>Search service</ShortName> <Description>My dummy search service</Description> <Tags>example search opensearch</Tags> <Contact>admin@example.com</Contact> <Url type="application/atom+xml” template="http://example.com/?q={searchTerms}&amp;pw={startPage?}&amp;format=atom"/> <Url type="text/html” template="http://example.com/?q={searchTerms}&amp;pw={startPage?}&amp;format=html"/></OpenSearchDescription>

Output formatis HTML

Query parameters

Output format is ATOM

Two main extensions - Time and Geospatialtime:starttime:end geo:box

geo:geometry

geo:relationgeo:name

geo:lat, geo:lon, geo:radius

Real life Opensearch benefitsThe GEO Geohazards Supersite example

Search query are concises HTTP GET requests#1

Get products available here

<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" outputSchema="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="20"> <csw:Query typeNames="rim:RegistryPackage rim:ExtrinsicObject"> <csw:ElementSetName typeNames="rim:RegistryPackage">full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:RegistryPackage/rim:RegistryObjectList[*]/rim:RegistryObject/@id</ogc:PropertyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/@objectType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:BBOX> <ogc:PropertyName> /rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::multiExtentOf"]/wrs:ValueList/wrs:AnyValue[1] </ogc:PropertyName> <Envelope xmlns="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" srsName="EPSG:4326"> <lowerCorner>-23.8 -47.3</lowerCorner> <upperCorner>-23.2 -45.5</upperCorner> </Envelope> </ogc:BBOX> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>

HMA This in an HTTP POST request - i.e. no link possible !

<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" outputSchema="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="20"> <csw:Query typeNames="rim:RegistryPackage rim:ExtrinsicObject"> <csw:ElementSetName typeNames="rim:RegistryPackage">full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:RegistryPackage/rim:RegistryObjectList[*]/rim:RegistryObject/@id</ogc:PropertyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/@objectType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:BBOX> <ogc:PropertyName> /rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::multiExtentOf"]/wrs:ValueList/wrs:AnyValue[1] </ogc:PropertyName> <Envelope xmlns="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" srsName="EPSG:4326"> <lowerCorner>-23.8 -47.3</lowerCorner> <upperCorner>-23.2 -45.5</upperCorner> </Envelope> </ogc:BBOX> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>

HMA This in an HTTP POST request - i.e. no link possible !

<GetRecords xmlns="http://www.opengis.net/cat/csw/2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd" service="CSW" version="2.0.2" resultType="results" outputSchema="http://www.opengis.net/cat/csw/2.0.2" startPosition="1" maxRecords="20"> <Query typeNames="csw:Record"> <ElementSetName typeNames="csw:Record">full</ElementSetName> <Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:subject</ogc:PropertyName> <ogc:Literal>dc8capac</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:BBOX> <ogc:PropertyName> ows:BoundingBox </ogc:PropertyName> <gml:Envelope srsName="EPSG:4326"> <gml:lowerCorner>-23.8 -47.3</gml:lowerCorner> <gml:upperCorner>-23.2 -45.5</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:And> </ogc:Filter> </Constraint> </Query></GetRecords>

CWIC This in an HTTP POST request - i.e. no link possible !

<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" outputSchema="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="20"> <csw:Query typeNames="rim:RegistryPackage rim:ExtrinsicObject"> <csw:ElementSetName typeNames="rim:RegistryPackage">full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:RegistryPackage/rim:RegistryObjectList[*]/rim:RegistryObject/@id</ogc:PropertyName> <ogc:PropertyName>/rim:ExtrinsicObject/@id</ogc:PropertyName> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>/rim:ExtrinsicObject/@objectType</ogc:PropertyName> <ogc:Literal>urn:ogc:def:objectType:OGC-CSW-ebRIM-EO::EOProduct</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:BBOX> <ogc:PropertyName> /rim:ExtrinsicObject/rim:Slot[@name="urn:ogc:def:slot:OGC-CSW-ebRIM-EO::multiExtentOf"]/wrs:ValueList/wrs:AnyValue[1] </ogc:PropertyName> <Envelope xmlns="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" srsName="EPSG:4326"> <lowerCorner>-23.8 -47.3</lowerCorner> <upperCorner>-23.2 -45.5</upperCorner> </Envelope> </ogc:BBOX> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>

HMA This in an HTTP POST request - i.e. no link possible !

http://eo-virtual-archive4.esa.int/search/ASA_IM__0P/atom/?bbox=25,26,41,41&startIndex=1&count=20OpenSearch This is an HTTP GET request - i.e. this is a link !

<GetRecords xmlns="http://www.opengis.net/cat/csw/2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd" service="CSW" version="2.0.2" resultType="results" outputSchema="http://www.opengis.net/cat/csw/2.0.2" startPosition="1" maxRecords="20"> <Query typeNames="csw:Record"> <ElementSetName typeNames="csw:Record">full</ElementSetName> <Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:subject</ogc:PropertyName> <ogc:Literal>dc8capac</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:BBOX> <ogc:PropertyName> ows:BoundingBox </ogc:PropertyName> <gml:Envelope srsName="EPSG:4326"> <gml:lowerCorner>-23.8 -47.3</gml:lowerCorner> <gml:upperCorner>-23.2 -45.5</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:And> </ogc:Filter> </Constraint> </Query></GetRecords>

CWIC This in an HTTP POST request - i.e. no link possible !

HTML results can be indexed by search engine bots#2

Natural language search

OpenSearch request !

ATOM results are easily handled by advanced clients#3

OpenSearch request !

Google maps

OpenSearch request !

mapshup

CNES activities on OpensearchLand Surfaces Thematic center (PTSC)

"The objective of the Land Surface Thematic Center is to facilitate the study of issues related to the impact of anthropogenic pressures on climate and ecosystems, quantify and model the water cycle and carbon monitoring developments of societies and their activities, understand the dynamics of biodiversity." 

To achieve this objective, the center will develop and make available to the scientific community data, products, processes and services related to the observation from space land surfaces.

CNES

METACATALOG

GEOSUD

Kalideos

Land Surfaces Portal

POSTELSpirit

Hydroweb

Landsat South France

IGN

Take5

PTSC by end of 2013

~1000 productsFrance Very High resolution cover

~ 120 000 products

OpenSearch

OpenSearch

CSW ISO

CSW CIM