在R中的3D空间中将值插值到曲面上

时间:2019-04-30 08:16:25

标签: r interpolation spatial plane

我有一些沿航迹的海洋剖面数据,对于那些熟悉术语的人来说,这是拖曳数据,因此获取数据的仪器会根据深度和航迹绘制出锯齿状图案。在我的特定情况下,这可以合理地接近一条直线,但并非必须如此(我正在寻找一种通用的解决方案)。我想将参数值插入到一个平面上,该平面使用垂直方向上的深度,但沿水平方向上的船只轨迹移动,然后使用色标来表示我感兴趣的参数(例如温度)的变化。我已将配置文件数据转换为SpatialPoints数据框,并派生了感兴趣的变量,现在想以3D方式进行绘制。数据集很大,但是具有以下形式:

           coordinates           Date_Time SV.M.SEC. SVPress.dbar. SVTemp.C. Press.DQ.      T1
1 (37.30324, -32.29988) 2017-12-29 11:23:46  1518.867        12.143    18.578     3.206 18.6325
2 (37.30324, -32.29988) 2017-12-29 11:23:48  1518.849        11.857    18.556     2.363 18.5440
3 (37.30322, -32.29986) 2017-12-29 11:23:52  1518.790        13.143    18.549     3.652 18.6517
4 (37.30322, -32.29986) 2017-12-29 11:23:53  1518.799        12.857    18.551     3.252 18.6780
5 (37.30322, -32.29986) 2017-12-29 11:23:53  1518.842        13.143    18.552     3.252 18.6780
6 (37.30322, -32.29988) 2017-12-29 11:23:54  1518.900        12.857    18.553     3.252 18.5528
       T2       C1       C2    Sal1    Sal2 O2.mg.L.   Trans  Fluor    Turb Depth  Scan pTemp
1 18.8244 47.88954 47.79131 36.1446 35.8939  190.115 71.6130 0.1334  0.0021 3.182 11473 18.65
2 18.5705 47.88498 47.86511 36.2189 36.1787  194.944 67.0215 0.1292  0.0029 2.345 11521 18.65
3 18.6030 47.90367 47.90222 36.1396 36.1811  171.238 91.0900 0.1382 -0.0010 3.625 11617 18.65
4 18.5443 47.92843 47.92030 36.1376 36.2483  170.387 91.9540 0.1356 -0.0009 3.228 11641 18.65
5 18.5443 47.92843 47.92030 36.1376 36.2483  170.387 91.9540 0.1356 -0.0009 3.228 11641 18.65
6 18.6785 47.91153 47.90005 36.2334 36.1131  185.252 91.0406 0.1272 -0.0008 3.228 11665 18.65
      PSUu    CMSVu   DeltaSal     DeltaSV      Lat      Long
1 36.19109 1518.971 0.04648770 -0.10356189 37.30324 -32.29988
2 36.24329 1518.787 0.02438573  0.06180618 37.30324 -32.29988
3 36.18991 1519.027 0.05031308 -0.23724430 37.30322 -32.29986
4 36.19869 1519.094 0.06109313 -0.29450921 37.30322 -32.29986
5 36.23412 1519.094 0.09652132 -0.25150921 37.30322 -32.29986
6 36.28279 1518.844 0.04939003  0.05636167 37.30322 -32.29988

我尝试了scatterplot3d和Akima的interp来执行计算,但是没有以所需的格式提供输出,scatterplot3d最接近,但是我似乎无法达到一个平面并且它不喜欢SpatialPoints格式苦涩地抱怨...

x<-CTD_SVP_merged$coordinates
y<-CTD_SVP_merged$Depth
z<-CTD_SVP_merged$DeltaSal

Akima<-interp(x, y, z, xo=seq(min(x), max(x), length = length(x)), yo=seq(min(y), max(y), length = length(y)), linear = TRUE, extrap=FALSE, duplicate = "mean", dupfun = NULL)
scatterplot3d(x=CTD_SVP_merged$Lat, y=CTD_SVP_merged$Long,z=CTD_SVP_merged$Depth, theta=15, phi=20)
plot(CTD_SVP_merged, pch=20, main="Full Dataset", axes=TRUE)

我的预期结果将是多色窗帘,其颜色值由感兴趣的参数确定,在垂直方向上垂直向上和向下,在水平方向上与船舶航迹一致

0 个答案:

没有答案