1. 安装rgplates
install.packages("rgplates")
2. 调用rgplates
library(rgplates)
3. 快速上手
3.1 单个坐标点转换
计算当今坐标点(95,54)在140Ma(百万年前)的古坐标
输入
reconstruct(matrix(c(95, 54), nrow=1), 140, model="SETON2012")
输出
paleolong paleolat
[1,] 84.9862 59.2575
3.2 多个坐标点转换
计算当今坐标(95,54)和(142,-33)在140Ma的古坐标
输入
xy <-cbind(long=c(95,142), lat=c(54, -33))
reconstruct(xy, 140, model="SETON2012")
输出
paleolong paleolat
[1,] 84.9862 59.2575
[2,] 123.3740 -65.7611
4. 函数解读(reconstruct)
通过上面的两个快速上手的例子,博主相信大家已经知道了reconstruct()函数就是用来将现今坐标推算到古时坐标的,但前面只介绍了最简单的应用。
下面博主将为大家详细介绍reconstruct()的参数,并通过例子更好地理解参数的意义。
4.1 reconstruct()关键参数
reconstruct(x, …),…表示其余参数,它们根据x的数据类型不同而不同。
以x的数据类型为matrix为例,reconstruct()函数的参数有:
reconstruct(x, age, model=“PALEOMAP”, listout = TRUE, verbose = FALSE, enumrate = TRUE, chunk = 200, reverse = FALSE, path.gplates = NULL, cleanup = TRUE, dir = NULL, plateperiod = FALSE)
4.2 参数详解
- x:可以是一个表示经纬度的向量(vector),也可以是第一列经度+第二列纬度的matrix/dataframe。
- age:计算x在age前的坐标。
- model:重建依赖的模型。默认为"PALEOMAP",还提供了"SETON2012",“MULLER2016”,“GOLONKA”,“MATTHEWS2016”。(见4.3.1实例一)
- listout:(逻辑变量)默认为TRUE。如果提供了多个age,且listout设为TRUE,就会输出一个list(见4.3.2实例二)
- verbose:(逻辑变量)默认FALSE。决定是否输出URL响应过程。(见4.3.3实例三)
- enumerate:(逻辑变量)默认为TRUE。决定是否匹配坐标点和重建时间。(见4.3.4 实例四)
- chunk:(数值)默认为200。一次执行的坐标点上限。
- reverse:(逻辑变量)默认为FLASE。决定向前还是向后重建坐标点。如果为TRUE,将会计算给定时间给定坐标的当今坐标。(见4.3.5实例五)
- path.gplates:(字符变量)当要使用本地模型且默认的GPlates路径不存在时,需要指定。
- cleanup:(逻辑变量)当使用本地模型时决定是否在重建完成后立即清理临时文件。默认TRUE。
- dir:(字符变量)当使用本地模型时指定临时文件的保存路径。注意和cleanup互斥。
- plateperiod:(逻辑变量)默认FALSE。当使用本地模型时指定特殊设置。
4.3 实例测试
4.3.1 实例一:使用不同的重建模型
library(rgplates)
xy = cbind(long=c(95,142), lat=c(54, -33))
ages = list(100, 50)
models = list("SETON2012", "MULLER2016","GOLONKA", "PALEOMAP","MATTHEWS2016")
for (m in models) {
print(m)
print(try(reconstruct(xy, 140, model=m), silent = TRUE))
}
输出如下:
可以看到不同模型重建结果还是有较大的差异。"MATTHEWS2016"模型在测试时无法使用!
4.3.2 实例二:重建多个时间点
library(rgplates)
xy = cbind(long=c(95,142), lat=c(54, -33))
ages = list(100, 50)
models = list("SETON2012", "MULLER2016","GOLONKA", "PALEOMAP","MATTHEWS2016")
l = reconstruct(xy, ages, listout=FALSE)
ls = reconstruct(xy, ages, listout=TRUE)
结果如下:
4.3.3 实例三:输出URL响应
library(rgplates)
xy = c(95, 54)
ages = list(100, 50)
models = list("SETON2012", "MULLER2016","GOLONKA", "PALEOMAP","MATTHEWS2016")
reconstruct(xy, ages, verbose=TRUE)
结果如下:
4.3.4 实例四:枚举重建
library(rgplates)
xy = cbind(long=c(95,142), lat=c(54, -33))
ages = list(100, 50)
models = list("SETON2012", "MULLER2016","GOLONKA", "PALEOMAP","MATTHEWS2016")
reconstruct(xy, ages, enumerate=FALSE)
reconstruct(xy, ages, enumerate=TRUE)
结果如下:
4.3.5 实例五:借今推古/借古推今
library(rgplates)
present = c(95, 54)
old = c (82, 55)
ages = 100
reconstruct(present, ages, reverse=FALSE)
reconstruct(old, ages, reverse=TRUE)
结果如下: