赞
踩
import rasterio as ras
img = ras.open(r'F:\\data\\NDVI\\ndvi2016a')
rasterio的open()函数接受一个路径字符串或类似路径的对象,并返回一个打开的数据集对象。路径可以指向任何支持的栅格格式的文件。Rasterio将使用适当的gdal格式驱动程序打开它。数据集对象具有与Python文件对象相同的一些属性。
print(img.name)
print(img.mode)
print(img.closed)
存储在示例geotiff中的栅格数据的属性可以通过打开的数据集对象的属性访问。数据集对象有条带,此示例的条带计数为1。
img.count
数据集带有一个值数组,表示二维空间中单个变量的部分分布。
print(img.width)
print(img.height)
一些数据集属性通过一个值元组(每个值带一个)公开所有数据集带区的属性。要获取带索引到变量数据类型的映射,请将字典理解应用于zip()数据集indexes和dtypes属性。
{i: dtype for i, dtype in zip(img.indexes, img.dtypes)}
地理信息系统栅格数据集不同于普通图像;其元素(或“像素”)映射到地球表面的区域。数据集的每个像素都包含在空间边界框中。
img.bounds
bounds属性来自一个更基本的属性:数据集的地理空间转换。
img.transform
可以通过矩阵变化分别获得左上角和左下角的数据
img.transform * (0, 0) # (-4034269.5606833654, 6383233.52177437)
img.transform * (img.width, img.height) # (3458718.681326859, 1560943.9108939096)
img.crs # 输出参考坐标系
展示所有相关信息
img2.meta
img.indexes
band1 = img.read(1)
band1
调用rasterio.open()使用要创建的新文件的路径,'w’指定写入模式和几个关键字参数。
#写影像,包括 路径/名称 高度 宽度 数据值 条带名称 仿射变换矩阵
def writeImage(image_save_path,height1,width1,para_array,bandDes,transform1):
with ras.open(
image_save_path,
'w', # 文件打开模式
driver='GTiff', # 保存类型
height=height1, # 数据集高度
width=width1, # 数据集宽度
count=1, # 数据集带区计数
dtype=para_array.dtype, # 数据集类型
crs='+proj=latlong', # 坐标参考系标识符或描述
transform=transform1, # 仿射变换矩阵
) as dst:
dst.write_band(1,para_array) # 将带数与数值组合,使其变成三维【band,height,width】
dst.set_band_description(1,bandDes) # 设置条带的名称
del dst
坐标参考系是 ‘+proj=latlong’ 它描述了一个以十进制度数为单位的等矩形坐标参考系。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。