Changes

Jump to navigation Jump to search
3,695 bytes added ,  10:24, 21 December 2019
no edit summary
Line 1: Line 1:  
<multilang>@en|
 
<multilang>@en|
   −
[[Earth_Observation_Data_Management_System_(EODMS)|EODMS]] has several options for API Access and automation i.e. Machine 2 Machine.  
+
== 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]
 
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]
Line 59: Line 61:  
== OGC APIs==
 
== OGC APIs==
   −
The following is a complete end-to-end sample 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 ===
Line 73: Line 75:  
<code style="background-color:#EEFFCC; border-color:#AACC99">https://www.eodms-sgdot.nrcan-rncan.gc.ca/MetaManagerCSW/csw/RCMImageProducts</code>
 
<code style="background-color:#EEFFCC; border-color:#AACC99">https://www.eodms-sgdot.nrcan-rncan.gc.ca/MetaManagerCSW/csw/RCMImageProducts</code>
   −
HTTP POST - HEADER
+
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">
 
<pre style="background-color:#EEFFCC; border-color:#AACC99">
Line 101: Line 119:  
</soapenv:Body>
 
</soapenv:Body>
 
</soapenv:Envelope>
 
</soapenv:Envelope>
   
</pre>
 
</pre>
   Line 301: 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] use the CSW and WCS APIs to order images from 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 ==
    
[[Earth_Observation_Data_Management_System_(EODMS)|SGDOT]] propose plusieurs options pour l’API Access et automation, à savoir Machine 2 Machine.  
 
[[Earth_Observation_Data_Management_System_(EODMS)|SGDOT]] propose plusieurs options pour l’API Access et automation, à savoir Machine 2 Machine.  
Line 366: Line 384:  
== OGC ==
 
== OGC ==
   −
* API compatibles OGC: CSW pour la recherche et WCS pour la commande.
+
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]
    
=== Découvrez des images / CSW GetRecords ===
 
=== Découvrez des images / CSW GetRecords ===
Line 380: Line 398:  
<code style="background-color:#EEFFCC; border-color:#AACC99">https://www.eodms-sgdot.nrcan-rncan.gc.ca/MetaManagerCSW/csw/RCMImageProducts</code>
 
<code style="background-color:#EEFFCC; border-color:#AACC99">https://www.eodms-sgdot.nrcan-rncan.gc.ca/MetaManagerCSW/csw/RCMImageProducts</code>
   −
HTTP POST - HEADER
+
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">
 
<pre style="background-color:#EEFFCC; border-color:#AACC99">
<csw:GetRecords service='CSW' version='2.0.2' maxRecords='10' startPosition='1' resultType='results'  
+
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
&#x09;outputFormat='application/xml' outputSchema='http://www.opengis.net/cat/csw/2.0.2'  
+
  <soapenv:Header>
&#x09;xmlns='http://www.opengis.net/cat/csw/2.0.2' xmlns:csw='http://www.opengis.net/cat/csw/2.0.2'  
+
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
&#x09;xmlns:ogc='http://www.opengis.net/ogc' xmlns:ows='http://www.opengis.net/ows'  
+
        <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd">
&#x09;xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:dct='http://purl.org/dc/terms/'  
+
            <wsse:Username>#####</wsse:Username>
&#x09;xmlns:gml='http://www.opengis.net/gml' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'  
+
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">#####</wsse:Password>
&#x09;xsi:schemaLocation='http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd'>  
+
        </wsse:UsernameToken>
&#x09;<csw:Query typeNames='csw:Record'>  
+
    </wsse:Security>
&#x09;&#x09;<csw:ElementSetName typeNames='csw:Record'>summary</csw:ElementSetName>  
+
  </soapenv:Header>
&#x09;</csw:Query>  
+
  <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>
 
</csw:GetRecords>
 +
 +
</soapenv:Body>
 +
</soapenv:Envelope>
 
</pre>
 
</pre>
   Line 585: 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) ===

Navigation menu

GCwiki