[gdal-dev] How to wrap a C++ library using GDAL in a Python library?
Alex HighViz
alexhighviz at hotmail.com
Tue Dec 8 10:17:43 PST 2020
Hi Paul,
Yes there is a generic, "how do I expose a C++ library to Python users" question. But there is a GDAL specific issue that the main inputs and outputs in my library are raster layers, and I am not sure how to pass those. Especially if my library is using GDAL and the user is using GDAL through Python. I can make my interface completely based on filenames, but that seems inefficient. Is this not a more commonly encountered problem?
Thanks, Alex
Get Outlook for Android<https://aka.ms/ghei36>
________________________________
From: Paul Harwood <runette at gmail.com>
Sent: Tuesday, December 8, 2020 4:46:07 PM
To: Alex HighViz <alexhighviz at hotmail.com>
Cc: gdal-dev at lists.osgeo.org <gdal-dev at lists.osgeo.org>
Subject: Re: [gdal-dev] How to wrap a C++ library using GDAL in a Python library?
I may have misunderstood but I think you are asking the wrong community.
You can take your own C++ library and make it available to a Python library - see https://docs.python.org/3/extending/extending.html etc - but this is not the community to ask for advice about that. You can, of course, access GDAL in that c++ library using the c++ API but I don't think that doing so would change how you expose the API from your library in Python ...
Perhaps you need to make your question more specific?
On Tue, 8 Dec 2020 at 12:37, Alex HighViz <alexhighviz at hotmail.com<mailto:alexhighviz at hotmail.com>> wrote:
Hello,
Could somebody please put me on the right track with the following problem?
I have a C++ library that makes use of GDAL for processing raster maps and I would like to wrap some of its features into a Python library to make it accessible to a wider community.
I would like my library to present functions that take rasters as input and produce rasters as outputs. I can modify the C++ side to have the functions work on GDALRasterBands, GDALDatasets, or just on filenames. From my perspective I'd prefer to write any wrapping / boiler plate in C++ and have the Python parts as small as possible.
I know this question has been asked before here, but I don't recall the answer and could not find it again. A simple example of "best practice" would be ideal.
With many thanks, Alex
_______________________________________________
gdal-dev mailing list
gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>
https://lists.osgeo.org/mailman/listinfo/gdal-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20201208/8172b630/attachment-0001.html>
More information about the gdal-dev
mailing list