SlideShare a Scribd company logo
1 of 27
Download to read offline
Unify Earth Observation products access
with OpenSearch
Jérôme Gasperi
CEOS WGISS-35
INPE - 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 document
http://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>
Output format is ATOM
<?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 format
is HTML

Query parameters
Two main extensions - Time and Geospatial
time:start

geo:lat, geo:lon, geo:radius

time:end

geo:box
geo:geometry
geo:relation
geo:name
Real life Opensearch benefits
The GEO Geohazards Supersite example
#1

Search query are concises HTTP GET requests
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 !

OpenSearch
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 !

http://eo-virtual-archive4.esa.int/search/ASA_IM__0P/atom/?bbox=25,26,41,41&startIndex=1&count=20
#2

HTML results can be indexed by search engine bots
Natural language search

OpenSearch request !
#3

ATOM results are easily handled by advanced clients
OpenSearch request !

Google maps
OpenSearch request !

mapshup
CNES activities on Opensearch
Land 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.
PTSC by end of 2013

Landsat
South
France Hydroweb
Spirit

h

c
ear
S
pen
O

Land Surfaces
Portal

OpenSearch

POSTEL

~ 120 000 products

CNES

Kalideos Take5

METACATALOG
CS
W

ISO

CSW
CIM

France Very High
resolution cover

IGN

GEOSUD
~1000 products
Unify Earth Observation products access with OpenSearch

More Related Content

What's hot

Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Simplilearn
 

What's hot (20)

Selenium with Cucumber
Selenium  with Cucumber Selenium  with Cucumber
Selenium with Cucumber
 
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
 
Hybrid framework
Hybrid frameworkHybrid framework
Hybrid framework
 
Introduction to RxJS
Introduction to RxJSIntroduction to RxJS
Introduction to RxJS
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Selenium
SeleniumSelenium
Selenium
 
Selenium
SeleniumSelenium
Selenium
 
Selenium with java
Selenium with javaSelenium with java
Selenium with java
 
Web application testing with Selenium
Web application testing with SeleniumWeb application testing with Selenium
Web application testing with Selenium
 
Introduction to Automation Testing and Selenium overiew
Introduction to Automation Testing and Selenium overiewIntroduction to Automation Testing and Selenium overiew
Introduction to Automation Testing and Selenium overiew
 
Introduction to RxJS
Introduction to RxJSIntroduction to RxJS
Introduction to RxJS
 
What's new in selenium 4
What's new in selenium 4What's new in selenium 4
What's new in selenium 4
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
Selenium TestNG
Selenium TestNGSelenium TestNG
Selenium TestNG
 
Angular 2
Angular 2Angular 2
Angular 2
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | Edureka
 
ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with selenium
 

Similar to Unify Earth Observation products access with OpenSearch

OpenSearch
OpenSearchOpenSearch
OpenSearch
hchen1
 
CrossRef Technical Basics 2010 CrossRef Workshops
CrossRef Technical Basics 2010 CrossRef WorkshopsCrossRef Technical Basics 2010 CrossRef Workshops
CrossRef Technical Basics 2010 CrossRef Workshops
Crossref
 
Developing RESTful WebServices using Jersey
Developing RESTful WebServices using JerseyDeveloping RESTful WebServices using Jersey
Developing RESTful WebServices using Jersey
b_kathir
 

Similar to Unify Earth Observation products access with OpenSearch (20)

OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
OData: Universal Data Solvent or Clunky Enterprise Goo? (GlueCon 2015)
 
From zero to hero - Easy log centralization with Logstash and Elasticsearch
From zero to hero - Easy log centralization with Logstash and ElasticsearchFrom zero to hero - Easy log centralization with Logstash and Elasticsearch
From zero to hero - Easy log centralization with Logstash and Elasticsearch
 
From Zero to Hero - Centralized Logging with Logstash & Elasticsearch
From Zero to Hero - Centralized Logging with Logstash & ElasticsearchFrom Zero to Hero - Centralized Logging with Logstash & Elasticsearch
From Zero to Hero - Centralized Logging with Logstash & Elasticsearch
 
OpenSearch
OpenSearchOpenSearch
OpenSearch
 
CrossRef Technical Basics 2010 CrossRef Workshops
CrossRef Technical Basics 2010 CrossRef WorkshopsCrossRef Technical Basics 2010 CrossRef Workshops
CrossRef Technical Basics 2010 CrossRef Workshops
 
How to use soap component
How to use soap componentHow to use soap component
How to use soap component
 
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
 
Collection aggregator
Collection aggregatorCollection aggregator
Collection aggregator
 
Basic example using for each component
Basic example using for each componentBasic example using for each component
Basic example using for each component
 
Soap Component
Soap ComponentSoap Component
Soap Component
 
The Heron Mapping Client - Overview, Functions, Concepts
The Heron Mapping Client - Overview, Functions, Concepts The Heron Mapping Client - Overview, Functions, Concepts
The Heron Mapping Client - Overview, Functions, Concepts
 
Wildcard Filter
Wildcard FilterWildcard Filter
Wildcard Filter
 
SAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based ServicesSAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based Services
 
How to use wildcard filter
How to use wildcard filterHow to use wildcard filter
How to use wildcard filter
 
Overview of RESTful web services
Overview of RESTful web servicesOverview of RESTful web services
Overview of RESTful web services
 
Expression
ExpressionExpression
Expression
 
How to use expression filter
How to use expression filterHow to use expression filter
How to use expression filter
 
Python RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsPython RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutions
 
Developing RESTful WebServices using Jersey
Developing RESTful WebServices using JerseyDeveloping RESTful WebServices using Jersey
Developing RESTful WebServices using Jersey
 
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaAttack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and Kibana
 

More from Gasperi Jerome

Le Big Data et les données Copernicus
Le Big Data et les données CopernicusLe Big Data et les données Copernicus
Le Big Data et les données Copernicus
Gasperi Jerome
 

More from Gasperi Jerome (20)

Big data from space - Module Big Data ISAE 2017
Big data from space - Module Big Data ISAE 2017Big data from space - Module Big Data ISAE 2017
Big data from space - Module Big Data ISAE 2017
 
Le Big Data et les données Copernicus
Le Big Data et les données CopernicusLe Big Data et les données Copernicus
Le Big Data et les données Copernicus
 
2016.02.18 big data from space toulouse data science
2016.02.18   big data from space    toulouse data science2016.02.18   big data from space    toulouse data science
2016.02.18 big data from space toulouse data science
 
2015.11.12 big data from space - cusi toulouse
2015.11.12   big data from space - cusi toulouse2015.11.12   big data from space - cusi toulouse
2015.11.12 big data from space - cusi toulouse
 
Big Data - Accès et traitement des données d’Observation de laTerre
Big Data - Accès et traitement des données d’Observation de laTerreBig Data - Accès et traitement des données d’Observation de laTerre
Big Data - Accès et traitement des données d’Observation de laTerre
 
Semantic search within Earth Observation products databases based on automati...
Semantic search within Earth Observation products databases based on automati...Semantic search within Earth Observation products databases based on automati...
Semantic search within Earth Observation products databases based on automati...
 
2014.09.04 federated ground segments - toulouse
2014.09.04   federated ground segments - toulouse2014.09.04   federated ground segments - toulouse
2014.09.04 federated ground segments - toulouse
 
Web Processing Service
Web Processing ServiceWeb Processing Service
Web Processing Service
 
2014.04.22 - HyDre - Hydroweb Distribution Server
2014.04.22 - HyDre - Hydroweb Distribution Server2014.04.22 - HyDre - Hydroweb Distribution Server
2014.04.22 - HyDre - Hydroweb Distribution Server
 
Semantic search for Earth Observation products
Semantic search for Earth Observation productsSemantic search for Earth Observation products
Semantic search for Earth Observation products
 
RESTo - restful semantic search tool for geospatial
RESTo - restful semantic search tool for geospatialRESTo - restful semantic search tool for geospatial
RESTo - restful semantic search tool for geospatial
 
Single Sign On with OAuth and OpenID
Single Sign On with OAuth and OpenIDSingle Sign On with OAuth and OpenID
Single Sign On with OAuth and OpenID
 
CNES Data Center
CNES Data CenterCNES Data Center
CNES Data Center
 
CNES OpenSearch implementations
CNES OpenSearch implementationsCNES OpenSearch implementations
CNES OpenSearch implementations
 
Web Processing Service
Web Processing ServiceWeb Processing Service
Web Processing Service
 
CNES activities on semantic search
CNES activities on semantic searchCNES activities on semantic search
CNES activities on semantic search
 
Traitements de données à la demande - Introduction au Web Processing Service
Traitements de données à la demande - Introduction au Web Processing ServiceTraitements de données à la demande - Introduction au Web Processing Service
Traitements de données à la demande - Introduction au Web Processing Service
 
Data access and data extraction services within the Land Imagery Portal
Data access and data extraction services within the Land Imagery PortalData access and data extraction services within the Land Imagery Portal
Data access and data extraction services within the Land Imagery Portal
 
Semantic search applied to Earth Observation products
Semantic search applied to Earth Observation productsSemantic search applied to Earth Observation products
Semantic search applied to Earth Observation products
 
Accès à l’information satellitaire dans un contexte réactif de catastrophe na...
Accès à l’information satellitaire dans un contexte réactif de catastrophe na...Accès à l’information satellitaire dans un contexte réactif de catastrophe na...
Accès à l’information satellitaire dans un contexte réactif de catastrophe na...
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

Unify Earth Observation products access with OpenSearch

  • 1. Unify Earth Observation products access with OpenSearch Jérôme Gasperi CEOS WGISS-35 INPE - Sao Paulo dos Campos, Brazil - May 8th, 2013
  • 2. What is Opensearch ? http://www.opensearch.org
  • 3. OpenSearch is a collection of simple formats for the sharing of search results.
  • 4. The OpenSearch description document format can be used to describe a search engine so that it can be used by search client applications
  • 5. Search results can be returned as HTML, Atom, RDF, KML, json, etc.
  • 7. 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
  • 8. <?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>
  • 9. Output format is ATOM <?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 format is HTML Query parameters
  • 10. Two main extensions - Time and Geospatial time:start geo:lat, geo:lon, geo:radius time:end geo:box geo:geometry geo:relation geo:name
  • 11. Real life Opensearch benefits The GEO Geohazards Supersite example
  • 12. #1 Search query are concises HTTP GET requests
  • 14.
  • 15. <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 !
  • 16. <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 !
  • 17. <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 ! OpenSearch 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 ! http://eo-virtual-archive4.esa.int/search/ASA_IM__0P/atom/?bbox=25,26,41,41&startIndex=1&count=20
  • 18. #2 HTML results can be indexed by search engine bots
  • 20. #3 ATOM results are easily handled by advanced clients
  • 23. CNES activities on Opensearch Land Surfaces Thematic center (PTSC)
  • 24. "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." 
  • 25. 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.
  • 26. PTSC by end of 2013 Landsat South France Hydroweb Spirit h c ear S pen O Land Surfaces Portal OpenSearch POSTEL ~ 120 000 products CNES Kalideos Take5 METACATALOG CS W ISO CSW CIM France Very High resolution cover IGN GEOSUD ~1000 products