[gdal-dev] Rasterize command works from utility but not Python binding
Even Rouault
even.rouault at spatialys.com
Wed Jun 27 08:58:26 PDT 2018
On mercredi 27 juin 2018 14:51:23 CEST Deschamps, Benjamin (EC) wrote:
> Hi everyone,
>
> I am burning values from a KMZ into an existing GeoTiff. When I do it on the
> command line using gdal_rasterize (2.1.3), it works correctly:
>
> gdal_rasterize -burn 0 -dialect SQLITE -sql "SELECT * FROM MyLayer WHERE
> (Name IS NOT '01') AND (Name IS NOT '02')" myfile.kmz existingfile.tif
>
> But when I try the same, from the Python bindings it fails:
>
> query = "SELECT * FROM IceLayer WHERE (Name IS NOT '01') AND (Name IS NOT
> '02')" myoptions = gdal.RasterizeOptions(burnValues=0, SQLStatement=query,
> SQLDialect="SQLITE") gdal.Rasterize(tif, kmz, options=myoptions)
>
> With:
>
> Traceback (most recent call last):
> File "my_script.py", line 65, in <module>
> create_ids_mask(lcc, working_dir, buffered_coastline)
> File "my_script.py", line 54, in my_function
> gdal.Rasterize(tif, kmz, options=myoptions)
> File "c:\Python36\lib\site-packages\osgeo\gdal.py", line 1085, in
> Rasterize return wrapper_GDALRasterizeDestName(destNameOrDestDS, srcDS,
> opts, callback, callback_data) File
> "c:\Python36\lib\site-packages\osgeo\gdal.py", line 3050, in
> wrapper_GDALRasterizeDestName return
> _gdal.wrapper_GDALRasterizeDestName(*args)
> RuntimeError: Cannot create X:\localpath\existingfile.tif
>
> I checked that the paths are correctly passed. What else could be the issue?
That error message comes from the code path where it tries to create a new
output file, not update an existing one.
What is 'tif' here ? A string or a GDAL dataset handle (in update mode) ?
I presume it is a filename, and that there's still a file descriptor opened on
it, which prevents it to be deleted. When you pass a filename, GDAL will not
try to update the file, but will recreate a new one. That said, I'm surprised
you didn't get a prior error about missing resolution or size.
Even
--
Spatialys - Geospatial professional services
http://www.spatialys.com
More information about the gdal-dev
mailing list