Ist es möglich, den Datentyp (Byte, Float32) bei Verwendung von gdal.Rasterize in gdal 2.1 zu setzen? Derzeit verwende ich gdal.Translate, um in Byte zu konvertieren, aber das ist ineffizient.gdal 2.1 Rasterize
tif = my/target.tif
shp = my/source.shp
tiftemp = my/temp/solution.tif
rasterizeOptions = gdal.RasterizeOptions(xRes=20, yRes=20, allTouched=True etc.)
gdal.Rasterize(tiftemp, shp, options=rasterizeOptions)
#translate to Byte data type (not supported by Rasterize?)
gdal.Translate(tif, tiftemp, outputType=gdal.GDT_Byte,
creationOptions=['COMPRESS=PACKBITS')
Ich bin mir bewusst, dass es möglich
subprocess.check_call('gdal_rasterize', '-ot', 'byte' ...)
zu verwenden ist, aber ich würde es vorziehen, um dies zu vermeiden, wenn möglich. Irgendwelche Ideen?
Solange 'tifftemp' - die Datenmenge in dem Sie Rastern , ist auf den richtigen Typ eingestellt, sollten Sie in Ordnung sein. – Benjamin
gdal.RasterizeOptions (outputType = gdal.GDT_Byte) löst TypeError aus: RasterizeOptions() hat ein unerwartetes Schlüsselwortargument 'outputType' erhalten –