Leia as visões gerais do TIF usando o rasterio


9

Estou lendo uma janela de um tif usando rasterio. Como utilizo as visões gerais disponíveis para obter uma versão reduzida dos dados em vez de ler na resolução real?

Agora eu estou lendo uma janela como esta:

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

O que eu quero fazer:

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)

Alguma ideia? Observe que, no meu caso, as visões gerais são internas , mas qualquer solução que leia as visões gerais é ótima.

Respostas:


6

Respondida em https://github.com/mapbox/rasterio/issues/710 .

Exemplo de leitura de uma janela 30x30 em uma matriz 3x3 onde as visões gerais (se disponíveis) são exibidas.

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)

Deixe-me saber se isso funciona para você.


1
O rasterio sempre usa visões gerais, se disponível? Se as visões gerais perfeitamente relevantes não estiverem disponíveis, quais algoritmos o rasterio usa para reamostrar e é selecionável? (Nota eg vizinho mais próximo e dar espaço-média visivelmente diferentes saídas.) ..Perhaps devem consultar docs GDAL ao comportamento RasterIO padrão inferir ..
benjimin
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.