<div dir="ltr">Hi, I'm a newbie to QGIS, with several years of experience with other GIS software, particularly ESRI MapObjects and Atlas GIS.<br><br>I've also been a software developer (mainly Windows desktop applications) for many years. I'm concurrently learning Python in order to interact with the QGIS API.<br><br>My latest direction from my employer is to create software that batch-processes spatial data (for now, ESRI shapefiles) non-interactively, with "Python and QGIS".<br><br>(I don't actually know yet whether I should be looking at QGIS's API for purely non-interactive processing, or at GDAL/OGR, as suggested by someone on Twitter.)<br><br>I'd like to ask some questions in order to guide my learning. I ask for your pardon in advance as some of my terminology may still be ESRI-centric.<br><br>I have been tasked with creating a routine that does the following:<br><br>    1) reads in as parameters (i) the filename of one shapefile, representing an overlay layer; (ii) one or more filenames of shapefiles, representing target layers; and (iii) an output folder name;<br>    2) loads the overlay and target layers, reprojecting each as necessary into a common projection (we're expecting to convert Albers projection-NAD1983 to Transverse_Mercator-NAD_1927_UTM_Zone_10N);<br>    3) for each target layer, find all features that touch any feature in the overlay layer, and export all of these to a new shapefile in the output folder.<br>    4) This would be called by another Windows desktop application.<br><br>The ideal solution that my employer and I are seeking would be a Windows executable or DLL, with minimal additional installation overhead. I am aware of py2exe and cx_Freeze, and I've seen the "Python on Windows FAQ".<br><br>Is this a feasible project? Is it a wise project?<br><br>Does accessing the QGIS API launch a separate window / do I have to launch a new and visible process in order to access QGIS via API calls?<br><br>Should I be looking at GDAL/OGR for non-interactive background work instead?<br><br>What other considerations should I be aware of?<br><br>Thanks for your time and attention.<br><br>Regards,<br>Willson de Veas</div>