Unify Earth Observation products access with OpenSearch
-
Upload
gasperi-jerome -
Category
Technology
-
view
195 -
download
0
Transcript of Unify Earth Observation products access with OpenSearch
Jérôme Gasperi
Unify Earth Observation products access with OpenSearch
CEOS WGISS-35INPE - Sao Paulo dos Campos, Brazil - May 8th, 2013
What is Opensearch ?http://www.opensearch.org
OpenSearch is a collection of simple formats for the sharing of search results.
The OpenSearch description document format can be used to describe a search engine so that it can be used by search client applications
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>[email protected]</Contact> <Url type="application/atom+xml” template="http://example.com/?q={searchTerms}&pw={startPage?}&format=atom"/> <Url type="text/html” template="http://example.com/?q={searchTerms}&pw={startPage?}&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>[email protected]</Contact> <Url type="application/atom+xml” template="http://example.com/?q={searchTerms}&pw={startPage?}&format=atom"/> <Url type="text/html” template="http://example.com/?q={searchTerms}&pw={startPage?}&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