Baca dari ikhtisar TIF menggunakan rasterio


9

Saya membaca jendela tif menggunakan rasterio. Bagaimana cara saya memanfaatkan ikhtisar yang tersedia untuk mendapatkan versi data yang disampel sampel daripada membaca pada resolusi yang sebenarnya?

Saat ini saya sedang membaca jendela seperti ini:

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

Apa yang ingin saya lakukan:

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)

Ada ide? Perhatikan bahwa dalam kasus saya ikhtisar bersifat internal , tetapi solusi apa pun yang membaca ikhtisar bagus.

Jawaban:


6

Dijawab di https://github.com/mapbox/rasterio/issues/710 .

Contoh membaca jendela 30x30 ke dalam array 3x3 di mana ikhtisar (jika tersedia) akan muncul.

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)

Beri tahu saya jika itu berhasil untuk Anda.


1
Apakah rasterio selalu menggunakan ikhtisar jika tersedia? Jika ikhtisar yang sangat relevan tidak tersedia, algoritma apa yang digunakan rasterio untuk melakukan pengujian ulang, dan apakah itu dapat dipilih? (Catatan misalnya tetangga terdekat-dan daerah-averaging memberi output terasa berbeda.) ..Perhaps harus merujuk ke dokumen GDAL untuk mengambil kesimpulan perilaku rasterio default ..
benjimin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.