GEOTIFCP(1)

πŸ’– GEOTIFCP πŸ’–

okay bestie, sit down, grab a strawberry πŸ“, because i'm about to put you onto geotifcp from the libgeotiff Manual Pages and honestly? it's giving main character energy for anyone who moves TIFFs around. it's literally a copy tool but with the GeoTIFF metadata glow-up attached. periodt. ✨


🌸 NAME 🌸

geotifcp β€” copy a TIFF but with updated GeoTIFF metadata. no cap, that's the whole job. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

geotifcp [options] [-e esri_worldfile] [-g metadata] input output

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so first thing: geotifcp is identical in function to the LIBTIFF program tiffcp, bestie. same energy, same moves. BUT. it has one extra little superpower: if you use the -g option, the GeoTIFF information from the file gets installed into the output file. iconic.

and the -e worldfile option? that one overrides the tiepoint and scale information from the metadata file, based on whatever is inside the ESRI worldfile. the way it just rewrites that info? obsessed. 😭

if you don't use the -g option, the geotiff information from the source file is preserved in the new output file. so like, nothing gets lost, it just gets carried over. safe. 🫢

geotifcp also inherits all the other file-transformation capabilities of the tiffcp program, so if you want help on the additional parameters, just give the command:

% geotifcp -h

and the metadata format? it's the same format described over in the listgeo(1) program. normally, metadata files for use with geotifcp are generated from a similar file using listgeo, and then you hand-edit them as required. yes bestie, by hand. it's a whole craft. ✨


✨ OPTIONS ✨

  • -g file β€” install GeoTIFF metadata from file
  • -4 proj4_str β€” install GeoTIFF metadata from a proj4 string
  • -e file β€” install positioning info from the ESRI Worldfile file
  • -a β€” append to output instead of overwriting
  • -8 β€” write BigTIFF instead of the default ClassicTIFF
  • -o offset β€” set the initial directory offset
  • -p contig β€” pack samples contiguously (like RGBRGB...)
  • -p separate β€” store samples separately (like RRR...GGG...BBB...)
  • -s β€” write output in strips
  • -t β€” write output in tiles
  • -i β€” ignore read errors
  • -d β€” truncate 8 bitspersample to 4bitspersample
  • -r # β€” make each strip have no more than # rows
  • -w # β€” set output tile width (in pixels)
  • -l # β€” set output tile length (in pixels)
  • -f lsb2msb β€” force lsb-to-msb FillOrder for output
  • -f msb2lsb β€” force msb-to-lsb FillOrder for output
  • -c lzw[:opts] β€” compress output with Lempel-Ziv & Welch encoding
  • -c zip[:opts] β€” compress output with deflate encoding
  • -c jpeg[:opts] β€” compress output with JPEG encoding
  • -c packbits β€” compress output with packbits encoding
  • -c g3[:opts] β€” compress output with CCITT Group 3 encoding
  • -c g4 β€” compress output with CCITT Group 4 encoding
  • -c none β€” use no compression algorithm on output

🌈 Group 3 options 🌈

  • 1d β€” use default CCITT Group 3 1D-encoding
  • 2d β€” use optional CCITT Group 3 2D-encoding
  • fill β€” byte-align EOL codes

for example, -c g3:2d:fill gets you G3-2D-encoded data with byte-aligned EOLs. slay. πŸ’…


πŸ”₯ JPEG options πŸ”₯

  • # β€” set compression quality level (0-100, default 75)
  • r β€” output color image as RGB rather than YCbCr

for example, -c jpeg:r:50 gets you JPEG-encoded RGB data with 50% comp. quality. yes, half the quality, all of the vibes. 😌


πŸ’œ LZW and deflate options πŸ’œ

  • # β€” set predictor value

for example, -c lzw:2 gets you LZW-encoded data with horizontal differencing. horizontal differencing! she's different like that. πŸ’œ


πŸ‘‘ SEE ALSO πŸ‘‘

go read those too, bestie, they're the supporting cast and they ate. πŸŽ€


and that's the whole page, no skips, no summarising, every single flag accounted for. iykyk. πŸ’–

mwah πŸ’‹ this whole thing is libgeotiff 1.4.1 energy, dated August 2016 β€” shoutout to the libgeotiff Manual Pages for the source material, and to GEOTIFCP(1) for being the moment. byeee πŸ¦‹