我正在尝试运行以下代码:
# -*- coding: utf-8 -*-
"""
Created on Wed May 13 12:43:07 2020
@author: Matthew Farnham
"""
import gdal
import os.path
import rasterio
from rasterio.merge import merge
from rasterio.plot import show
import glob
import os
import numpy as np
with rasterio.Env(GDAL_TIFF_INTERNAL_MASK=True):
PIXELTYPE = 'DEFAULT',
TFW='YES'
directory = r"H:\Projects\Countries\USA\State\Washington_DC\DTM\LIDAR\Datagateway\Unzipped\elevation"
Output = r"E:\Previsico\PERM\Matthew\Previsico\7_Model_Workings\DEM_Mosaic\Data_Testing_Keep_empty\Trial1\Test3.tif"
search_criteria = "*.tif"
q = os.path.join(directory, search_criteria)
print(q)
dem_fps = glob.glob(q)
print(dem_fps)
Mosaic_files = []
for i in dem_fps:
src = rasterio.open(i)
Mosaic_files.append(src)
out_meta = src.meta.copy()
mosaic, out_trans = merge(Mosaic_files)
out_meta = src.meta.copy()
out_meta.update({"driver": "GTiff",
"height": mosaic.shape[1],
"width": mosaic.shape[2],
"transform": out_trans,
"crs":"+proj= unknown",
"BigTIFF" : "yes",
}
)
with rasterio.open(Output, "w", BigTIFF = 'YES', **out_meta) as dest:
dest.write(mosaic)
我在Python3.7的64位环境中运行它。错误是:“MemoryError:无法为具有形状(17054466261)和数据类型float32的数组分配17.4 GiB”
我正在尝试拼接(合并)光栅文件(.tif)以创建包含所有单个光栅文件的光栅数据集。有没有办法让Python先编写它,而不是将所有内容存储到内存中
谢谢大家的帮助
目前没有回答
相关问题 更多 >
编程相关推荐