растерио базовый объект в питоне? - PullRequest
0 голосов
/ 23 сентября 2018

Я хотел бы создать несколько простых растровых тестовых данных, используя rasterio, которые я смогу позже обработать.Я не хочу записывать / читать из каких-либо файлов с диска, но вместо этого хотел бы работать с переменными / в объектах памяти.Мне также не нужно давать этому растру прогноз по времени.Например, для растров типа asc это может быть так просто:

ncols 4
nrows 4
xllcorner 20
yllcorner 8.5
cellsize 0.5
nodata_value -9999
0.1 0.2 0.3 0.4
0.2 0.3 0.4 0.5
0.3 0.4 0.5 0.6
0.4 0.5 0.6 0.7

Поддерживает ли rasterio любые объекты, которые я могу заполнить вышеуказанными данными, не беспокоясь о записи или чтении из растрафайлы?Спасибо

1 Ответ

0 голосов
/ 25 сентября 2018

Я думаю, rasterio.io.MemoryFile может работать для вашего приложения ( файл памяти документов ).Для вашего примера это может выглядеть примерно так:

from rasterio.io import MemoryFile
from affine import Affine

with MemoryFile() as memfile:
    transform = Affine(0.5, 0, 20, 0, 0.5, 8.5)
    data = np.arange(16).reshape(1, 4, 4) / 10
    meta = {"count": 1, "width": 4, "height": 4, "transform": transform, "nodata": -9999, "dtype": "float64"}
    with memfile.open(driver='GTiff', **meta) as dataset:
        dataset.write(data)
...