При использовании rasterio
я могу сделать один из следующих способов, чтобы получить одну полосу растра:
import rasterio
import numpy as np
dataset = rasterio.open('filepath')
# note that if you have the full dataset read in with image = dataset.read() you can do:
image = dataset.read()
print(image.shape)
red_band = image[2, :, :] # this
print(red_band.shape)
# which is equal to simply doing
red_band_read = dataset.read(3)
print(red_band_read.shape)
if np.array_equal(red_band_read, red_band):
print('They are the same.')
И она распечатает:
(8, 250, 250)
(250, 250)
(250, 250)
They are the same.
НоМне любопытно, что лучше?Я полагаю, что индексирование в массив массивов намного быстрее, чем чтение из файла, но наличие некоторых из этих больших спутниковых снимков непозволительно увеличивает объем памяти.Есть ли веские причины для того или другого?