我有一些沿航迹的海洋剖面数据,对于那些熟悉术语的人来说,这是拖曳数据,因此获取数据的仪器会根据深度和航迹绘制出锯齿状图案。在我的特定情况下,这可以合理地接近一条直线,但并非必须如此(我正在寻找一种通用的解决方案)。我想将参数值插入到一个平面上,该平面使用垂直方向上的深度,但沿水平方向上的船只轨迹移动,然后使用色标来表示我感兴趣的参数(例如温度)的变化。我已将配置文件数据转换为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)
我的预期结果将是多色窗帘,其颜色值由感兴趣的参数确定,在垂直方向上垂直向上和向下,在水平方向上与船舶航迹一致