GDAL-RASTER-SET-TYPE(1)

🌸 GDAL-RASTER-SET-TYPE(1) β€” the GDAL manual, bestie edition 🌸

okay so welcome to the gdal-raster-set-type page, part of the GDAL manual set 🫢 this one is short and sweet and honestly it's giving "glow-up for your pixel types" energy.


✨ NAME ✨

gdal-raster-set-type β€” modify the data type of bands of a raster dataset πŸ’…

Added in version 3.11. yes bestie, she's new-new. ✨


πŸŽ€ SYNOPSIS πŸŽ€

Usage: gdal raster set-type [OPTIONS] <INPUT> <OUTPUT>

Modify the data type of bands of a raster dataset.

Positional arguments:
  -i, --input <INPUT>                                      Input raster datasets [required] [not available in pipelines]
  -o, --output <OUTPUT>                                    Output raster dataset [required] [not available in pipelines]

Common Options:
  -h, --help                                               Display help message and exit
  --json-usage                                             Display usage as JSON document and exit
  --config <KEY>=<VALUE>                                   Configuration option [may be repeated]
  -q, --quiet                                              Quiet mode (no progress bar or warning message) [not available in pipelines]

Options:
  -f, --of, --format, --output-format <OUTPUT-FORMAT>      Output format ("GDALG" allowed) [not available in pipelines]
  --co, --creation-option <KEY>=<VALUE>                    Creation option [may be repeated] [not available in pipelines]
  --overwrite                                              Whether overwriting existing output dataset is allowed [not available in pipelines]
                                                           Mutually exclusive with --append
  --append                                                 Append as a subdataset to existing output [not available in pipelines]
                                                           Mutually exclusive with --overwrite
  --ot, --datatype, --output-data-type <OUTPUT-DATA-TYPE>  Output data type. OUTPUT-DATA-TYPE=UInt8|Int8|UInt16|Int16|UInt32|Int32|UInt64|Int64|CInt16|CInt32|Float16|Float32|Float64|CFloat32|CFloat64 [required]

Advanced Options:
  --if, --input-format <INPUT-FORMAT>                      Input formats [may be repeated] [not available in pipelines]
  --oo, --open-option <KEY>=<VALUE>                        Open options [may be repeated] [not available in pipelines]

like look at that list. the range of datatypes? iconic. the [not available in pipelines] tags absolutely everywhere? very demure, very mindful. πŸ™ˆ


πŸ’– DESCRIPTION πŸ’–

so what does gdal raster set-type actually do, bestie? she forces the output image bands to have a specific data type. that's it, that's the job. πŸ‘‘

BUT β€” and this is the part where you gotta listen β€” values may be truncated or rounded if the output data type is "smaller" than the input one. so if you're squishing Float32 into UInt8 or whatever, your precious little numbers are gonna lose some detail. it's giving "glow-down" for your precision. 😭

also this subcommand is available as a potential step of gdal raster pipeline 🧚 so you can slide it right into a pipeline like it's nothing.


πŸ¦‹ GDALG OUTPUT (ON-THE-FLY / STREAMED DATASET) πŸ¦‹

this program supports serializing the command line as a JSON file using the GDALG output format ✨

then?? you can open the resulting file as a raster dataset using the GDALG: GDAL Streamed Algorithm driver, and it just applies the specified pipeline in a on-the-fly / streamed way. no cap. it's literally streamed, it's literally on-the-fly. 🌈


πŸ‘‘ PROGRAM-SPECIFIC OPTIONS πŸ‘‘

  • --ot, --datatype, --output-data-type <OUTPUT-DATA-TYPE> β€” output data type, among Byte, Int8, UInt16, Int16, UInt32, Int32, UInt64, Int64, CInt16, CInt32, Float32, Float64, CFloat32, CFloat64. ✨

⭐ STANDARD OPTIONS ⭐

  • --co, --creation-option <NAME>=<VALUE> β€” okay so lots of formats have one or more optional creation options that control the particulars of the file being created. for instance, the GeoTIFF driver supports creation options to control compression, and whether the file should be tiled. πŸŽ€ may be repeated. πŸ” the creation options available vary by format driver, and some simple formats have no creation options at all. a list of options supported for a format can be listed with the --formats command line option, but the documentation for the format is the definitive source of information on driver creation options. see Raster drivers format specific documentation for legal creation options for each format. πŸ’œ
  • -f, --of, --format, --output-format <OUTPUT-FORMAT> β€” which output raster format to use. allowed values may be given by:
gdal --formats | grep raster | grep rw | sort

(yes, that's the actual command, copy it exactly, don't freestyle it bestie πŸ’…)

  • --overwrite β€” allow the program to overwrite an existing target file or dataset. otherwise, by default, gdal errors out if the target file or dataset already exists. ⚠️ so like, if you don't pass this, she WILL yell at you.

πŸ”₯ RETURN STATUS CODE πŸ”₯

  • the program returns status code 0 in case of success 🫢
  • and non-zero in case of error 😭
quick note bestie: non-blocking errors that get emitted as warnings are considered a successful execution. so a warning is not a fail. periodt.

πŸ“ EXAMPLES πŸ“

🧚 Example 1: Convert to Float32 data type

$ gdal raster set-type --datatype Float32 byte.tif float32.tif --overwrite

look at her go. byte.tif goes in, float32.tif comes out, --overwrite keeps it drama-free. slay. πŸ’–


πŸ’œ AUTHOR πŸ’œ

Even Rouault <even.rouault@spatialys.com> β€” the main character, honestly. πŸ‘‘


1998-2026


and that's the whole page, bestie!! πŸŽ€ this was GDAL-RASTER-SET-TYPE(1) from the GDAL manual, dated Aug 18, 2026, and it ate, no crumbs left. go forth and convert your datatypes responsibly. βœ¨πŸ’…πŸ¦‹

πŸ“¦ where this page comes from