实验篇——根据群体经纬度提取环境数据(先导)

2023-09-21 08:01:30

实验篇——根据群体经纬度提取环境数据(先导)


前言

首先得到了一个样本分布点的群体经纬度文件,之后欲提取环境数据。本章将简单介绍一下。


Worldclim官网上提供的数据集是基于历史观测数据和模型推算得出的全球平均值。这些数据集并没有特定的年份标识,而是提供了每个月的平均数据。

因此,这些数据集可以用于研究不同年份或时间段的气候变化趋势,而不是针对特定的年份。你可以根据需要选择适合你研究的时间范围,从中提取相应的月份数据进行分析。

一、获取数据文件

1.1.经纬度文件

在这里插入图片描述

1.2. 环境数据的tif文件

从WorldClim官网下载:
https://worldclim.org/data/index.html

在这里插入图片描述

点进 “Historical climate data”

在这里插入图片描述

然后根据自己的需求下载数据,并将下载后的文件按不同类别分到不同文件夹,以便后续处理:

在这里插入图片描述

点进去其中一个文件夹,放置的是对应的tif文件:

在这里插入图片描述

二、R语言代码实现

这段代码的功能是下载世界气候数据中与温度和降水有关的19个因子、海拔、降水、平均温度、最低温度、最高温度、srad和wind speed数据

library(rgdal)
library(sp)
library(raster)
longla<- read.table("D:/Cja_location.txt",header = T) #读取经纬度文件
 #设置你的经、纬度 (!!!,注意经度在前,维度在后!!!)
coordinates(longla)=c("Longtitude","Latitude")
result <- data.frame(row.names = c(1:38))  #先构建一个空数据框(根据样本量设置行数)

#1到12的形式
tiqu_huanjing_shuju <- function(n, lujin, bio) {
  for (i in n) {
    file <- paste0(lujin, i, ".tif")
    print(file)  #打印文件路径看一下
    worldclim1 <- raster(file)  #加载栅格数据
    data1 <- extract(x = worldclim1, y = longla)  #按照坐标提取值
    data_all <- data.frame(longla, data1) #合并
    write.csv(data_all, paste0(bio, i, ".csv")) #导出数据
    bio_data <- read.csv(paste0(bio, i, ".csv"), as.is = TRUE)  #导入每个点的环境数据
    bio_col <- bio_data$data1 #提取指定列data1
    result <- cbind(result, bio_col)  #合并数据
    colnames(result)[i] <- paste0(bio, i)
  }
  write.csv(result, paste0(bio, "zong.csv"), row.names = FALSE) #转化为csv格式导出
}

tiqu_huanjing_shuju(1:19, "D:/wc2.1_10m_bio/wc2.1_10m_bio_", "bio")

我定义了一个提取函数,结果发现bio气候数据的文件后的编号是1到12这样的形式,而其它的数据则都是01到12这样的形式。(所以我就改了一下,干脆分开提取)

在这里插入图片描述

在这里插入图片描述

#从01到12的形式
tiqu_huanjing_shuju <- function(n, lujin, bio) {
  for (i in n) {
    file <- sprintf("%s%02d.tif", lujin, i)
    print(file)
    worldclim1 <- raster(file)
    data1 <- extract(x = worldclim1, y = longla)
    data_all <- data.frame(longla, data1)
    write.csv(data_all, paste0(bio, i, ".csv"))
    bio_data <- read.csv(paste0(bio, i, ".csv"), as.is = TRUE)
    bio_col <- bio_data$data1
    result <- cbind(result, bio_col)
    colnames(result)[i] <- paste0(bio, i)
  }
  write.csv(result, paste0(bio, "zong.csv"), row.names = FALSE)
}


tiqu_huanjing_shuju(1:12, "D:/wc2.1_10m_prec/wc2.1_10m_prec_", "prec")

那个海拔数据:elev文件只有一个tif文件,那就不要循环了,直接提取就行

worldclim1<-raster("D:/wc2.1_10m_elev/wc2.1_10m_elev.tif")  #加载栅格数据
data1<-extract(x= worldclim1,y=longla) #按照坐标提取值
data_all<-data.frame(longla,data1) #合并
write.csv(data_all,"elevzong.csv")#导出气候数据
bio_data <- read.csv("elevzong.csv", as.is = TRUE)
bio_col <- bio_data$data1
result <- cbind(result, bio_col)
colnames(result)<- "elev"
write.csv(result,"elevzong.csv" , row.names = FALSE)

三、环境文件介绍

3.1. bio

在这里插入图片描述
数据介绍:
在这里插入图片描述

3.2. prec

每个月全球各个地点的降水量

在这里插入图片描述

在这里插入图片描述

3.3. elev

Worldclim官网上下载的elev数据代表地表高程数据。这些数据提供了全球范围内的地表高程信息,可以用于各种地理和环境研究。(就是海拔高度数据)

在这里插入图片描述

3.4. tmin

tmin数据是Worldclim官网上提供的全球最低温度数据集。该数据集提供了每个月全球各个地点的最低温度值。

在这里插入图片描述

3.5. tmax

提供了每个月全球各个地点的最高温度值。

在这里插入图片描述

3.6. vapr1

Worldclim官网上的vapr1数据代表着全球范围内的蒸汽压数据。vapr1数据集提供了关于大气中水蒸汽含量的信息。

在这里插入图片描述

3.7. tavg

tavg数据是Worldclim官网上提供的全球平均温度数据集。该数据集提供了每个月全球各个地点的平均温度值。

在这里插入图片描述

3.8. srad

srad数据是Worldclim官网上提供的全球太阳辐射数据集。该数据集提供了每个月全球各个地点的太阳辐射值。

在这里插入图片描述

3.9. wind

wind数据是Worldclim官网上提供的全球风速数据集。该数据集提供了每个月全球各个地点的风速值。

在这里插入图片描述

四、后续

之前的步骤算是完成了根据群体经纬度提取环境数据的第一步了,我们成功的提取到了许多有关我们的样本分布点的许多环境数据文件,显然这样的数据是极大的,后续对这些环境数据文件的处理也是十分重要的,也是复杂的(这么多不同类别的环境数据,光是它们的单位的处理就比较麻烦,并且降维处理也是必须的…)。
总之,后续的分析才是真正的难点,也是我们获取这些数据的意义所在。


总结

这一章简单介绍了如何根据样本的群体经纬度来提取环境数据,得到了许多不同类别的环境数据。

道沖,而用之或不盈。淵兮,似万物之宗;湛兮,似或存。吾不

–2023-9-20 实验篇

更多推荐

摄像头工程师说 Camera - 数据格式 YUV 详解(2)

Camera数据格式YUV详解概述上一个小节我们聊到Camera项目项目中常用的几种图像颜色的表示方法,并重点讲述了常用的RAW、RGB、RGBA格式。YUV格式伴随着视频行业的快速发展,衍生出非常复杂YUV格式定义,比如YUV444、YUV422、YUV420、YUV420、YUV420SP、YUV422P等等格式。

【考研数学】线性代数第五章 —— 特征值和特征向量(3,矩阵对角化理论)

文章目录引言三、矩阵对角化理论3.1一般矩阵的相似对角化3.2实对称矩阵的相似对角化3.2.1实对称矩阵相似对角化定理3.2.2实对称矩阵相似对角化过程写在最后引言承接前文,我们来看看矩阵的对角化理论。我们前面提到对角化是在矩阵相似那里,若存在可逆矩阵PPP,使得P−1AP=ΛP^{-1}AP=\LambdaP−1AP

2023年华数杯数学建模A题隔热材料的结构优化控制研究解题全过程文档及程序

2023年华数杯全国大学生数学建模A题隔热材料的结构优化控制研究原题再现:新型隔热材料A具有优良的隔热特性,在航天、军工、石化、建筑、交通等高科技领域中有着广泛的应用。目前,由单根隔热材料A纤维编织成的织物,其热导率可以直接测出;但是单根隔热材料A纤维的热导率(本题实验环境下可假定其为定值),因其直径过小,长径比(长度

Java8实战-总结32

Java8实战-总结32重构、测试和调试为改善可读性和灵活性重构代码从命令式的数据处理切换到Stream增加代码的灵活性重构、测试和调试为改善可读性和灵活性重构代码从命令式的数据处理切换到Stream建议将所有使用迭代器这种数据处理模式处理集合的代码都转换成StreamAPI的方式。StreamAPI能更清晰地表达数据

Java面试

一、redis1、缓存-缓存穿透缓存穿透就是查询一个数据库不存在的数据,这样就会缓存不命中导致一直查询数据库解决方案:1、设置空值2、布隆过滤器布隆过滤器误判解决:1、redis分布式锁2、给布隆过滤器设置误判率2、缓存击穿缓存击穿的意思是对于设置了过期时间的key,缓存在某个时间点过期的时候,恰好这时间点对这个Key

MyBatis插件原理探究和自定义插件实现

文章目录插件简介Mybatis插件介绍Mybatis插件原理⾃定义插件插件接口⾃定义插件源码分析pageHelper分页插件通⽤mapper什么是通⽤Mapper如何使⽤插件简介⼀般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者⾃⾏拓展。这样的好处是显⽽易⻅的,⼀是增加了框架的灵活性。⼆是开发者可以结合实际需

【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(1)等价类划分法、边界值法、判定表法

【测试开发】用例篇(1)文章目录【测试开发】用例篇(1)1.测试用例的基本要素2.测试用例的设计方法2.1基于需求的设计方法(设计测试点)2.2等价类划分法(测试点=>测试用例)2.2.1测试中的等价类思想2.2.2有效等价类与无效等价类2.2.3等价类思想设计测试用例步骤2.3边界值法2.3.1边界点2.3.2边界值

NTN(七) Tracking areas

卫星提供的小区可以覆盖数百公里,trackingarea也会非常大,这时候UE需要进行mobilityregistrationupdating的场景就很少,但是由于当前trackingarea中会有大量的UE,因而会导致pagingloading比较大(与实际中UE的数量有关系)。smalltrackingarea会大

python

一、认识python(一)python起源python的创始人为GuidovonRossum(吉多·范·罗苏姆),俗称”龟叔“,荷兰人。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,

基本概念【入门、 发展简史、核心优势、各版本的含义、特性和优势、JVM、JRE 和 JDK 】(二)-全面详解(学习总结---从入门到深化)

目录JAVA入门Java发展简史Java的核心优势Java各版本的含义Java的特性和优势Java程序的运行机制JVM、JRE和JDKJava开发环境搭建JDK下载和安装JDK环境变量的配置测试JDK安装成功开发第一个Java程序第一个程序常见错误第一个Java程序的总结和提升最常用DOS命令常用Java开发工具JAV

怒刷LeetCode的第6天(Java版)

目录第一题题目来源题目内容解决方法方法一:哈希表方法二:逐个判断字符方法三:模拟减法第二题题目来源题目内容解决方法方法一:水平扫描法方法二:垂直扫描法方法三:分治法方法四:二分查找第三题题目来源题目内容解决方法方法一:双指针第一题题目来源13.罗马数字转整数-力扣(LeetCode)题目内容解决方法方法一:哈希表根据题

热文推荐