笔记:错误记录- gdal读取哨兵1雷达数据分贝化数据归一化计算极值为nan,输出相同错误结果

Posted 空中旋转篮球

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笔记:错误记录- gdal读取哨兵1雷达数据分贝化数据归一化计算极值为nan,输出相同错误结果相关的知识,希望对你有一定的参考价值。

错误描述

数据

哨兵1雷达数据分贝化数据

 数据极值

arcgis读取显示如下:

 对该数据做极值归一化处理的时候,读取的数据最大值和最小值均为nan,归一化的结果都是0值或者无法写入。

    for i in range(1, dim_z+1):
        band = ds.GetRasterBand(i)
        # band_array = band.ReadAsArray()
        band_array = band.ReadAsArray()
        print(band_array[4590][6500])
        print("Image Shape:",band_array.shape)
        print("开始计算第波段".format(i))
        # data = np.array(band_array)  # 转化为numpy数组
        data = np.array(band_array,dtype='float')  # 转化为numpy数组
        print(data[4590][6500])

        #直接读取极值归一化
        print(data.min())
        print(data.max())

 以下是随机抽取图像中间位置的像元读取出来的值并不为nan或者0值,即用于判别读取的数组中不全是0值或者nan值。

print(band_array[4590][6500])

上述代码中读取的最大值和最小是均为nan。

解决办法

鉴于以上问题,这个数据可能是由于影像中的nan值引起的,我们将nan值替换为0值。

加一行代码:

data[np.isnan(data)] = 0  # 替换nan为0

这样就能正确读取到极值了。

以上是关于笔记:错误记录- gdal读取哨兵1雷达数据分贝化数据归一化计算极值为nan,输出相同错误结果的主要内容,如果未能解决你的问题,请参考以下文章

笔记:错误记录- gdal读取哨兵1雷达数据分贝化数据归一化计算极值为nan,输出相同错误结果

Python遥感图像处理应用篇(十五):GDAL 读取多光谱数据做归一化处理

Python遥感图像处理应用篇(十五):GDAL 读取多光谱数据做归一化处理

Python遥感图像处理应用篇(十六):GDAL 将归一化处理csv数据转化为遥感影像

Python遥感图像处理应用篇(十六):GDAL 将归一化处理csv数据转化为遥感影像

gdal读多波段数据的像元,也就是每个波段读一个值,得到一个象元,该怎么处理呢?