钻孔数据包含“项圈”信息:X,Y和Z(Z是地面高程,Z = 0是平均海平面的某个基准面),也是Z方向的钻孔长度。
如何创建钻孔痕迹(曲线)的3D图?我正在寻找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))
答案 0 :(得分:5)
执行此操作的一个很好的选择是RGL包。这允许您绘制诸如此类的3d图像(从this question链接):
获得rgl
灵感的好地方是查看有关它的问题here on SO。
另一个选项是scatterplot3d
包(图片从here链接,链接包含示例代码):
仔细阅读这些软件包的文档,查看一些在线示例应该可以帮助您入门。