把tif的值映射到shp栅格

目录

  • 问题描述
  • 代码
  • 结果示例

问题描述

假如目前有一个(多个)tif文件和一个shp文件,想要把tif中每个像素的值集成到shp文件的新字段中。如果栅格和像素是一一对应的,问题将会变得非常简单:直接把每个像素的值映射到每个栅格中的新字段里即可。如果栅格和像素不是一一对应的,这里我们需要用到zonal_stats,把所有涉及到的像素值求平均值再映射到栅格里去。接下来是一个简单的示例,假设我们要把不同日期的NDVI值映射到小栅格里面去。

代码

import geopandas as gpd
import rasterio
from rasterstats import zonal_stats
import osshapefile_path = 'your.shp'tif_directory = 'your_path'shapefile = gpd.read_file(shapefile_path)# 初始化一个字典来存储每个网格的 NDVI 值
ndvi_dict = {}for tif_file in os.listdir(tif_directory):if tif_file.endswith('.tif'):tif_path = os.path.join(tif_directory, tif_file)with rasterio.open(tif_path) as src:nodata = src.nodata  # 从 TIFF 文件中获取 nodata 值# 通过更精确的对齐计算区域统计数据stats = zonal_stats(shapefile, tif_path, stats='mean', nodata=nodata, all_touched=True)# 提取平均 NDVI 值mean_ndvi_values = [stat['mean'] if stat['mean'] is not None else 0 for stat in stats]ndvi_dict[tif_file] = mean_ndvi_valuesfor tif_file in ndvi_dict:shapefile[f'NDVI_{tif_file}'] = ndvi_dict[tif_file]shapefile.to_file('updated_shapefile.shp')

结果示例

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/13339.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python探索之旅】字典

字典的基本特性 创建字典 修改字典 添加键值对 删除键值对 字典方法 遍历字典 完结撒花​ 前言 字典是 Python 中内建的一种具有弹性储存能力的数据结构,可存储任意类型对象,与序列使用整数索引不同,它使用键(key)进行索引。 通常任何不…

小白也会SQL:大模型改变交互方式(上)

在人工智能与自然语言处理交汇点,有一种技术正悄然改变与数据交互的方式——将日常语言转化为精准SQL查询。这一“text-to-sql”转换任务,使非专业人士也能轻松驾驭复杂的数据库操作,极大地拓宽了数据应用的边界。 然而,现有前沿…

linux系统查看服务器硬件信息

1、查看服务器型号、序列号 # dmidecode|grep "System Information" -A9 | egrep "Manufacturer|Product|Serial" 2、查看主板型号 # dmidecode |grep -A16 "System Information$" 或 dmidecode -t1 3、查看BIOS信息 # dmidecode -t bios 4、…

学习大数据:论学习Spark的重要性

随着科技的不断发展,大数据已经成为了当今社会的热门话题。大数据技术的出现,为我们提供了处理海量数据的新方法,使得我们能够从这些数据中挖掘出有价值的信息。在众多的大数据处理框架中,Apache Spark无疑是最为出色的一种。本文…

部分基于深度学习的主流目标检测算法

文章目录 Anchor-Based方法Two-stage目标检测算法RCNNFast RCNNFaster RCNNFPN(理解为Faster R-CNN中的一个关键组件或改进模块) One-stage目标检测算法YOLOSSD Anchor-Free方法CornerNetCenterNetFSAFFCOSSAPD 基于transformer的方法DETR 常用数据集Reference 目标检测是计算机…

vue嵌套路由

一、嵌套 children配置 1.父类路由 mymusic 2.子类路由 musicson 1.创建MusicSon组件 <template><div><p>从前和后来</p><p>唯一</p><p>运气来的似有若无</p></div> </template><script>export defaul…

linux du 排除 某一个目录 proc

Linux的du用法排除某个目录_du -sh 排除目录-CSDN博客 du -sh /* --exclude"*proc*"

通俗易懂的策略模式讲解

什么是策略模式&#xff1f; 策略模式是一种设计模式&#xff0c;它允许你定义一系列的算法&#xff08;策略&#xff09;&#xff0c;并将每个算法封装成一个对象。这样&#xff0c;你可以轻松地切换不同的算法&#xff0c;而不需要改变原始代码。 一个简单的例子 假设你是…

韵搜坊 -- 前后端联调实现搜索图片

文章目录 后端新建图片类型Picture创建图片接口类PictureController新建PictureQueryRequest创建Service类创建实现类PictureServiceImpl 前端添加接口获取后端数据修改picture页面内容添加文章&#xff0c;图片的搜索功能修改查询参数的获取&#xff0c;实现查询用户功能 存在…

这10款安卓APP,简直好用到爆!

AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频http://AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频 1.追书——追书神器 追书神器是小说追新大神&#xff0c;全网实…

基于RequestResponseBodyMethodProcessor的Trim功能装饰者模式实现

文章目录 前言一、实现1.1 Trim1.2 TrimRequestResponseBodyMethodProcessorDecorator1.3 Configuration 二、测试2.1 测试用例2.2 测试结果2.2.1 Test no.12.2.2 Test no.22.2.3 Test no.32.2.4 Test no.4 前言 公司内部系统老是有人填表单复制粘贴老是整出前后空格来. 前端…

摸鱼大数据——大数据导论

大数据导论 1、概念 大数据时代: 万物皆数据 ​ 数据概念: 人类的行为及产生的事件的一种记录称之为数据 ​ 数据价值: 对数据的内容进行深入分析&#xff0c;可以更好的帮助了解事和物在现实世界的运行规律 2、大数据诞生 大数据的诞生: 跟随着互联网的发展的,当全球互联…

K8S认证 | CKA题库 + 答案 | 查看Pod CPU资源使用量

2、查看集群中运行Pod CPU资源使用量 您必须在以下Cluster/Node上完成此考题&#xff1a; Cluster Master node Worker node k8s …

【信息系统项目管理师知识点速记】采购管理:实施采购

实施采购过程是项目管理中一个关键环节,旨在通过一系列步骤确保项目所需的货物、服务或成果能够从合适的供应商处获得,并以合同形式确立双方的权利与义务。这一过程不仅关乎选择最合适的卖方,还包括了风险管理、成本控制、沟通规划等多个方面的考量。 输入概述 项目管理计划…

从零开始精通RTSP之加密

概述 原始的RTSP通信默认使用的是明文传输&#xff0c;这也就意味着&#xff0c;在网络上的任何节点都能轻易地查看或修改传输的内容。这在涉及隐私或版权保护的场景下&#xff0c;是完全不可接受的。因此&#xff0c;加密显得尤为重要。加密的目的主要有三点&#xff1a;一是进…

拧紧设备或工具的选型原则、常见类型和选型关键因素有哪些?

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 在工业生产领域&#xff0c;拧紧控制是一项至关重要的工艺环节。它涉及螺栓、螺母等紧固件的装配过程&#xff0c;直接关系到产品的质量和性能。因此&#xff0c;选择合适的拧紧设备或工具对于确保拧紧过程的准确性和稳…

[牛客网]——C语言刷题day4

答案&#xff1a;B 解析&#xff1a; a是数组首元素的地址,a1的步长是int&#xff0c;所以是2 &a是数组的首地址&#xff0c;&a1步长是int[5] ptr是int类型的指针&#xff0c;指向a数组的尾后位置&#xff0c;ptr-1的步长是int,所以是a数组的最后一个元素5 答案&am…

如何使用ffmpeg 实现10种特效

相关特效的名字 特效id 特效名 1 向上移动 2 向左移动 3 向下移动 4 颤抖 5 摇摆 6 雨刷 7 弹入 8 弹簧 9 轻微跳动 10 跳动 特效展示(同时汇总相关命令) pad背景显示 pad背景透明 相关命令(一会再讲这些命令&#xff0c;先往下看) # 合成特效语音 ffmpeg -y -loglevel erro…

Element Plus/vue3 无限级导航实现

在使用element plus 时&#xff0c;最初要使用的就是导航组件了&#xff0c;官网上看到的也就是写死的一级/二级导航&#xff0c;那么如何设计一个无限级且动态的导航呢&#xff1f;毋庸置疑&#xff0c;递归。废话不多说&#xff0c;直接看代码和效果&#xff1a; 代码&#x…

Jmeter:录制脚本(操作文档)

新建线程组 打开jmeter&#xff0c;右键测试计划–>添加–>Threads(Users)–>点击"线程组" 添加录制控制器 右键线程组–>添加–>逻辑控制器–>点击"录制控制器" 添加HTTP代理服务器 右键工作台–>添加–>非测试元件–>…