<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FR-CA" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-CA">Hi all,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">I'm unable to use any GDAL algorithm in a standalone script (QGIS 3.12.1 on Windows 10). All processing.run(native: ) and processing.run(saga: ) algorithms work without any problem, but when using a processing.run(gdal:
 ) algorithms, I only get an empty result (no error). However, the same processing(gdal: ) algorithm works when I'm using the python console within QGIS.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">Thinking that it may be related to environment variables, I used os.environ inside QGIS' python console to see what variables were loaded, then loaded the exact same ones in my standalone script but it didn't work. I
 asked on StackOverflow but I’m still looking for a solution. I tried on couple QGIS’ version and different computers with always the same result. I suppose I must be missing something in my imports.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"> <o:p></o:p></span></p>
<p class="MsoNormal"><a href="https://gis.stackexchange.com/questions/359589/no-result-with-processing-rungdal-in-standalone-qgis-script"><span lang="EN-CA">https://gis.stackexchange.com/questions/359589/no-result-with-processing-rungdal-in-standalone-qgis-script</span></a><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><a href="https://github.com/qgis/QGIS/issues/38036"><span lang="EN-CA">https://github.com/qgis/QGIS/issues/38036</span></a><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">Thanks for any help!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"> <o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span lang="EN-CA">How to Reproduce</span></i></b><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA">Create a py file, change the <i>inpath</i> and
<i>outpath</i> variables and run it with QGIS' python (note that the paths are with an OSGeo4W64 installation at C:/OSGeo4W64):<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">import os</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">os.environ['PATH'] = ";".join([</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">   
</span><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">"C:/OSGeo4W64/apps/qgis/bin",</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    "C:/OSGeo4W64/apps/Python37",</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    "C:/OSGeo4W64/apps/Python37/Scripts",</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    "C:/OSGeo4W64/apps/qt5/bin",</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    "C:/OSGeo4W64/apps/Python27/Scripts",</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    "C:/OSGeo4W64/bin",</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    "C:/WINDOWS/system32",</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    "C:/WINDOWS",</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    "C:/WINDOWS/system32/WBem",</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    "C:/OSGeo4W64/apps/msys/bin",</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    "C:/OSGeo4W64/apps/Python37/lib/site-packages/pywin32_system32",</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    "C:/OSGeo4W64/apps/Python37/lib/site-packages/numpy/.libs",</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    "C:/OSGeo4W64/apps/Python37/lib/site-packages/scipy/.libs"</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">])</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['PROJ_LIB'] = 'C:/OSGeo4W64/share/proj'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['PYTHONHOME'] = 'C:/OSGeo4W64/apps/Python37'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['PYTHONPATH'] = 'C:/OSGeo4W64/apps/Python37;C:/OSGeo4W64/apps/Python37/Scripts'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['GDAL_DATA'] = 'C:/OSGeo4W64/share/gdal'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['GDAL_DRIVER_PATH'] = 'C:/OSGeo4W64/bin/gdalplugins'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['GDAL_FILENAME_IS_UTF8'] = 'YES'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['QGIS_PREFIX_PATH'] = 'C:/OSGeo4W64/apps/qgis'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['HOME']= 'C:/Users/bouj1a'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['GEOTIFF_CSV'] = 'C:/OSGeo4W64/share/epsg_csv'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['JPEGMEM']= '1000000'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['O4W_QT_BINARIES']= 'C:/OSGeo4W64/apps/Qt5/bin'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['O4W_QT_HEADERS']= 'C:/OSGeo4W64/apps/Qt5/include'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['O4W_QT_LIBRARIES']= 'C:/OSGeo4W64/apps/Qt5/lib'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['O4W_QT_PLUGINS']= 'C:/OSGeo4W64/apps/Qt5/plugins'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['O4W_QT_PREFIX']= 'C:/OSGeo4W64/apps/Qt5'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['O4W_QT_TRANSLATIONS']= 'C:/OSGeo4W64/apps/Qt5/translations'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['OSGEO4W_ROOT']= 'C:/OSGeo4W64'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">os.environ['QT_PLUGIN_PATH']= 'C:/OSGeo4W64/apps/qgis/qtplugins;C:/OSGeo4W64/apps/qt5/plugins'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">os.environ['VSI_CACHE']= 'TRUE'</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New"">os.environ['VSI_CACHE_SIZE']= '1000000'</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New""> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">from qgis.core import *</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">QgsApplication.setPrefixPath("C:/OSGeo4W64/bin", True)</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New""> </span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">import processing</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">from processing.core.Processing import Processing</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">from qgis.analysis import QgsNativeAlgorithms</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">from PyQt5.QtCore import *</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New""> </span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">qgs = QgsApplication([], False)</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">qgs.initQgis()</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">Processing.initialize()</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms())</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New""> </span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">inpath = 'E:/raster.tif'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">outpath = 'E:/polygon.shp'</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New""> </span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">params = {</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    'INPUT':inpath,</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    'BAND':1,</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    'FIELD':'VALUE',</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    'EIGHT_CONNECTEDNESS':False,</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">    'OUTPUT':outpath
</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">}</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">processing.run("gdal:polygonize", params)</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New""> </span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New""># Result (but no file created)</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New"">#> {'OUTPUT': 'E:/polygon.shp'}</span><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"> <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA"> <o:p></o:p></span></p>
<p class="MsoNormal"><b><i><span lang="EN-CA">QGIS and OS versions</span></i></b><span lang="EN-CA"><o:p></o:p></span></p>
<p class="MsoNormal">QGIS 3.12.2-București<o:p></o:p></p>
<p class="MsoNormal">QGIS code revision 8a1fb33<o:p></o:p></p>
<p class="MsoNormal">Compiled against Qt 5.11.2<o:p></o:p></p>
<p class="MsoNormal">Windows 10 (10.0)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto"><span style="color:black;mso-fareast-language:FR-CA"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto"><b><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black;mso-fareast-language:FR-CA">Jean-François Bourdon, ing.f.</span></b><o:p></o:p></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#2E74B5;mso-fareast-language:FR-CA">Analyste en télédétection</span></b><span style="font-size:10.0pt;font-family:"Arial",sans-serif;mso-fareast-language:FR-CA"><br>
<b><span style="color:#2E74B5">Direction des inventaires forestiers</span></b><br>
<b><span style="color:#2E74B5">Ministère des Forêts, de la Faune et des Parcs</span></b><br>
<span style="color:#2E74B5">5700, 4<sup>e</sup> Avenue Ouest, local A-108</span><br>
<span style="color:#2E74B5">Québec (Québec) G1H 6R1</span><br>
<span style="color:#2E74B5">Téléphone : 418 627-8669, poste 4304</span><br>
<b><u><span style="color:#2E74B5"><a href="mailto:jean-francois.bourdon@mffp.gouv.qc.ca">jean-francois.bourdon@mffp.gouv.qc.ca</a></span></u></b>
<br>
</span><span style="mso-fareast-language:FR-CA"><a href="http://www.mffp.gouv.qc.ca/accueil.jsp"><b><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#2E74B5">mffp.gouv.qc.ca</span></b></a></span><o:p></o:p></p>
</div>
</body>
</html>