Puo' essere utile tagliare un granule di Sentinel sulla base di uno shape file
Tutte le bande sono nel folder immagini mentre il risultato sara' salvato nel folder rst
Nonostante sia Python e' uno script molto veloce
import os
import fiona
import rasterio
from rasterio.mask import mask
bandPath = './immagini/'
bandNames = os.listdir(bandPath)
aoiFile = fiona.open('./taglio.shp')
aoiGeom = [aoiFile[0]['geometry']]
for band in bandNames:
rasterPath = os.path.join(bandPath,band)
rasterBand = rasterio.open(rasterPath)
outImage, outTransform = mask(rasterBand, aoiGeom, crop=True)
outMeta = rasterBand.meta
outMeta.update({"driver": 'JP2OpenJPEG',
"height": outImage.shape[1],
"width": outImage.shape[2],
"transform": outTransform})
outPath = os.path.join('./rst',band)
outRaster = rasterio.open(outPath, "w", **outMeta)
outRaster.write(outImage)
outRaster.close()
Nessun commento:
Posta un commento