Python 直接将tiff文件读取到numpy阵列,而不保存到磁盘
我经常下载(geo)tiff文件,将其保存到临时磁盘空间,然后使用读取数据以获得一个Python 直接将tiff文件读取到numpy阵列,而不保存到磁盘,python,image,numpy,xarray,rasterio,Python,Image,Numpy,Xarray,Rasterio,我经常下载(geo)tiff文件,将其保存到临时磁盘空间,然后使用读取数据以获得一个numpy.ndarray,然后我可以对其进行分析 例如,使用: 对于其他(netcdf)地理网格化数据,我可以使用它来获取数据 发件人: 因此,获取一个xarray对象就像一个流一样,很容易进入ndarray,但我只知道它是在netcdf数据集上工作的。是否有办法将tif数据“流”到ndarray对象?理想情况下,我们可以用 with rasopen(url, 'r') as src: array =
numpy.ndarray
,然后我可以对其进行分析
例如,使用:
对于其他(netcdf)地理网格化数据,我可以使用它来获取数据
发件人:
因此,获取一个xarray对象就像一个流一样,很容易进入ndarray
,但我只知道它是在netcdf数据集上工作的。是否有办法将tif数据“流”到ndarray
对象?理想情况下,我们可以用
with rasopen(url, 'r') as src:
array = src.read()
as
rasterio
返回一个很好的元数据对象以及ndarray
,尽管我还没有将其用于url资源。谢谢。是的,您可以从内存中读取:
from rasterio.io import MemoryFile
with MemoryFile(data) as memfile:
with memfile.open() as dataset:
data_array = dataset.read()
或直接从URL:
with rasterio.open('https://pathto.tif') as dataset:
print(dataset.profile)
我无法让后者与您的URL一起使用,因此您可能希望尝试第一个
from rasterio.io import MemoryFile
with MemoryFile(data) as memfile:
with memfile.open() as dataset:
data_array = dataset.read()
with rasterio.open('https://pathto.tif') as dataset:
print(dataset.profile)