如何在3d中绘制钻孔轨迹? [英] How would I plot borehole traces in 3d?

查看:82
本文介绍了如何在3d中绘制钻孔轨迹?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

钻孔数据包含项圈"信息:X,Y和Z(Z是地面标高,Z = 0是某些数据,例如平均海平面),还包括Z方向上的钻孔长度.

Borehole data contains the "collar" information: that's X,Y, and Z (Z is ground elevation, and Z=0 is some datum like mean sea level), and also borehole length in Z direction.

如何创建钻孔轨迹(曲线)的3D图?我正在寻找R中的解决方案,但同时也对python感兴趣(尽管并没有将其标记为万一,以免造成混淆).

How can I create a 3D plot of the borehole traces (curves)? I'm looking for solutions in R but also interested in python (though haven't tagged it as such in case it just confuses).

结果可能类似于ArcScene的以下图像:

The result might be similar to this image from ArcScene:

的ArcScene查看器示例.

.

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

Here, the borehole traces are coloured by another parameter from one or more separate files, and keyed to the borehole name or some index. (This viewer also allows rotation of the viewport with mouse.)

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

Boreholes might also be non-vertical, and not straight.

以下是一些数据:

> 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图像(链接到问题):

A good option to do this is the RGL package. This allows you to draw 3d images such as these (linked from this question):

rgl中获得灵感的一个好地方是在此处SO .

A good place to get some inspiration for rgl is to have a look at the questions about it here on SO.

另一种选择是scatterplot3d软件包(图像从此处链接,链接包含示例代码):

Another option would be the scatterplot3d package (image linked from here, link includes example code):

仔细阅读这些软件包的文档,并查找一些在线示例可以帮助您入门.

Carefully reading the documentation of these packages, and looking up some online examples should get you started.

这篇关于如何在3d中绘制钻孔轨迹?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆