把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.pswp.cn/web/13339.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/13339.shtml
英文地址,請注明出處:http://en.pswp.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代理服務器 右鍵工作臺–>添加–>非測試元件–>…