Lire des aperçus TIF à l'aide de rasterio


9

Je lis une fenêtre d'un tif en utilisant rasterio. Comment utiliser les aperçus disponibles pour obtenir une version sous-échantillonnée des données au lieu de lire à la vraie résolution?

En ce moment, je lis une fenêtre comme celle-ci:

rmin, cmin = source.index(xmin, ymin)
rmax, cmax = source.index(xmax, ymax)
data = source.read(band, window=((rmax, rmin), (cmin, cmax)))

Ce que je veux faire:

rmin, cmin = source.index(xmin, ymin, use_overview=True)
rmax, cmax = source.index(xmax, ymax, use_overview=True)
data = source.read(band, window=((rmax, rmin), (cmin, cmax)), use_overview=True)

Des idées? Notez que dans mon cas, les aperçus sont internes , mais toute solution qui lit les aperçus est excellente.

Réponses:


6

Répondu à https://github.com/mapbox/rasterio/issues/710 .

Exemple de lecture d'une fenêtre 30x30 dans un tableau 3x3 où les aperçus (si disponibles) entrent en jeu.

arr = np.empty(shape=(3, 3)).astype(src.profile['dtype'])
arr = src.read(1, out=arr, window=((0, 30), (0, 30)))
arr array([[9195, 9116, 9134],
           [9158, 9144, 9085],
           [9010, 8935, 9002]], dtype=uint16)

Laissez-moi savoir si cela fonctionne pour vous.


1
Le rasterio utilise-t-il toujours des aperçus s'ils sont disponibles? Si des aperçus parfaitement pertinents ne sont pas disponibles, quels algorithmes rasterio utilise-t-il pour rééchantillonner et est-il sélectionnable? (Note par exemple , le plus proche voisin et donner zone moyenne des sorties sensiblement différentes.) ..Perhaps devrait se référer à GDAL docs de déduire le comportement par défaut rasterio ..
benjimin
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.