Đọc từ tổng quan TIF bằng rasterio


9

Tôi đang đọc một cửa sổ của một tif bằng rasterio. Làm cách nào để sử dụng các tổng quan có sẵn để có được một phiên bản dữ liệu được lấy mẫu thay vì đọc ở độ phân giải thực?

Ngay bây giờ tôi đang đọc một cửa sổ như thế này:

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

Những gì tôi muốn làm:

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)

Có ý kiến ​​gì không? Lưu ý rằng trong trường hợp của tôi, tổng quan là nội bộ , nhưng bất kỳ giải pháp nào đọc được tổng quan là tuyệt vời.

Câu trả lời:


6

Đã trả lời tại https://github.com/mapbox/rasterio/issues/710 .

Ví dụ đọc một cửa sổ 30x30 vào một mảng 3x3 trong đó tổng quan (nếu có) sẽ khởi động.

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)

Hãy cho tôi biết nếu điều đó làm việc cho bạn.


1
Có rasterio luôn sử dụng tổng quan nếu có? Nếu tổng quan hoàn toàn phù hợp là không có sẵn, rasterio sử dụng thuật toán nào để lấy mẫu lại, và nó có thể được chọn không? (Lưu ý ví dụ gần nhất-láng giềng và khu vực, trung bình Hãy cho kết quả đầu ra đáng chú ý khác nhau.) ..Perhaps nên tham khảo tài liệu GDAL để suy luận hành vi rasterio mặc định ..
benjimin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.