当前位置:首页 > 后端开发 > 正文内容

R言语求取很多遥感印象的平均值、标准差:raster库

邻居的猫1个月前 (12-09)后端开发881

  本文介绍根据R言语中的raster包,批量读取多张栅格图画,对多个栅格图画核算平均值标准差,并将所得新的栅格成果图画保存的办法。

  在文章根据R言语的raster包读取遥感印象中,咱们介绍了根据R言语raster包,对单张或多张栅格图画加以平均值标准差核算的办法;但这一篇文章中的标准差核算办法只是能够对一张栅格图画的悉数像元加以核算,即标准差核算成果是一个详细的数值,而不是一景成果印象;无法对多张、多时相的栅格图画进行核算。本文就介绍另一种办法,能够对多个时相的很多栅格印象加以逐像元平均值、标准差的核算,然后使得终究的成果是一景表明各个像元在悉数时相的图画中的平均值或标准差的图画

  首要,咱们依照文章根据R言语的raster包读取遥感印象中说到的办法,装备、加载raster包,并经过stack()函数读取同一文件夹下的悉数栅格图画,详细代码如下所示。其间,代码的意义咱们在上述这一篇文章中现已加以介绍,这儿就不再赘述。

library(raster)
tif_file_path <- list.files(r"(E:\02_Project\01_Chlorophyll\LCC_SC_2020\SD)", pattern = ".tif$", full.names = TRUE, ignore.case = TRUE)
tif_file_all <- stack(tif_file_path)

  运转上述代码,能够看到现已得到了RasterStack格局的成果数据,如下图所示。

image

  接下来,咱们经过calc()函数,对多时相栅格遥感印象数据加以核算;其间,其榜首个参数tif_file_all便是需求加以核算的多个栅格图画,而第二个参数fun = sd表明咱们需求核算标准差;假如咱们需求核算平均值,那么就将第二个参数修改为fun = mean即可,咱们这儿就以标准差为例介绍后续的操作。当然,前述说到的文章根据R言语的raster包读取遥感印象中的办法也是能够对多个栅格图画核算平均值的。

tif_sd <- calc(tif_file_all, fun = sd)
plot(tif_sd)

  此外,上述代码在calc()函数运转时,若某一空间方位上的像元多张栅格遥感印象中,存在至少一个无效值(NoData值),则这一像元在终究的成果图画中相同为无效值;若期望疏忽无效值的这一影响,能够将上述榜首句代码修改为如下格局。其间,na.rm = TRUE就表明若某一景栅格遥感印象中某像元为无效值,则疏忽这一景印象中的这一个像元。

tif_sd <- calc(tif_file_all, fun = sd, na.rm = TRUE)

  运转calc()函数后,咱们能够经过plot()函数将成果图画制作出来,如下图所示。

  上图即为多个栅格图画的像元数值时刻序列顺次核算标准差所得的成果。

  此外,因为我这儿的栅格像元数据实践表达的数值之间有一个缩放系数0.01,因而经过下述代码将其像元值康复为实践意义的数值。

tif_sd_new <- tif_sd / 100
plot(tif_sd_new)

  随后,从头制作成果图;承认无误后,即可根据writeRaster()函数,经过如下代码保存咱们刚刚得到的标准差成果栅格图画。

rf <- writeRaster(tif_sd_new, filename = r"(E:\02_Project\01_Chlorophyll\LCC_SC_2020\SD\LCC_SD.tif)", overwrite = TRUE)

  运转代码后,如下图所示。其间,writeRaster()函数的榜首个参数表明咱们即将保存的栅格数据,第二个参数表明保存栅格文件的途径与称号,第三个参数表明,假如第二个参数指定的途径与称号现已有文件存在了,是否直接对其加以掩盖。

  随后,咱们即可在指定的途径下找到咱们刚刚核算得到的多个栅格图画的标准差成果。

  至此,功德圆满。

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=225

分享给朋友:

“R言语求取很多遥感印象的平均值、标准差:raster库” 的相关文章

c语言结构体,c语言结构体定义和使用

在C语言中,结构体(`struct`)是一种用户自定义的数据类型,允许你将不同类型的数据组合在一起,作为一个单一的数据类型来处理。这种组合数据类型在处理复杂的数据结构时非常有用,比如表示一个点、一个时间、一个员工信息等。 基本语法定义一个结构体的一般形式如下:```cstruct 结构体名称 {...

php提取字符串中的数字,正则表达式

php提取字符串中的数字,正则表达式

在PHP中,你可以使用正则表达式来提取字符串中的数字。以下是一个简单的示例,展示如何使用`preg_match_all`函数来提取字符串中的所有数字:```php```这段代码会输出:```Array =˃ 123 =˃ 456qwe2```在这个例子中,`d `是一个正则表达式,表示匹配一...

java开源项目,助力开发者高效编程的利器

java开源项目,助力开发者高效编程的利器

1. JavaGuide 提供了丰富的Java开源项目资源,包括框架、工具和教程等,灵感来源于 awesomejava 项目。你可以访问以下链接了解 2. CSDN 上有多篇文章介绍了基于Spring Boot的优质Java开源项目,涵盖了电商、微服务、支付、秒杀、博客、管理后台等多个...

php代码混淆, 什么是PHP代码混淆?

php代码混淆, 什么是PHP代码混淆?

PHP代码混淆(Obfuscation)是一种将代码转换为难以阅读和理解的形式的技术,目的是保护代码不被未经授权的人轻易理解和篡改。这通常用于保护软件的知识产权,防止他人窃取或逆向工程。1. 变量和函数重命名:将变量和函数的名称替换为无意义的字符或数字,使代码更难以理解。2. 代码合并:将多个文件合...

swift最新版本,Swift 6的发布背景

swift最新版本,Swift 6的发布背景

Swift的最新版本是Swift 6.0。在不久前的苹果全球开发者大会(WWDC)上,苹果正式发布了Swift 6.0。这个版本带来了许多重要的更新和改进,包括语言和标准库的增强、改进的调试工具、跨平台库的扩展以及对嵌入式开发和生产力工具的支持。Swift 6.0的发布标志着Swift语言在多个方面...

rust手游,荒野求生,打造你的末日生存传奇

rust手游,荒野求生,打造你的末日生存传奇

《腐蚀(Rust)》手游是由知名游戏开发商Facepunch Studios官方授权制作的生存类手游。目前,该游戏正在开发中,并计划于2025年初在海外开启限量测试。如果你对这款游戏感兴趣,可以关注TapTap平台上的官方预约页面,获取最新的游戏信息和下载链接。此外,国内玩家可以通过腾讯的封闭测试参...