Changes

Jump to navigation Jump to search
5,513 bytes added ,  10:24, 21 December 2019
no edit summary
Line 1: Line 1:  
<multilang>@en|
 
<multilang>@en|
   −
EODMS is has several options for API Access and automation i.e. Machine 2 Machine. To find more GC APIs, visit the GC API site.  
+
== Overview ==
 +
 
 +
[[Earth_Observation_Data_Management_System_(EODMS)|EODMS]] has several options for search and download API access as well as automation i.e. Machine 2 Machine.  
 +
 
 +
As part of the [https://www.tbs-sct.gc.ca/pol/doc-eng.aspx?id=28108 Directive on Open Government], the Government of Canada is committed to improving its [https://twitter.com/hashtag/opendata?lang=en #OpenData] posture. EODMS API access aims to promote practices per the [https://www.canada.ca/en/government/system/digital-government/modern-emerging-technologies/government-canada-standards-apis.html GC Standards on APIs]
 +
 
 +
To find more GC APIs, visit the GC API site.  
    
[[File:Api-logo.png|link=https://api.canada.ca/en/homepage]]
 
[[File:Api-logo.png|link=https://api.canada.ca/en/homepage]]
 
https://api.canada.ca/en/homepage
 
https://api.canada.ca/en/homepage
  −
As part of the [https://www.tbs-sct.gc.ca/pol/doc-eng.aspx?id=28108 Directive on Open Government], the Government of Canada is committed to improving its [https://twitter.com/hashtag/opendata?lang=en #OpenData] posture. EODMS API access aims to promote practices per the [https://www.canada.ca/en/government/system/digital-government/modern-emerging-technologies/government-canada-standards-apis.html GC Standards on APIs]
      
== OpenSearch API (for RADARSAT-1 and NAPL) ==
 
== OpenSearch API (for RADARSAT-1 and NAPL) ==
Line 37: Line 41:     
<pre style="background-color:#EEFFCC; border-color:#AACC99">
 
<pre style="background-color:#EEFFCC; border-color:#AACC99">
Wildcard Description
+
Wildcard Description
   −
* any sequence of zero or more characters
+
*         any sequence of zero or more characters
? any one character
+
?         any one character
 
</pre>
 
</pre>
    
<pre style="background-color:#EEFFCC; border-color:#AACC99">
 
<pre style="background-color:#EEFFCC; border-color:#AACC99">
Operator Description
+
Operator Description
   −
AND         Narrow search and retrieve records containing all of the words it separates.
+
AND       Narrow search and retrieve records containing all of the words it separates.
OR Broaden search and retrieve records containing any of the words it separates.
+
OR       Broaden search and retrieve records containing any of the words it separates.
NOT Narrow search and retrieve records that do not contain the term following it.
+
NOT       Narrow search and retrieve records that do not contain the term following it.
( ) Group words or phrases when combining Boolean phrases and to show the order in which relationships should be considered.
+
( )       Group words or phrases when combining Boolean phrases and to show the order in which relationships should be considered.
 
</pre>
 
</pre>
   Line 57: Line 61:  
== OGC APIs==
 
== OGC APIs==
   −
The following is a complete end-to-end same to use OGC APIs
+
The following are usage samples of EODMS' OGC APIs with a full [https://github.com/nrcan-eodms-sgdot-rncan/eodms-ogc-client-py/wiki open source Python module on GitHub]
    
=== Discover some data / CSW GetRecords ===
 
=== Discover some data / CSW GetRecords ===
    
URL (POST)
 
URL (POST)
 +
 +
Each data collection has a separate URL. The following are supported:
    
<code style="background-color:#EEFFCC; border-color:#AACC99">https://www.eodms-sgdot.nrcan-rncan.gc.ca/MetaManagerCSW/csw/eodms_catalog</code>
 
<code style="background-color:#EEFFCC; border-color:#AACC99">https://www.eodms-sgdot.nrcan-rncan.gc.ca/MetaManagerCSW/csw/eodms_catalog</code>
   −
HTTP POST - HEADER
+
<code style="background-color:#EEFFCC; border-color:#AACC99">https://www.eodms-sgdot.nrcan-rncan.gc.ca/MetaManagerCSW/csw/eodms_napl_catalog</code>
 +
 
 +
<code style="background-color:#EEFFCC; border-color:#AACC99">https://www.eodms-sgdot.nrcan-rncan.gc.ca/MetaManagerCSW/csw/RCMImageProducts</code>
 +
 
 +
HTTP POST - HEADER (No Username/Password)
 +
 
 +
<pre style="background-color:#EEFFCC; border-color:#AACC99">
 +
<csw:GetRecords service='CSW' version='2.0.2' maxRecords='10' startPosition='1' resultType='results'
 +
&#x09;outputFormat='application/xml' outputSchema='http://www.opengis.net/cat/csw/2.0.2'
 +
&#x09;xmlns='http://www.opengis.net/cat/csw/2.0.2' xmlns:csw='http://www.opengis.net/cat/csw/2.0.2'
 +
&#x09;xmlns:ogc='http://www.opengis.net/ogc' xmlns:ows='http://www.opengis.net/ows'
 +
&#x09;xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:dct='http://purl.org/dc/terms/'
 +
&#x09;xmlns:gml='http://www.opengis.net/gml' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
 +
&#x09;xsi:schemaLocation='http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd'>
 +
&#x09;<csw:Query typeNames='csw:Record'>
 +
&#x09;&#x09;<csw:ElementSetName typeNames='csw:Record'>summary</csw:ElementSetName>
 +
&#x09;</csw:Query>
 +
</csw:GetRecords>
 +
</pre>
 +
 
 +
HTTP POST - HEADER (With Username/Password SOAP Envelope)
 +
 
 +
<pre style="background-color:#EEFFCC; border-color:#AACC99">
 +
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
 +
  <soapenv:Header>
 +
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
 +
        <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd">
 +
            <wsse:Username>#####</wsse:Username>
 +
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">#####</wsse:Password>
 +
        </wsse:UsernameToken>
 +
    </wsse:Security>
 +
  </soapenv:Header>
 +
  <soapenv:Body>
   −
<pre style="background-color:#EEFFCC; border-color:#AACC99"><csw:GetRecords service='CSW' version='2.0.2' maxRecords='10' startPosition='1' resultType='results'  
+
<csw:GetRecords service='CSW' version='2.0.2' maxRecords='10' startPosition='1' resultType='results'  
 
&#x09;outputFormat='application/xml' outputSchema='http://www.opengis.net/cat/csw/2.0.2'  
 
&#x09;outputFormat='application/xml' outputSchema='http://www.opengis.net/cat/csw/2.0.2'  
 
&#x09;xmlns='http://www.opengis.net/cat/csw/2.0.2' xmlns:csw='http://www.opengis.net/cat/csw/2.0.2'  
 
&#x09;xmlns='http://www.opengis.net/cat/csw/2.0.2' xmlns:csw='http://www.opengis.net/cat/csw/2.0.2'  
Line 77: Line 115:  
&#x09;&#x09;<csw:ElementSetName typeNames='csw:Record'>summary</csw:ElementSetName>  
 
&#x09;&#x09;<csw:ElementSetName typeNames='csw:Record'>summary</csw:ElementSetName>  
 
&#x09;</csw:Query>  
 
&#x09;</csw:Query>  
</csw:GetRecords></pre>
+
</csw:GetRecords>
 +
 
 +
</soapenv:Body>
 +
</soapenv:Envelope>
 +
</pre>
    
HTTP RESPONSE
 
HTTP RESPONSE
Line 173: Line 215:     
=== Order that Record / WCS DescribeCoverage ===
 
=== Order that Record / WCS DescribeCoverage ===
 +
 +
The WCS DescribeCoverage message is used for ordering and can be sent as a POST or GET (recommended) request.
    
URL (GET REQUEST)
 
URL (GET REQUEST)
Line 274: Line 318:  
</wcs:CoverageDescriptions></pre>
 
</wcs:CoverageDescriptions></pre>
   −
=== End-to-End OGC Order Example with Python ===
+
=== Github Repo - End-to-End OGC Order Example with Python ===
   −
Checkout out our [https://github.com/nrcan-eodms-sgdot-rncan/eodms-ogc-client-py/wiki open source Python module on GitHub] to search the EODMS_Catalog CSW and WCS services to order a Radarsat-1 image from the EODMS.
+
Checkout out our [https://github.com/nrcan-eodms-sgdot-rncan/eodms-ogc-client-py/wiki open source Python module on GitHub] use the CSW and WCS APIs to order images from EODMS.
   −
== Web Automation with Katalon ==
+
== Github Repo - Web Automation with Katalon ==
    
* A [https://github.com/nrcan-eodms-sgdot-rncan/eodms-scene-retriever Katalon utility] to automate website user clicks for searching and ordering.
 
* A [https://github.com/nrcan-eodms-sgdot-rncan/eodms-scene-retriever Katalon utility] to automate website user clicks for searching and ordering.
    
@fr|
 
@fr|
 +
== Aperçu ==
   −
SGDOT propose plusieurs options pour l’API Access et automation, à savoir Machine 2 Machine. Pour découvrir plus d’API du GC, visitez le site API du GC.
+
[[Earth_Observation_Data_Management_System_(EODMS)|SGDOT]] propose plusieurs options pour l’API Access et automation, à savoir Machine 2 Machine.  
 +
 
 +
Dans le cadre de la [https://www.tbs-sct.gc.ca/pol/doc-fra.aspx?id=28108 Directive sur la gouvernance ouverte], le gouvernement du Canada s'est engagé à améliorer sa [https: // twitter.com/hashtag/opendata?lang=en #OpenData] posture. API EODMS [http://www.canada.ca/fr/government/system/digital-government/modern-emerging-technologies/government-canada-standards-apis.html Normes du GC sur les API]
 +
 
 +
Pour découvrir plus d’API du GC, visitez le site API du GC.
    
[[File:Api-logo.png|link=https://api.canada.ca/en/homepage]]
 
[[File:Api-logo.png|link=https://api.canada.ca/en/homepage]]
 
https://api.canada.ca/en/homepage
 
https://api.canada.ca/en/homepage
  −
Dans le cadre de la [https://www.tbs-sct.gc.ca/pol/doc-fra.aspx?id=28108 Directive sur la gouvernance ouverte], le gouvernement du Canada s'est engagé à améliorer sa [https: // twitter.com/hashtag/opendata?lang=en #OpenData] posture. API EODMS [http://www.canada.ca/fr/government/system/digital-government/modern-emerging-technologies/government-canada-standards-apis.html Normes du GC sur les API]
      
== API OpenSearch (pour RADARSAT-1 et NAPL) ==
 
== API OpenSearch (pour RADARSAT-1 et NAPL) ==
Line 317: Line 364:     
<pre style="background-color:#EEFFCC; border-color:#AACC99">
 
<pre style="background-color:#EEFFCC; border-color:#AACC99">
Wildcard Description
+
Wildcard Description
   −
* any sequence of zero or more characters
+
*         any sequence of zero or more characters
? any one character
+
?         any one character
 
</pre>
 
</pre>
    
<pre style="background-color:#EEFFCC; border-color:#AACC99">
 
<pre style="background-color:#EEFFCC; border-color:#AACC99">
Operator Description
+
Operator Description
   −
AND         Narrow search and retrieve records containing all of the words it separates.
+
AND       Narrow search and retrieve records containing all of the words it separates.
OR Broaden search and retrieve records containing any of the words it separates.
+
OR       Broaden search and retrieve records containing any of the words it separates.
NOT Narrow search and retrieve records that do not contain the term following it.
+
NOT       Narrow search and retrieve records that do not contain the term following it.
( ) Group words or phrases when combining Boolean phrases and to show the order in which relationships should be considered.
+
( )       Group words or phrases when combining Boolean phrases and to show the order in which relationships should be considered.
 
</pre>
 
</pre>
   Line 337: Line 384:  
== OGC ==
 
== OGC ==
   −
* API compatibles OGC: CSW pour la recherche et WCS pour la commande. Voir [[File:EODMS OGC Services.pdf|none]] pour plus d'informations.
+
Voici des exemples d'utilisation des API OGC de SGDOT avec un complet [https://github.com/nrcan-eodms-sgdot-rncan/eodms-ogc-client-py/wiki module Python open source sur GitHub]
   −
=== CSW GetRecords ===
+
=== Découvrez des images / CSW GetRecords ===
    
URL
 
URL
 +
 +
Chaque collecte de données a une URL distincte. Les éléments suivants sont pris en charge:
    
<code style="background-color:#EEFFCC; border-color:#AACC99">https://www.eodms-sgdot.nrcan-rncan.gc.ca/MetaManagerCSW/csw/eodms_catalog</code>
 
<code style="background-color:#EEFFCC; border-color:#AACC99">https://www.eodms-sgdot.nrcan-rncan.gc.ca/MetaManagerCSW/csw/eodms_catalog</code>
   −
HTTP POST - HEADER
+
<code style="background-color:#EEFFCC; border-color:#AACC99">https://www.eodms-sgdot.nrcan-rncan.gc.ca/MetaManagerCSW/csw/eodms_napl_catalog</code>
 +
 
 +
<code style="background-color:#EEFFCC; border-color:#AACC99">https://www.eodms-sgdot.nrcan-rncan.gc.ca/MetaManagerCSW/csw/RCMImageProducts</code>
 +
 
 +
HTTP POST - HEADER (No Username/Password)
 +
 
 +
<pre style="background-color:#EEFFCC; border-color:#AACC99">
 +
<csw:GetRecords service='CSW' version='2.0.2'
 +
  maxRecords='10'
 +
  startPosition='1'
 +
  resultType='results'
 +
  outputFormat='application/xml'
 +
  outputSchema='http://www.opengis.net/cat/csw/2.0.2'
 +
  xmlns='http://www.opengis.net/cat/csw/2.0.2'
 +
  xmlns:csw='http://www.opengis.net/cat/csw/2.0.2'
 +
  xmlns:ogc='http://www.opengis.net/ogc'
 +
  xmlns:ows='http://www.opengis.net/ows'
 +
  xmlns:dc='http://purl.org/dc/elements/1.1/'
 +
  xmlns:dct='http://purl.org/dc/terms/'
 +
  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'>
 +
<csw:Query typeNames='csw:Record'>
 +
  <csw:ElementSetName typeNames='csw:Record'>summary</csw:ElementSetName>
 +
    <csw:Constraint version='1.1.0'>
 +
    <ogc:Filter>
 +
        <ogc:BBOX>
 +
          <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName>
 +
          <gml:Envelope>
 +
            <gml:lowerCorner>-53.0 47.2</gml:lowerCorner>
 +
            <gml:upperCorner>-52.5 47.8</gml:upperCorner>
 +
          </gml:Envelope>
 +
        </ogc:BBOX>
 +
    </ogc:Filter>
 +
  </csw:Constraint>
 +
</csw:Query>
 +
</csw:GetRecords>
 +
</pre>
 +
 
 +
HTTP POST - HEADER (Avec enveloppe SOAP nom d'utilisateur / mot de passe)
 +
 
 +
<pre style="background-color:#EEFFCC; border-color:#AACC99">
 +
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
 +
  <soapenv:Header>
 +
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
 +
        <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd">
 +
            <wsse:Username>#####</wsse:Username>
 +
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">#####</wsse:Password>
 +
        </wsse:UsernameToken>
 +
    </wsse:Security>
 +
  </soapenv:Header>
 +
  <soapenv:Body>
 +
 
 +
<csw:GetRecords service='CSW' version='2.0.2'
 +
  maxRecords='10'
 +
  startPosition='1'
 +
  resultType='results'
 +
  outputFormat='application/xml'
 +
  outputSchema='http://www.opengis.net/cat/csw/2.0.2'
 +
  xmlns='http://www.opengis.net/cat/csw/2.0.2'
 +
  xmlns:csw='http://www.opengis.net/cat/csw/2.0.2'
 +
  xmlns:ogc='http://www.opengis.net/ogc'
 +
  xmlns:ows='http://www.opengis.net/ows'
 +
  xmlns:dc='http://purl.org/dc/elements/1.1/'
 +
  xmlns:dct='http://purl.org/dc/terms/'
 +
  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'>
 +
<csw:Query typeNames='csw:Record'>
 +
  <csw:ElementSetName typeNames='csw:Record'>summary</csw:ElementSetName>
 +
    <csw:Constraint version='1.1.0'>
 +
    <ogc:Filter>
 +
        <ogc:BBOX>
 +
          <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName>
 +
          <gml:Envelope>
 +
            <gml:lowerCorner>-53.0 47.2</gml:lowerCorner>
 +
            <gml:upperCorner>-52.5 47.8</gml:upperCorner>
 +
          </gml:Envelope>
 +
        </ogc:BBOX>
 +
    </ogc:Filter>
 +
  </csw:Constraint>
 +
</csw:Query>
 +
</csw:GetRecords>
   −
<pre style="background-color:#EEFFCC; border-color:#AACC99"><csw:GetRecords service='CSW' version='2.0.2' maxRecords='10' startPosition='1' resultType='results'
+
</soapenv:Body>
&#x09;outputFormat='application/xml' outputSchema='http://www.opengis.net/cat/csw/2.0.2'
+
</soapenv:Envelope>
&#x09;xmlns='http://www.opengis.net/cat/csw/2.0.2' xmlns:csw='http://www.opengis.net/cat/csw/2.0.2'
+
</pre>
&#x09;xmlns:ogc='http://www.opengis.net/ogc' xmlns:ows='http://www.opengis.net/ows'
  −
&#x09;xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:dct='http://purl.org/dc/terms/'
  −
&#x09;xmlns:gml='http://www.opengis.net/gml' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
  −
&#x09;xsi:schemaLocation='http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd'>
  −
&#x09;<csw:Query typeNames='csw:Record'>
  −
&#x09;&#x09;<csw:ElementSetName typeNames='csw:Record'>summary</csw:ElementSetName>  
  −
&#x09;</csw:Query>  
  −
</csw:GetRecords></pre>
      
HTTP RESPONSE
 
HTTP RESPONSE
Line 403: Line 528:  
</pre>
 
</pre>
   −
=== CSW GetRecordById ===
+
=== Chercher une seule image / CSW GetRecordById ===
    
URL (GET REQUEST)
 
URL (GET REQUEST)
Line 446: Line 571:  
</pre>
 
</pre>
   −
=== WCS DescribeCoverage ===
+
=== Commandez cette image / WCS DescribeCoverage ===
 +
 
 +
Le message WCS DescribeCoverage est utilisé pour la commande et peut être envoyé sous forme de demande POST ou GET (recommandée).
    
URL (GET REQUEST)
 
URL (GET REQUEST)
Line 546: Line 673:  
&#x09;&#x09;</wcs:ServiceParameters>
 
&#x09;&#x09;</wcs:ServiceParameters>
 
&#x09;</wcs:CoverageDescription>
 
&#x09;</wcs:CoverageDescription>
</wcs:CoverageDescriptions></pre>
+
</wcs:CoverageDescriptions>
 +
</pre>
    
=== Exemple de commande de bout en bout (avec Python) ===
 
=== Exemple de commande de bout en bout (avec Python) ===
   −
Découvrez notre [https://github.com/nrcan-eodms-sgdot-rncan/eodms-ogc-client-py/wiki module Python Open Source sur GitHub] pour rechercher les services EODMS_Catalog CSW et WCS afin de commander un Radarsat-1. image de l'EODMS.  
+
Découvrez notre [https://github.com/nrcan-eodms-sgdot-rncan/eodms-ogc-client-py/wiki module Python Open Source sur GitHub] pour rechercher les services CSW et WCS afin de commander des images de l'EODMS.  
    
== Automatisation web avec Katalon ==
 
== Automatisation web avec Katalon ==

Navigation menu

GCwiki