本文介绍基于PythonGDAL模块,实现基于一景栅格影像,对另一景栅格影像的像元数值加以叠加提取的方法。

  本文期望实现的需求为:现有一景表示6种不同植被类型.tif格式栅格数据,以及另一景与前述栅格数据同区域的、表示植被参数.tif格式栅格数据;我们希望基于前者中的植被类型数据,分别提取6种不同植被类型的植被参数数值。这里需要注意,两景栅格影像的行数、列数也都是一致的。

  了解了具体需求后,我们即可开始代码的实践;本文用到的具体代码如下所示。

# -*- coding: utf-8 -*-
"""
Created on Thu Dec 1 16:56:26 2022 @author: fkxxgis
""" from osgeo import gdal vt_file_path = "E:/LC_M/data/LC.tif"
lcc_file_path = "E:/LC_M/data/LC_Clip.tif" vt_raster = gdal.Open(vt_file_path)
vt_array = vt_raster.ReadAsArray()
lcc_raster = gdal.Open(lcc_file_path)
lcc_array = lcc_raster.ReadAsArray() raster_row, raster_col = vt_array.shape
li_1, li_2, li_3, li_4, li_5, li_6 = [ [] for i in range(6)] for i in range(raster_row):
for j in range(raster_col):
if vt_array[i][j] == 1 and lcc_array[i][j] != 0:
li_1.append(lcc_array[i][j])
elif vt_array[i][j] == 2 and lcc_array[i][j] != 0:
li_2.append(lcc_array[i][j])
elif vt_array[i][j] == 3 and lcc_array[i][j] != 0:
li_3.append(lcc_array[i][j])
elif vt_array[i][j] == 4 and lcc_array[i][j] != 0:
li_4.append(lcc_array[i][j])
elif vt_array[i][j] == 5 and lcc_array[i][j] != 0:
li_5.append(lcc_array[i][j])
elif vt_array[i][j] == 6 and lcc_array[i][j] != 0:
li_6.append(lcc_array[i][j])

  其中,vt_file_path为表示植被类型的栅格数据,lcc_file_path为表示植被参数的栅格数据。

  代码的整体思路其实也非常简单,首先通过gdal.Open()函数与.ReadAsArray()函数,分别读取两个栅格数据,并将两个栅格数据中的像元数值信息转换为数组格式;随后,因为表示不同植被类型.tif格式栅格数据共有6种不同的像元数值,因此我们通过[] for i in range(6)这句代码,批量创建6个空的列表,用于存放6种不同植被类型分别对应的植被参数数值;接下来,同时遍历两个栅格数据,并基于表示不同植被类型.tif格式栅格数据的像元数值,将表示植被参数.tif格式栅格数据的像元数值依次提取、放入不同的列表中。

  这里有一点需要注意,因为在表示植被参数.tif格式栅格数据中0为无效值,因此在提取时,加了一个是否为0的判断;这一点大家在实际应用时结合自己的需求加以修改即可。

  通过上述代码,我们即可将6种不同植被类型分别对应的植被参数数值提取出来,并存放于不同的列表中;随后即可基于不同列表中的数据加以各项空间分析。

Python遥感影像叠加分析:基于一景数据提取另一数据的更多相关文章

  1. Python GDAL读取栅格数据并基于质量评估波段QA对指定数据加以筛选掩膜

      本文介绍基于Python语言中gdal模块,对遥感影像数据进行栅格读取与计算,同时基于QA波段对像元加以筛选.掩膜的操作.   本文所要实现的需求具体为:现有自行计算的全球叶面积指数(LAI).t ...

  2. Python gdal读取MODIS遥感影像并结合质量控制QC波段掩膜数据

      本文介绍基于Python中GDAL模块,实现MODIS遥感影像数据的读取.计算,并基于质量控制QC波段进行图像掩膜的方法.   前期的文章Python GDAL读取栅格数据并基于质量评估波段QA对 ...

  3. Python爬虫教程-18-页面解析和数据提取

    本篇针对的数据是已经存在在页面上的数据,不包括动态生成的数据,今天是对HTML中提取对我们有用的数据,去除无用的数据 Python爬虫教程-18-页面解析和数据提取 结构化数据:先有的结构,再谈数据 ...

  4. Python核对遥感影像批量下载情况的方法

      本文介绍批量下载遥感影像时,利用Python实现已下载影像文件的核对,并自动生成未下载影像的下载链接列表的方法.   批量下载大量遥感影像数据对于GIS学生与从业人员可谓十分常见.然而,对于动辄成 ...

  5. Python ArcPy批量掩膜、重采样大量遥感影像

      本文介绍基于Python中ArcPy模块,对大量栅格遥感影像文件进行批量掩膜与批量重采样的操作.   首先,我们来明确一下本文的具体需求.现有一个存储有大量.tif格式遥感影像的文件夹:且其中除了 ...

  6. 基于GDAL的遥感影像显示(C#版)

    基于GDAL的遥感影像显示(C#版) - 菜菜的专栏 - 博客频道 - CSDN.NET  http://blog.csdn.net/RSyaoxin/article/details/9220735

  7. 基于VC++ Win32+CUDA+OpenGL组合与VC++ MFC SDI+CUDA+OpenGL组合两种方案的遥感影像显示:获得的重要结论!

    1.基于VC++ Win32+CUDA+OpenGL组合的遥感影像显示 在该组合方案下,初始化时将OpenGL设置为下面两种方式,效果一样 //设置方式1 glutInitDisplayMode (G ...

  8. Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!

    Go/Python/Erlang编程语言对比分析及示例   本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性, ...

  9. 深度学习遥感影像(哨兵2A/B)超分辨率

    这段时间,用到了哨兵影像,遇到了一个问题,就是哨兵影像,它的RGB/NIR波段是10米分辨率的,但是其他波段是20米和60米的,这就需要pansharpening了,所以我们需要设计一种算法来进行解决 ...

  10. 遥感影像和DEM数据获取处理、GeoServer切片发布并使用Cesium加载

    1. 数据获取 笔者这里使用的是哨兵一号(Sentinel-1).ALOS的遥感影像和ALOS的DEM数据 下载地址为:ASF Data Search (alaska.edu) ASF(Alaska ...

随机推荐

  1. [Docker] 镜像源配置 for Linux

    $ vi /etc/docker/daemon.json { "registry-mirrors": [ "https://docker.mirrors.ustc.edu ...

  2. WPF 已知问题 在 ObservableCollection 的 CollectionChanged 修改集合内容将让 UI 显示错误

    本文记录一个 WPF 已知问题,在 ObservableCollection 的 CollectionChanged 事件里面,绕过 ObservableCollection 的异常判断逻辑,强行修改 ...

  3. WPF 推荐一个剪贴板内容查看工具

    本文来安利大家一个好用的 Windows 剪贴板的内容查看工具 这是在 GitHub 上完全免费开源的应用,由 walterlv 开发的应用,详细请看 https://github.com/walte ...

  4. 修复 VisualStudio 构建时没有将 NuGet 的 PDB 符号文件拷贝到输出文件夹

    本文告诉大家如何修复 VisualStudio 构建时没有将 NuGet 的 PDB 符号文件拷贝到输出文件夹的问题.如果 VisualStudio 构建时没有将 NuGet 的 PDB 符号文件拷贝 ...

  5. VGA色块显示#VGA显示数字

    VGA驱动色块显示 了解了VGA的显示原理和ADV7123控制后,再去实现色块显示就容易了. 像素坐标 跟显示色条不同,要在屏幕上不同的地方显示色块,需要用像素坐标来定位色块.其实,就是分别用行扫描的 ...

  6. Photoshop批量替换图层的方法

    平时做图片,应该有遇到这样的场景,比如P奖状.P邀请函,内容是一样的,但是图片上的名字是不一样的,要是要P100张的话,一个个手动复制改名字肯定会吐血(╯°□°)╯︵ ┻━┻ Photoshop里有个 ...

  7. 04 Xpath_[实例]爬取maoyan

    目录 Xpath lxml库的安装和使用 提取的内容 代码 生成的csv 下载的图片 参考文档 Xpath lxml库的安装和使用 提取的内容 随意选取的一段 节点包含的影片信息,如下所示: < ...

  8. Golang、python中MD5、SHA512、base64编码等

    在GO中处理的话,比较方便. func main() { fmt.Println(md5Str("woGo")) fmt.Println(sha512Str("woGo& ...

  9. 如何去掉WordPress分类目录url链接中的category,如何处理生成的作者链接

    一个新网站需要结合SEO,才能做成一个优秀的网站, ◆◆◆ 关于WordPress的分类目录url中含有category的处理办法: 1,如果是新网站这些设置需要提前做,方便以后做SEO 1.修改固定 ...

  10. java学习之旅(day.21)

    HTML 初识HTML HTML: Hyper Text Markup Language(超文本标记语言) 超文本包括文字.图片.音频.视频.动画等 W3C标准 W3C :World Wide Web ...