栅格修改行列数保持一致可以叠加运算

栅格计算器:

前提先把gis大环境的处理范围设置为标准栅格文件,捕捉栅格也是同样设置,然后批量修改。

### 关于引擎中的栅格合并方法 在地理信息系统(GIS)和图形编程中,栅格据的处理是一个重要环节。栅格合并在这些领域内通常指的是将多个栅格图层组合成单个输出的过程。 #### 方法概述 一种常见的栅格合并方式是在像素级别上操作各个输入栅格据值。对于每一个位置上的像元,计算其对应的新值来创建最终的结果图像[^1]。具体来说: - **基于算术运算的操作**:可以简单地通过加法、减法或者其他学函来进行不同源之间的融合。 - **统计聚合**:比如取平均、最大最小值等作为目标单元格的内容。 - **逻辑判断**:依据特定条件决定如何选取合适的值填充到新生成的地图里去。 #### 实现示例 下面给出一段Python代码片段用于展示两个相同大小且具有相同比例尺的GeoTIFF文件之间简单的线性叠加过程(即求均值),这代表了一种基础形式的栅格合并算法: ```python from osgeo import gdal, ogr, numpy as np def raster_merge(file_list, output_file): # 打开第一个影像获取基本信息 ds = gdal.Open(file_list[0]) band = ds.GetRasterBand(1) # 获取行列以及空间参考信息 rows = ds.RasterYSize cols = ds.RasterXSize transform = ds.GetGeoTransform() projection = ds.GetProjection() # 创建空白组存储结果并初始化为零 result_array = np.zeros((rows, cols)) for file_path in file_list: dataset = gdal.Open(file_path) array_data = dataset.ReadAsArray().astype(float) # 对每个读入的据集做累加 result_array += array_data # 计算平均值完成合并 final_result = result_array / len(file_list) # 将得到的结果写回新的tif文件中保存下来 driver = gdal.GetDriverByName('GTiff') out_ds = driver.Create(output_file, cols, rows, 1, gdal.GDT_Float32) out_band = out_ds.GetRasterBand(1) out_ds.SetGeoTransform(transform) out_ds.SetProjection(projection) out_band.WriteArray(final_result) out_band.FlushCache() file_paths = ["raster1.tif", "raster2.tif"] output_filename = 'merged_raster_mean.tif' raster_merge(file_paths, output_filename) ``` 此脚本实现了基本的空间据分析功能之一——多景遥感影像间的线性合成,适用于多种应用场景下的初步探索工作[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值