GDAL_CALC(1) GDAL GDAL_CALC(1) NAME gdal_calc - Command line raster calculator with numpy syntax. SYNOPSIS gdal_calc.py --calc=expression --outfile=out_filename [-A filename] [--A_band=n] [-B...-Z filename] [other_options] DESCRIPTION Command line raster calculator with numpy syntax. Use any basic arith- metic supported by numpy arrays such as +, -, *, and \ along with logi- cal operators such as >. Note that all files must have the same dimen- sions (unless extent option is used), but no projection checking is performed (unless projectionCheck option is used). --help Show this help message and exit -h The same as --help. --calc=expression Calculation in numpy syntax using +, -, /, *, or any numpy array functions (i.e. log10()). Multiple --calc options can be listed to produce a multiband file (GDAL >= 3.2). -A <filename> Input gdal raster file, you can use any letter (a-z, A-Z). (lower case supported since GDAL 3.3) A letter may be repeated (GDAL >= 3.3). The effect will be to create a 3-dim numpy array. In such a case, the calculation formula must use this input as a 3-dim array and must return a 2D array (see examples below). In case the calculation does not return a 2D array an error would be generated. --A_band=<n> Number of raster band for file A (default 1). --outfile=<filename> Output file to generate or fill. --NoDataValue=<value> Output NoDataValue (default datatype specific value). To indi- cate not setting a NoDataValue use --NoDataValue=none (GDAL >= 3.3) NOTE: Using the Python API: None value will indicate default datatype specific value. 'none' value will indicate not set- ting a NoDataValue. --hideNoData New in version 3.3. Ignores the input bands NoDataValue. By default, the input bands NoDataValue are not participating in the calculation. By setting this setting - no special treatment will be performed on the input NoDataValue. and they will be participating in the calculation as any other value. The output will not have a set NoDataValue, unless you explicitly specified a specific value by setting --NoDataValue=<value>. --type=<datatype> Output datatype, must be one of [Int32, Int16, Float64, UInt16, Byte, UInt32, Float32]. NOTE: Despite the datatype set using --type, when doing intermedi- ate aritmethic operations using operands of the same type, the operation result will honor the original datatype. This may lead into unexpected results in the final result. --format=<gdal_format> GDAL format for output file. color-table=<filename> Allows specifying a filename of a color table (or a ColorTable object) (with Palette Index interpretation) to be used for the output raster. Supported formats: txt (i.e. like gdaldem, but color names are not supported), qlr, qml (i.e. exported from QGIS) --extent=<option> New in version 3.3. this option determines how to handle rasters with different ex- tents. this option is mutually exclusive with the projwin op- tion, which is used for providing a custom extent. for all the options below the pixel size (resolution) and SRS (Spatial Ref- erence System) of all the input rasters must be the same. ig- nore (default) - only the dimensions of the rasters are com- pared. if the dimensions do not agree the operation will fail. fail - the dimensions and the extent (bounds) of the rasters must agree, otherwise the operation will fail. union - the ex- tent (bounds) of the output will be the minimal rectangle that contains all the input extents. intersect - the extent (bounds) of the output will be the maximal rectangle that is contained in all the input extents. --projwin <ulx> <uly> <lrx> <lry> New in version 3.3. this option provides a custom extent for the output, it is mutu- ally exclusive with the extent option. --projectionCheck New in version 3.3. By default, no projection checking will be performed. By set- ting this option, if the projection is not the same for all bands then the operation will fail. --creation-option=<option> Passes a creation option to the output format driver. Multiple options may be listed. See format specific documentation for le- gal creation options for each format. --co=<option> The same as creation-option. --allBands=[a-z, A-Z] Process all bands of given raster (a-z, A-Z). Requires a single calc for all bands. --overwrite Overwrite output file if it already exists. --debug Print debugging information. --quiet Suppress progress messages. PYTHON OPTIONS New in version 3.3. The following options are available by using function the python inter- face of gdal_calc. They are not available using the command prompt. user_namespace A dictionary of custom functions or other names to be available for use in the Calc expression. return_ds If enabled, the output dataset would be returned from the func- tion and not closed. color_table Allows specifying a ColorTable object (with Palette Index inter- pretation) to be used for the output raster. EXAMPLE Add two files together: gdal_calc.py -A input1.tif -B input2.tif --outfile=result.tif --calc="A+B" Average of two layers: gdal_calc.py -A input1.tif -B input2.tif --outfile=result.tif --calc="(A+B)/2" NOTE: In the previous example, beware that if A and B inputs are of the same datatype, for example integers, you may need to force the con- version of one of the operands before the division operation. gdal_calc.py -A input.tif -B input2.tif --outfile=result.tif --calc="(A.astype(numpy.float64) + B) / 2" Add three files together (two options with the same result): gdal_calc.py -A input1.tif -B input2.tif -C input3.tif --outfile=result.tif --calc="A+B+C" New in version 3.3. gdal_calc.py -A input1.tif -A input2.tif -A input3.tif --outfile=result.tif --calc="numpy.sum(A,axis=0)". Average of three layers (two options with the same result): gdal_calc.py -A input1.tif -B input2.tif -C input3.tif --outfile=result.tif --calc="(A+B+C)/3" New in version 3.3. gdal_calc.py -A input1.tif -A input2.tif -A input3.tif --outfile=result.tif --calc="numpy.average(a,axis=0)". Maximum of three layers (two options with the same result): gdal_calc.py -A input1.tif -B input2.tif -C input3.tif --outfile=result.tif --calc="numpy.max((A,B,C),axis=0)" New in version 3.3. gdal_calc.py -A input1.tif -A input2.tif -A input3.tif --outfile=result.tif --calc="numpy.max(A,axis=0)" Set values of zero and below to null: gdal_calc.py -A input.tif --outfile=result.tif --calc="A*(A>0)" --NoDataValue=0 Using logical operator to keep a range of values from input: gdal_calc.py -A input.tif --outfile=result.tif --calc="A*logical_and(A>100,A<150)" Work with multiple bands: gdal_calc.py -A input.tif --A_band=1 -B input.tif --B_band=2 --outfile=result.tif --calc="(A+B)/2" --calc="B*logical_and(A>100,A<150)" AUTHOR Chris Yesson <chris dot yesson at ioz dot ac dot uk>, Etienne Tourigny <etourigny dot dev at gmail dot com> COPYRIGHT 1998-2021 Dec 27, 2021 GDAL_CALC(1)
Generated by dwww version 1.14 on Fri Jan 24 09:35:54 CET 2025.