1.0-beta
  • Welcome to Ellip
    • How to Join
      • Foreword
      • Create a user account
        • Option 1: Register from the sign-up page
        • Option 2: Register from a linked account
        • Upgrade !
      • Access the Platform Services
    • My Account
      • Welcome page
      • Profile page
        • About you
        • Account
        • API key
        • Catalogue
        • Storage
        • SSH keys
          • Generate and install the SSH key pair
        • Github
        • Subscription plans
  • Ellip Core Services
    • Cloud Dashboard
      • Prerequisites
      • Access the Cloud Dashboard
      • See Also
    • Data Agency
      • Basic Concepts
        • Terminology
          • Catalog
          • Storage
        • REST api
          • Usage
      • Catalog
        • Underlying standards
          • Metadata models
          • OpenSearch
        • Discovery
          • Exploring indices in the catalog
          • Exploring series in the indices
          • Exploring data packages in the portal
        • Search
          • Description document
          • Query with filters
          • Query specific properties
        • Personal index
          • Personal index management
          • Create entries
          • Update entries
          • Delete entries
          • Create Series
        • Public collections
      • Storage
        • Concepts
        • Download
          • Direct download
          • Delegate Download
          • Data Gateway Proxy Download
        • Personal repository
          • Upload data
          • Delete Data
          • Share Data
        • Caching
          • Implicit caching
          • Early caching
    • Virtual Private Network
      • Join your Laboratory
        • Prerequisites
        • Install your OpenVPN Client
        • Run your VPN Connection
        • Known caveats
          • DNS issues
          • HTTP proxy server
        • Going further
          • How to use the OpenVPN Command Line Interface
          • How to manually setup OpenVPN on other Platforms
          • How to build and install OpenVPN
  • Solutions hosted on Ellip
    • Ellip Notebooks
      • Getting Started Guide
        • Introduction
        • Access your Ellip Notebooks server
          • Prerequisites
          • Access via browser
        • Ellip Notebooks interface
          • JupyterLab Work Area
          • JupyterLab Launcher
          • JupyterLab Left Sidebar
          • References
        • Ellip Notebooks environments
          • Install additional software
      • Developer's Quick Start
        • General Notes
          • Clone the Hands-On repository
        • Hands-On Exercise 1 - Data Discovery
          • Search for SLC Sentinel-1 products
          • Search for Landsat-8 products using the "eop:track" as a queryable
          • Search on Map
          • Understand Georelation
        • Hands-On Exercise 2 - Data Stage-In
          • Sentinel-1 product
          • Landsat-8 product
          • Envisat product
        • Hands-On Exercise 3 - Data Analysis
          • ASTER analysis for Jones Lake
      • Examples
        • Active Fires
          • Active fire detection - Pedrogao Grande
          • Burnt area detection - NBR Call 693
        • Geohazards
          • Analysis of Earthquake events - radar coherence changes
        • Polarstern
          • Polarstern enters uncharted Arctic waters
          • Snow and ice classification
          • Sentinel-1 Offset Tracking for glacier velocity maps
          • DEM Assisted Coregistration
          • Multi-temporal SAR RGB composite for 2018
    • Ellip Workflows
      • Getting Started Guide
        • Introduction
        • Start your Ellip Workflows Virtual Machine
          • Create an Ellip Workflows VM
        • Connect to your Ellip Workflows Virtual Machine
          • Prerequisites
          • Connecting from Unix / Linux / Mac
          • Connecting from Windows
        • Discover the Ellip Workflows services & tools
          • User dashboard Web UI
          • Oozie Web GUI
          • The ciop tools
        • Understand the Ellip Workflows development key principles
          • The Ellip Workflows filesystems
          • The Application Workflows
        • Application descriptor reference
          • Purpose and structure
          • Job Templates
          • Workflow
          • A complete example
          • Application descriptor schema
        • Using Github/Gitlab as software repository
          • Laboratories and Github/Gitlab organizations
          • Organizing the GitHub teams
          • Further reading
      • Developer’s Quick Start
        • Working from the Shell
          • General Notes
          • Exercise 1 - a basic workflow
          • Exercise 2 - make a robust workflow and debug it
          • Exercise 3 - staging data
          • Exercise 4 - using a toolbox
          • Exercise 5 - using parameters
          • Exercise 6 - a multi-node workflow
          • Exercise 7 - debug a multi-node workflow
          • Exercise 8 - browse published results
          • Exercise 9 - using an OpenSearch catalogue
          • Exercise 10 - prepare an OGC Web Processing Service
        • Working from the JupyterLab
          • General Notes
          • Step 1 - Select and instantiate an Ellip Workflows archetype
          • Step 2 - Initialise the software repository
          • Step 3 - Stage-in the EO data
          • Step 4 - Implement the data transformation application steps
          • Step 5 - Deploy and run the Web Processing Service locally
          • Step 6 - Release the data transformation application
      • Examples
        • Working from the JupyterLab
          • Trigger Queue example for Sentinel-2 L2A BOA ARD
      • Applications Guide
        • Application Types
          • Stand-alone Processing Applications
          • Trigger Applications
          • Relationship between Stand-alone Processing and Trigger Applications
        • Application Templates
          • Maven Archetypes
          • Cookiecutter Project Templates
      • Design Guide
        • Application workflow
        • Processing nodes and parallelism
          • Several processing tasks
        • Run executable design patterns
          • Process n inputs and generate n (or m) outputs
          • Process n inputs to generate one output
          • Auxiliary nodes
        • Data sources
          • Local file
          • Comma-separated values
          • Reference to a catalogue
        • Triggers design patterns
          • Queue design pattern
          • Pipe design pattern
  • Communities active on Ellip
    • Geohazards communities
      • Documentation
    • Hydrology communities
      • Documentation
    • Coastal Areas
  • Developer Handbook
    • Ellip SDK
      • Bash commands and functions for the Run Executables
        • Data management
          • ciop-copy
          • ciop-publish
        • Catalogue access and management
          • opensearch-client
        • Worklow simulation and invocation
          • ciop-run
          • ciop-stop
        • Scripting functions
          • ciop-log
          • ciop-getparam
        • Miscellaneous
          • ciop-appcheck
      • R functions for the Run Executables
        • Getting started
          • Installation procedure
          • Usage
          • Example
        • rciop.log
          • Description
          • Usage
          • Arguments
          • Details
          • Value
          • Examples
          • Author
        • rciop.getparam
          • Description
          • Usage
          • Arguments
          • Details
          • Value
          • Examples
          • Author
        • rciop.copy
          • Usage
          • Arguments
          • Details
          • Value
          • Examples
          • Author
        • rciop.publish
          • Description
          • Usage
          • Arguments
          • Details
          • Value
          • Examples
          • Author
      • Python functions for the Run Executables
        • Getting started
          • Installation procedure
          • Usage
          • Example
        • cioppy.log
          • Description
          • Usage
          • Arguments
          • Details
          • Value
          • Examples
          • Author
        • cioppy.getparam
          • Description
          • Usage
          • Arguments
          • Details
          • Value
          • Examples
          • Author
        • cioppy.copy
          • Description
          • Usage: public catalogue
          • Usage: private catalogue
          • Arguments
          • Details
          • Output
          • Examples
          • Author
        • cioppy.publish
          • Description
          • Usage
          • Arguments
          • Details
          • Value
          • Examples
          • Author
        • cioppy.casmeta
          • Description
          • Usage
          • Arguments
          • Details
          • Value
          • Examples
          • Author
        • cioppy.register
          • Description
          • Usage
          • Arguments
          • Details
          • Value
          • Examples
          • Author
    • Ellip API
      • Catalog
        • Ellip Catalog REST API
          • Authentication
          • Catalog routes
          • Requests
          • Responses
          • Operations on indices
          • Operations on series
          • Operations on entries
        • Search API Reference
          • OpenSearch standard search
          • Free text search
      • Storage
        • Ellip Storage REST API
          • Authentication
          • Storage routes
          • List directory content
          • Download file
          • Upload file
          • Delete file or directory
      • Data publication operations
        • Prerequisites
          • Generate and export API key
        • Data upload
          • Automatic upload
          • Manual upload
        • Metadata generation
          • Using the recast service
          • Alternative: Fully manual metadata generation
        • Metadata ingestion
          • Automatic ingestion
          • Manual ingestion
        • Sample scenarios
          • Generate an ATOM entry for the catalog and perform its ingestion
          • Upload data to the Terradue storage
          • Publish metadata on the Terradue catalog
          • Change an ATOM entry on the catalog
Logo
Logo
  • Docs »
  • Ellip Core Services »
  • Data Agency »
  • Catalog »
  • Search
  • View page source

Search¶

In the previous section, we explored how to discover what sort content the catalog provides.

Now we will see how to query the different types of collection : index, series and data packages

The Terradue catalog presents information based on the widely used OpenSearch standard which splits searches into two universally usable steps:

  • Requests for description documents that defines search templates, and
  • Search Requests based on the templates from a description document.

Description document¶

Every point of access for any type of collection must expose a description document. It is a self-descriptive XML document that declares the entry points (or templates) for the search and the parameters that can be searched.

Let’s query the raw XML using cURL (xmllint is used for a better formatting):

curl "https://catalog.terradue.com/mrossi/description" | xmllint --format -

Alternatively we can use the opensearch-client to format it in a human-readable way. The following command lists search parameters that can be used with entries in the sentinel2 index:

opensearch-client -d atom "https://catalog.terradue.com/sentinel2/description"
Search URL type: application/atom+xml (format: atom)
Parameters
Name                  Description/title                        M O R P S (mandatory, options, range, pattern, step)
----                  -----------------                        ---------
- count               number of search results per page des... - - R - -
- startPage           page number of the set of search resu... - - - - -
- startIndex          index of the first search result desired - - - - -
- q                   EO Free Text Search                      - - - - -
- lang                desired language of the results          - - - - -
- update              date after which dataset are updated ... - - - - -
- do                  a string that identifies the download... - - - - -
- start               start of the temporal interval (RFC-3... - - R - -
- stop                stop of the temporal interval (RFC-3339) - - R - -
- trel                Temporal relation (possible values ar... - O - - -
- bbox                Rectangular bounding box                 - - - - -
- uid                 The identifier of the resource within... - - - - -
- geom                Geometry in WKT                          - - - - -
- rel                 Spatial relation (possible values are... - O - - -
- cat                 The identifier of a category. Recomme... - - - - -
- pt                  A string identifying the product type    - O - - -
- psn                 A string with the platform short name    - O - - -
- psi                 A string with the Platform serial ide... - O - - -
- isn                 A string identifying the instrument      - O - - -
- st                  A string identifying the sensor type     - O - - -
- pl                  A string identifying the processing l... - O - - -
- ot                  A string identifying the orbit type      - O - - -
- title               A name given to the resource             - - - - -
- pi                  A string identifying the collection o... - O - - -
- od                  A string identifying the orbit direction - O - - -
- track               A number, set or interval requesting ... - - - - -
- cc                  A number, set or interval requesting ... - - R - -
- lc                  A number, set or interval requesting ... - - - - -
- dcg                 Set to apply a finer geometry filtering  - - - - -

Specific information about individual search parameters (such as possible options) can be shown by specifying the parameter, in this example for rel, the spatial relation parameter for the spatial match of search geometry and product footprint:

opensearch-client -d atom.rel "https://catalog.terradue.com/sentinel2/description"
Search URL type: application/atom+xml (format: atom)
- Parameter: rel
    Description/title: Spatial relation (possible values are “intersects”, “contains”, “disjoint”). The default is intersects.
    Options:
    Value                  Label/description
    -----                  -----------------
    - intersects           Intersects
    - contains             Contains
    - disjoint             Disjoint

Warning

Do not confuse query filters and properties keywords.

Even if they may have a relationship, the name used for query filters do not always correspond exactly to the properties keywords extractor used in opensearch-client. For instance, when you filter on the identifier, you use the filter uid, when you request the identifier, you use identifier.

Query with filters¶

We will perform the query using parameters

With cURL:

curl "https://catalog.terradue.com/mrossi/search?format=atom&q=processing&bbox=60,-30,70,-20"

The equivalent request with opensearch-client:

opensearch-client -f atom -p q=processing -p bbox=60,-30,70,-20 "https://catalog.terradue.com/mrossi/search?format=json&q=processing&bbox=60,-30,70,-20" {}

Both previous commands will return the atom feed with the result queried.

Query specific properties¶

With opensearch-client, it is possible to query some specific entry properties according to the metadata model of the resource.

Note

See the opensearch-client doc section to learn how to list all the metadata properties extractor available per metadata model.

Let’s take again our previous resource and ask for the identifiers, the spatial WKT and the publication date:

opensearch-client -f atom -p q=processing -p bbox=60,-30,70,-20 "https://catalog.terradue.com/mrossi/search?format=json&q=processing&bbox=60,-30,70,-20" identifier,wkt,published
Next Previous

© Copyright 2019, Terradue.

Built with Sphinx using a theme provided by Read the Docs.