R 如何在3d中绘制钻孔轨迹?

R 如何在3d中绘制钻孔轨迹?,r,maps,geospatial,R,Maps,Geospatial,钻孔数据包含“轴环”信息:即X、Y和Z(Z是地面高程,Z=0是一些基准,如平均海平面),以及Z方向的钻孔长度 如何创建钻孔轨迹(曲线)的三维绘图?我正在寻找R中的解决方案,但对python也很感兴趣(尽管我没有将其标记为这样,以防混淆) 结果可能与ArcScene中的此图像类似: 在这里,钻孔轨迹由一个或多个单独文件中的另一个参数着色,并键入钻孔名称或某些索引。(此查看器还允许使用鼠标旋转视口。) 钻孔也可能是非垂直的,而不是笔直的 以下是一些数据: > dput(collars) st

钻孔数据包含“轴环”信息:即X、Y和Z(Z是地面高程,Z=0是一些基准,如平均海平面),以及Z方向的钻孔长度

如何创建钻孔轨迹(曲线)的三维绘图?我正在寻找R中的解决方案,但对python也很感兴趣(尽管我没有将其标记为这样,以防混淆)

结果可能与ArcScene中的此图像类似:

在这里,钻孔轨迹由一个或多个单独文件中的另一个参数着色,并键入钻孔名称或某些索引。(此查看器还允许使用鼠标旋转视口。)

钻孔也可能是非垂直的,而不是笔直的

以下是一些数据:

> dput(collars)
structure(list(boreid = c(47063L, 47311L, 49511L, 52752L, 58935L, 
58937L, 65763L, 67441L, 67442L, 77351L, 77436L, 77945L, 84156L, 
89809L, 90138L, 95482L, 96560L, 103583L, 104536L, 105222L, 105483L, 
105548L, 110720L, 180221L, 301001L, 302293L, 306496L, 306497L, 
325725L, 326668L, 327068L, 333303L, 333332L, 333927L, 374749L, 
374946L, 376243L, 376244L, 958884L, 958898L, 959394L, 965482L
), easting = c(554952L, 492126L, 537529L, 499972L, 490997L, 487258L, 
555368L, 496144L, 493860L, 451445L, 452195L, 525050L, 439191L, 
485774L, 519132L, 491804L, 459810L, 476288L, 499113L, 474318L, 
513550L, 501624L, 484463L, 489155L, 558105L, 532973L, 531296L, 
531852L, 532313L, 485727L, 540972L, 478073L, 517917L, 429608L, 
467779L, 469052L, 471671L, 457678L, 511513L, 402157L, 461493L, 
511070L), northing = c(5804714L, 5730703L, 5787590L, 5797164L, 
5782344L, 5786531L, 5797011L, 5775664L, 5776207L, 5773871L, 5771346L, 
5793440L, 5771468L, 5776930L, 5781414L, 5794889L, 5773111L, 5782370L, 
5734834L, 5732385L, 5758450L, 5781360L, 5745034L, 5769765L, 5800168L, 
5778723L, 5766709L, 5772101L, 5808899L, 5723574L, 5785123L, 5731540L, 
5761725L, 5774060L, 5774283L, 5774569L, 5779113L, 5777001L, 5773012L, 
5767950L, 5766123L, 5753167L), elevation = c(32.68, 10.4, 2, 
33.41, 16.8, 22.34, 3.64, 33.7, 12.3, 39, 45.6, 32.94, 168.2, 
13.6, 0.9, 27, 34, 21.05, 4.2, 20.7, 28.17, 20.5, 80, 160.1, 
20.7, 0.6, 8.5, 1.5, 68.6, 4.6, 5.5, 18.15, 23.5, 56.3, 27.4, 
31.6, 24.5, 36.7, 78.09, 125, 96.89, 26.75), total_depth = c(619.25, 
1773, 1238, 496.83, 900.02, 872.36, 1031.75, 1181.11, 1155, 528.8, 
775, 875.75, 249.94, 903.29, 1049.8, 178, 840.23, 727.67, 1586.47, 
353.9, 1389.2, 905, 333, 327, 1294, 3661, 2290, 1862, 1197, 1422, 
1400, 840, 1524, 221.1, 825, 849.4, 742.6, 607, 2345, 2001.8, 
1443, 2493.5)), .Names = c("boreid", "easting", "northing", "elevation", 
"total_depth"), class = "data.frame", row.names = c(NA, -42L))

一个很好的选择是RGL包。这允许您绘制以下3d图像(链接自):

对于
rgl
来说,一个获得灵感的好地方是看看关于它的问题

另一个选项是
scatterplot3d
包(图像链接自,链接包括示例代码):

仔细阅读这些软件包的文档,并查找一些在线示例,应该可以让您开始学习