No he encontrado ninguna utilidad de línea de comandos específica que pueda informar si un tiff está en mosaico o rayado. Al menos no directamente o en una forma grepable como TILED=YES
.
Sin gdalinfo
embargo, debe haber suficiente información para tomar esa decisión.
Tengo una escena de Landsat, cada una hecha con gdal_translate:
landsat_tiled.tif
: -co TILED=YES
landsat_notiled.tif
: -co TILED=NO
gdalinfo landsat_tiled.tif | grep -E 'Block=|Size is'
>>Size is 7621, 7791
>>Band 1 Block=256x256 Type=UInt16, ColorInterp=Gray
gdalinfo landsat_notiled.tif | grep -E 'Block=|Size is'
>>Size is 7621, 7791
>>Band 1 Block=7621x1 Type=UInt16, ColorInterp=Gray
Por lo tanto, es obvio que los tiffs en mosaico tienen un tamaño de bloque Y mayor que 1. Los tiffs rayados tienen un tamaño de bloque X igual a XSize y un tamaño de bloque Y igual a 1.
Esto debería ser suficiente para determinar si están rayados (no en mosaico).
gdalinfo landsat_notiled.tif | grep -o 'Block=.*x1\s'
>>Block=7621x1
Si esa llamada devuelve algo, puede estar seguro de que NO está en mosaico.
Esto no aborda los tiffs muy pequeños, que pueden tener toda la matriz de ráster almacenada en un solo bloque. Entonces YMMV en esos ...
gdal_translate -srcwin 0 0 50 1 -co tiled=YES input.tif test_tiled.tif
.gdalinfo
todavía informa, porBlock=256x256
lo que su método también funcionará para pequeños tiffs.