[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