[QGIS-Developer] newbie questions re: exe or dll to batch-process shapefiles

Willson de Veas deveaswj at gmail.com
Thu Dec 28 09:34:47 PST 2017

Hi, I'm a newbie to QGIS, with several years of experience with other GIS
software, particularly ESRI MapObjects and Atlas GIS.

I've also been a software developer (mainly Windows desktop applications)
for many years. I'm concurrently learning Python in order to interact with

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".

(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.)

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.

I have been tasked with creating a routine that does the following:

    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;
    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);
    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
    4) This would be called by another Windows desktop application.

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".

Is this a feasible project? Is it a wise project?

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?

Should I be looking at GDAL/OGR for non-interactive background work instead?

What other considerations should I be aware of?

Thanks for your time and attention.

Willson de Veas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20171228/c142df87/attachment.html>

More information about the QGIS-Developer mailing list