dimine-python-sdk 0.1.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. dimine_python_sdk/__init__.py +13 -0
  2. dimine_python_sdk/conn/__init__.py +5 -0
  3. dimine_python_sdk/conn/base_conn_client.py +167 -0
  4. dimine_python_sdk/conn/conn_client.py +382 -0
  5. dimine_python_sdk/docs/guides/data_edit.md +306 -0
  6. dimine_python_sdk/docs/guides/data_get.md +266 -0
  7. dimine_python_sdk/docs/guides/data_types.md +152 -0
  8. dimine_python_sdk/docs/guides/features.md +271 -0
  9. dimine_python_sdk/docs/guides/io.md +157 -0
  10. dimine_python_sdk/docs/index.md +41 -0
  11. dimine_python_sdk/docs/quickstart.md +45 -0
  12. dimine_python_sdk/docs/reference/SUMMARY.md +19 -0
  13. dimine_python_sdk/docs/reference/conn/base_conn_client.md +3 -0
  14. dimine_python_sdk/docs/reference/conn/conn_client.md +3 -0
  15. dimine_python_sdk/docs/reference/lib/algorithm/model_func.md +3 -0
  16. dimine_python_sdk/docs/reference/lib/io/file_conversion.md +3 -0
  17. dimine_python_sdk/docs/reference/lib/io/models.md +3 -0
  18. dimine_python_sdk/docs/reference/lib/io/project_plotting.md +3 -0
  19. dimine_python_sdk/docs/reference/lib/prospecting/block_data.md +3 -0
  20. dimine_python_sdk/docs/reference/lib/prospecting/drill_db.md +3 -0
  21. dimine_python_sdk/docs/reference/lib/prospecting/models.md +3 -0
  22. dimine_python_sdk/docs/reference/lib/prospecting/valuation.md +3 -0
  23. dimine_python_sdk/docs/reference/lib/types/entity.md +3 -0
  24. dimine_python_sdk/docs/reference/lib/types/line.md +3 -0
  25. dimine_python_sdk/docs/reference/lib/types/point.md +3 -0
  26. dimine_python_sdk/docs/reference/logger.md +3 -0
  27. dimine_python_sdk/docs/reference/models/conn.md +3 -0
  28. dimine_python_sdk/docs/reference/models/errors.md +3 -0
  29. dimine_python_sdk/docs/reference/models/types.md +3 -0
  30. dimine_python_sdk/docs/summary.md +6 -0
  31. dimine_python_sdk/lib/__init__.py +20 -0
  32. dimine_python_sdk/lib/algorithm/__init__.py +1 -0
  33. dimine_python_sdk/lib/algorithm/model_func.py +219 -0
  34. dimine_python_sdk/lib/exploitation/__init__.py +0 -0
  35. dimine_python_sdk/lib/io/__init__.py +2 -0
  36. dimine_python_sdk/lib/io/file_conversion.py +143 -0
  37. dimine_python_sdk/lib/io/models.py +180 -0
  38. dimine_python_sdk/lib/io/project_plotting.py +40 -0
  39. dimine_python_sdk/lib/prospecting/__init__.py +3 -0
  40. dimine_python_sdk/lib/prospecting/block_data.py +289 -0
  41. dimine_python_sdk/lib/prospecting/drill_db.py +333 -0
  42. dimine_python_sdk/lib/prospecting/models.py +276 -0
  43. dimine_python_sdk/lib/prospecting/valuation.py +113 -0
  44. dimine_python_sdk/lib/types/__init__.py +4 -0
  45. dimine_python_sdk/lib/types/entity.py +957 -0
  46. dimine_python_sdk/lib/types/line.py +188 -0
  47. dimine_python_sdk/lib/types/point.py +695 -0
  48. dimine_python_sdk/logger.py +7 -0
  49. dimine_python_sdk/models/__init__.py +3 -0
  50. dimine_python_sdk/models/conn.py +53 -0
  51. dimine_python_sdk/models/errors.py +4 -0
  52. dimine_python_sdk/models/types.py +131 -0
  53. dimine_python_sdk/site/404.html +671 -0
  54. dimine_python_sdk/site/assets/_mkdocstrings.css +237 -0
  55. dimine_python_sdk/site/assets/images/favicon.png +0 -0
  56. dimine_python_sdk/site/assets/javascripts/bundle.79ae519e.min.js +16 -0
  57. dimine_python_sdk/site/assets/javascripts/bundle.79ae519e.min.js.map +7 -0
  58. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  59. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  60. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  61. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  62. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
  63. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  64. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  65. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  66. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
  67. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
  68. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  69. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
  70. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  71. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  72. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  73. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
  74. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
  75. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  76. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  77. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  78. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  79. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  80. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  81. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
  82. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  83. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  84. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
  85. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
  86. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
  87. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  88. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  89. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
  90. dimine_python_sdk/site/assets/javascripts/lunr/tinyseg.js +206 -0
  91. dimine_python_sdk/site/assets/javascripts/lunr/wordcut.js +6708 -0
  92. dimine_python_sdk/site/assets/javascripts/workers/search.2c215733.min.js +42 -0
  93. dimine_python_sdk/site/assets/javascripts/workers/search.2c215733.min.js.map +7 -0
  94. dimine_python_sdk/site/assets/stylesheets/main.484c7ddc.min.css +1 -0
  95. dimine_python_sdk/site/assets/stylesheets/main.484c7ddc.min.css.map +1 -0
  96. dimine_python_sdk/site/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
  97. dimine_python_sdk/site/assets/stylesheets/palette.ab4e12ef.min.css.map +1 -0
  98. dimine_python_sdk/site/guides/data_edit.html +1251 -0
  99. dimine_python_sdk/site/guides/data_get.html +1206 -0
  100. dimine_python_sdk/site/guides/data_types.html +1529 -0
  101. dimine_python_sdk/site/guides/features.html +1217 -0
  102. dimine_python_sdk/site/guides/io.html +1025 -0
  103. dimine_python_sdk/site/index.html +849 -0
  104. dimine_python_sdk/site/objects.inv +0 -0
  105. dimine_python_sdk/site/quickstart.html +859 -0
  106. dimine_python_sdk/site/reference/SUMMARY.html +729 -0
  107. dimine_python_sdk/site/reference/conn/base_conn_client.html +1295 -0
  108. dimine_python_sdk/site/reference/conn/conn_client.html +3551 -0
  109. dimine_python_sdk/site/reference/lib/algorithm/model_func.html +2162 -0
  110. dimine_python_sdk/site/reference/lib/io/file_conversion.html +1725 -0
  111. dimine_python_sdk/site/reference/lib/io/models.html +1625 -0
  112. dimine_python_sdk/site/reference/lib/io/project_plotting.html +984 -0
  113. dimine_python_sdk/site/reference/lib/prospecting/block_data.html +2455 -0
  114. dimine_python_sdk/site/reference/lib/prospecting/drill_db.html +2836 -0
  115. dimine_python_sdk/site/reference/lib/prospecting/models.html +2309 -0
  116. dimine_python_sdk/site/reference/lib/prospecting/valuation.html +1373 -0
  117. dimine_python_sdk/site/reference/lib/types/entity.html +6728 -0
  118. dimine_python_sdk/site/reference/lib/types/line.html +1985 -0
  119. dimine_python_sdk/site/reference/lib/types/point.html +3672 -0
  120. dimine_python_sdk/site/reference/logger.html +751 -0
  121. dimine_python_sdk/site/reference/models/conn.html +751 -0
  122. dimine_python_sdk/site/reference/models/errors.html +802 -0
  123. dimine_python_sdk/site/reference/models/types.html +1679 -0
  124. dimine_python_sdk/site/search/search_index.json +1 -0
  125. dimine_python_sdk/site/sitemap.xml +107 -0
  126. dimine_python_sdk/site/sitemap.xml.gz +0 -0
  127. dimine_python_sdk/site/summary.html +697 -0
  128. dimine_python_sdk-0.1.8.dist-info/METADATA +15 -0
  129. dimine_python_sdk-0.1.8.dist-info/RECORD +135 -0
  130. dimine_python_sdk-0.1.8.dist-info/WHEEL +5 -0
  131. dimine_python_sdk-0.1.8.dist-info/top_level.txt +2 -0
  132. tests/conn_test.py +250 -0
  133. tests/test_base_type.py +143 -0
  134. tests/ws_client.py +60 -0
  135. tests/ws_server.py +271 -0
@@ -0,0 +1,2836 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en" class="no-js">
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+ <meta name="viewport" content="width=device-width,initial-scale=1">
8
+
9
+
10
+
11
+ <link rel="canonical" href="https://localhost:8000/docs/reference/lib/prospecting/drill_db.html">
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+ <link rel="icon" href="../../../assets/images/favicon.png">
20
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.4">
21
+
22
+
23
+
24
+ <title>drill_db - dimine-python-sdk</title>
25
+
26
+
27
+
28
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.484c7ddc.min.css">
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
42
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
43
+ <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
44
+
45
+
46
+
47
+ <link rel="stylesheet" href="../../../assets/_mkdocstrings.css">
48
+
49
+ <script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
50
+
51
+
52
+
53
+
54
+
55
+ </head>
56
+
57
+
58
+ <body dir="ltr">
59
+
60
+
61
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
62
+ <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
63
+ <label class="md-overlay" for="__drawer"></label>
64
+ <div data-md-component="skip">
65
+
66
+
67
+ <a href="#drill_db" class="md-skip">
68
+ Skip to content
69
+ </a>
70
+
71
+ </div>
72
+ <div data-md-component="announce">
73
+
74
+ </div>
75
+
76
+
77
+
78
+
79
+ <header class="md-header" data-md-component="header">
80
+ <nav class="md-header__inner md-grid" aria-label="Header">
81
+ <a href="../../../index.html" title="dimine-python-sdk" class="md-header__button md-logo" aria-label="dimine-python-sdk" data-md-component="logo">
82
+
83
+
84
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
85
+
86
+ </a>
87
+ <label class="md-header__button md-icon" for="__drawer">
88
+
89
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
90
+ </label>
91
+ <div class="md-header__title" data-md-component="header-title">
92
+ <div class="md-header__ellipsis">
93
+ <div class="md-header__topic">
94
+ <span class="md-ellipsis">
95
+ dimine-python-sdk
96
+ </span>
97
+ </div>
98
+ <div class="md-header__topic" data-md-component="header-topic">
99
+ <span class="md-ellipsis">
100
+
101
+ drill_db
102
+
103
+ </span>
104
+ </div>
105
+ </div>
106
+ </div>
107
+
108
+
109
+ <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
110
+
111
+
112
+
113
+
114
+
115
+ <label class="md-header__button md-icon" for="__search">
116
+
117
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
118
+ </label>
119
+ <div class="md-search" data-md-component="search" role="dialog">
120
+ <label class="md-search__overlay" for="__search"></label>
121
+ <div class="md-search__inner" role="search">
122
+ <form class="md-search__form" name="search">
123
+ <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
124
+ <label class="md-search__icon md-icon" for="__search">
125
+
126
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
127
+
128
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
129
+ </label>
130
+ <nav class="md-search__options" aria-label="Search">
131
+
132
+ <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
133
+
134
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
135
+ </button>
136
+ </nav>
137
+
138
+ </form>
139
+ <div class="md-search__output">
140
+ <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
141
+ <div class="md-search-result" data-md-component="search-result">
142
+ <div class="md-search-result__meta">
143
+ Initializing search
144
+ </div>
145
+ <ol class="md-search-result__list" role="presentation"></ol>
146
+ </div>
147
+ </div>
148
+ </div>
149
+ </div>
150
+ </div>
151
+
152
+
153
+
154
+ </nav>
155
+
156
+ </header>
157
+
158
+ <div class="md-container" data-md-component="container">
159
+
160
+
161
+
162
+
163
+
164
+ <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
165
+ <div class="md-grid">
166
+ <ul class="md-tabs__list">
167
+
168
+
169
+
170
+
171
+
172
+
173
+ <li class="md-tabs__item">
174
+ <a href="../../../index.html" class="md-tabs__link">
175
+
176
+
177
+
178
+
179
+
180
+ 首页
181
+
182
+ </a>
183
+ </li>
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+ <li class="md-tabs__item">
193
+ <a href="../../../quickstart.html" class="md-tabs__link">
194
+
195
+
196
+
197
+
198
+
199
+ 快速开始
200
+
201
+ </a>
202
+ </li>
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+ <li class="md-tabs__item">
214
+ <a href="../../../guides/data_edit.html" class="md-tabs__link">
215
+
216
+
217
+
218
+ 操作指南
219
+
220
+ </a>
221
+ </li>
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+ <li class="md-tabs__item">
232
+ <a href="../../SUMMARY.html" class="md-tabs__link">
233
+
234
+
235
+
236
+
237
+
238
+ API 参考
239
+
240
+ </a>
241
+ </li>
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+ <li class="md-tabs__item">
251
+ <a href="../../../examples" class="md-tabs__link">
252
+
253
+
254
+
255
+
256
+
257
+ 示例
258
+
259
+ </a>
260
+ </li>
261
+
262
+
263
+
264
+ </ul>
265
+ </div>
266
+ </nav>
267
+
268
+
269
+
270
+ <main class="md-main" data-md-component="main">
271
+ <div class="md-main__inner md-grid">
272
+
273
+
274
+
275
+ <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
276
+ <div class="md-sidebar__scrollwrap">
277
+ <div class="md-sidebar__inner">
278
+
279
+
280
+
281
+
282
+
283
+
284
+ <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
285
+ <label class="md-nav__title" for="__drawer">
286
+ <a href="../../../index.html" title="dimine-python-sdk" class="md-nav__button md-logo" aria-label="dimine-python-sdk" data-md-component="logo">
287
+
288
+
289
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
290
+
291
+ </a>
292
+ dimine-python-sdk
293
+ </label>
294
+
295
+ <ul class="md-nav__list" data-md-scrollfix>
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+ <li class="md-nav__item">
304
+ <a href="../../../index.html" class="md-nav__link">
305
+
306
+
307
+
308
+ <span class="md-ellipsis">
309
+
310
+
311
+ 首页
312
+
313
+
314
+
315
+ </span>
316
+
317
+
318
+
319
+ </a>
320
+ </li>
321
+
322
+
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+ <li class="md-nav__item">
331
+ <a href="../../../quickstart.html" class="md-nav__link">
332
+
333
+
334
+
335
+ <span class="md-ellipsis">
336
+
337
+
338
+ 快速开始
339
+
340
+
341
+
342
+ </span>
343
+
344
+
345
+
346
+ </a>
347
+ </li>
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+ <li class="md-nav__item md-nav__item--nested">
368
+
369
+
370
+
371
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
372
+
373
+
374
+ <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
375
+
376
+
377
+
378
+ <span class="md-ellipsis">
379
+
380
+
381
+ 操作指南
382
+
383
+
384
+
385
+ </span>
386
+
387
+
388
+
389
+ <span class="md-nav__icon md-icon"></span>
390
+ </label>
391
+
392
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
393
+ <label class="md-nav__title" for="__nav_3">
394
+ <span class="md-nav__icon md-icon"></span>
395
+
396
+
397
+ 操作指南
398
+
399
+
400
+ </label>
401
+ <ul class="md-nav__list" data-md-scrollfix>
402
+
403
+
404
+
405
+
406
+
407
+
408
+
409
+ <li class="md-nav__item">
410
+ <a href="../../../guides/data_edit.html" class="md-nav__link">
411
+
412
+
413
+
414
+ <span class="md-ellipsis">
415
+
416
+
417
+ 数据修改
418
+
419
+
420
+
421
+ </span>
422
+
423
+
424
+
425
+ </a>
426
+ </li>
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+ <li class="md-nav__item">
438
+ <a href="../../../guides/data_get.html" class="md-nav__link">
439
+
440
+
441
+
442
+ <span class="md-ellipsis">
443
+
444
+
445
+ 数据获取
446
+
447
+
448
+
449
+ </span>
450
+
451
+
452
+
453
+ </a>
454
+ </li>
455
+
456
+
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+
465
+ <li class="md-nav__item">
466
+ <a href="../../../guides/data_types.html" class="md-nav__link">
467
+
468
+
469
+
470
+ <span class="md-ellipsis">
471
+
472
+
473
+ 数据类型说明
474
+
475
+
476
+
477
+ </span>
478
+
479
+
480
+
481
+ </a>
482
+ </li>
483
+
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+ <li class="md-nav__item">
494
+ <a href="../../../guides/features.html" class="md-nav__link">
495
+
496
+
497
+
498
+ <span class="md-ellipsis">
499
+
500
+
501
+ 要素管理
502
+
503
+
504
+
505
+ </span>
506
+
507
+
508
+
509
+ </a>
510
+ </li>
511
+
512
+
513
+
514
+
515
+
516
+
517
+
518
+
519
+
520
+
521
+ <li class="md-nav__item">
522
+ <a href="../../../guides/io.html" class="md-nav__link">
523
+
524
+
525
+
526
+ <span class="md-ellipsis">
527
+
528
+
529
+ IO操作
530
+
531
+
532
+
533
+ </span>
534
+
535
+
536
+
537
+ </a>
538
+ </li>
539
+
540
+
541
+
542
+
543
+ </ul>
544
+ </nav>
545
+
546
+ </li>
547
+
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+
556
+ <li class="md-nav__item">
557
+ <a href="../../SUMMARY.html" class="md-nav__link">
558
+
559
+
560
+
561
+ <span class="md-ellipsis">
562
+
563
+
564
+ API 参考
565
+
566
+
567
+
568
+ </span>
569
+
570
+
571
+
572
+ </a>
573
+ </li>
574
+
575
+
576
+
577
+
578
+
579
+
580
+
581
+
582
+
583
+ <li class="md-nav__item">
584
+ <a href="../../../examples" class="md-nav__link">
585
+
586
+
587
+
588
+ <span class="md-ellipsis">
589
+
590
+
591
+ 示例
592
+
593
+
594
+
595
+ </span>
596
+
597
+
598
+
599
+ </a>
600
+ </li>
601
+
602
+
603
+
604
+ </ul>
605
+ </nav>
606
+ </div>
607
+ </div>
608
+ </div>
609
+
610
+
611
+
612
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
613
+ <div class="md-sidebar__scrollwrap">
614
+ <div class="md-sidebar__inner">
615
+
616
+
617
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
618
+
619
+
620
+
621
+
622
+
623
+
624
+ <label class="md-nav__title" for="__toc">
625
+ <span class="md-nav__icon md-icon"></span>
626
+ Table of contents
627
+ </label>
628
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
629
+
630
+ <li class="md-nav__item">
631
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db" class="md-nav__link">
632
+ <span class="md-ellipsis">
633
+
634
+ drill_db
635
+
636
+ </span>
637
+ </a>
638
+
639
+ </li>
640
+
641
+ <li class="md-nav__item">
642
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData" class="md-nav__link">
643
+ <span class="md-ellipsis">
644
+
645
+ DmGeoDrillData
646
+
647
+ </span>
648
+ </a>
649
+
650
+ <nav class="md-nav" aria-label="DmGeoDrillData">
651
+ <ul class="md-nav__list">
652
+
653
+ <li class="md-nav__item">
654
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData.get_collar_table" class="md-nav__link">
655
+ <span class="md-ellipsis">
656
+
657
+ get_collar_table
658
+
659
+ </span>
660
+ </a>
661
+
662
+ </li>
663
+
664
+ <li class="md-nav__item">
665
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData.get_drill_db_manager" class="md-nav__link">
666
+ <span class="md-ellipsis">
667
+
668
+ get_drill_db_manager
669
+
670
+ </span>
671
+ </a>
672
+
673
+ </li>
674
+
675
+ <li class="md-nav__item">
676
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData.get_lithology_table" class="md-nav__link">
677
+ <span class="md-ellipsis">
678
+
679
+ get_lithology_table
680
+
681
+ </span>
682
+ </a>
683
+
684
+ </li>
685
+
686
+ <li class="md-nav__item">
687
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData.get_survey_table" class="md-nav__link">
688
+ <span class="md-ellipsis">
689
+
690
+ get_survey_table
691
+
692
+ </span>
693
+ </a>
694
+
695
+ </li>
696
+
697
+ <li class="md-nav__item">
698
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData.load" class="md-nav__link">
699
+ <span class="md-ellipsis">
700
+
701
+ load
702
+
703
+ </span>
704
+ </a>
705
+
706
+ </li>
707
+
708
+ <li class="md-nav__item">
709
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData.save" class="md-nav__link">
710
+ <span class="md-ellipsis">
711
+
712
+ save
713
+
714
+ </span>
715
+ </a>
716
+
717
+ </li>
718
+
719
+ </ul>
720
+ </nav>
721
+
722
+ </li>
723
+
724
+ <li class="md-nav__item">
725
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager" class="md-nav__link">
726
+ <span class="md-ellipsis">
727
+
728
+ DrillDBManager
729
+
730
+ </span>
731
+ </a>
732
+
733
+ <nav class="md-nav" aria-label="DrillDBManager">
734
+ <ul class="md-nav__list">
735
+
736
+ <li class="md-nav__item">
737
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_added_table" class="md-nav__link">
738
+ <span class="md-ellipsis">
739
+
740
+ get_added_table
741
+
742
+ </span>
743
+ </a>
744
+
745
+ </li>
746
+
747
+ <li class="md-nav__item">
748
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_added_table_count" class="md-nav__link">
749
+ <span class="md-ellipsis">
750
+
751
+ get_added_table_count
752
+
753
+ </span>
754
+ </a>
755
+
756
+ </li>
757
+
758
+ <li class="md-nav__item">
759
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_base_table" class="md-nav__link">
760
+ <span class="md-ellipsis">
761
+
762
+ get_base_table
763
+
764
+ </span>
765
+ </a>
766
+
767
+ </li>
768
+
769
+ <li class="md-nav__item">
770
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_collar_table_def" class="md-nav__link">
771
+ <span class="md-ellipsis">
772
+
773
+ get_collar_table_def
774
+
775
+ </span>
776
+ </a>
777
+
778
+ </li>
779
+
780
+ <li class="md-nav__item">
781
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_drill_count" class="md-nav__link">
782
+ <span class="md-ellipsis">
783
+
784
+ get_drill_count
785
+
786
+ </span>
787
+ </a>
788
+
789
+ </li>
790
+
791
+ <li class="md-nav__item">
792
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_lithology_table_def" class="md-nav__link">
793
+ <span class="md-ellipsis">
794
+
795
+ get_lithology_table_def
796
+
797
+ </span>
798
+ </a>
799
+
800
+ </li>
801
+
802
+ <li class="md-nav__item">
803
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_survey_table_def" class="md-nav__link">
804
+ <span class="md-ellipsis">
805
+
806
+ get_survey_table_def
807
+
808
+ </span>
809
+ </a>
810
+
811
+ </li>
812
+
813
+ <li class="md-nav__item">
814
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_total_length" class="md-nav__link">
815
+ <span class="md-ellipsis">
816
+
817
+ get_total_length
818
+
819
+ </span>
820
+ </a>
821
+
822
+ </li>
823
+
824
+ </ul>
825
+ </nav>
826
+
827
+ </li>
828
+
829
+ <li class="md-nav__item">
830
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillFunctionWrapper" class="md-nav__link">
831
+ <span class="md-ellipsis">
832
+
833
+ DrillFunctionWrapper
834
+
835
+ </span>
836
+ </a>
837
+
838
+ <nav class="md-nav" aria-label="DrillFunctionWrapper">
839
+ <ul class="md-nav__list">
840
+
841
+ <li class="md-nav__item">
842
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillFunctionWrapper.extra_high_grade_process" class="md-nav__link">
843
+ <span class="md-ellipsis">
844
+
845
+ extra_high_grade_process
846
+
847
+ </span>
848
+ </a>
849
+
850
+ </li>
851
+
852
+ <li class="md-nav__item">
853
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillFunctionWrapper.sample_length_combine" class="md-nav__link">
854
+ <span class="md-ellipsis">
855
+
856
+ sample_length_combine
857
+
858
+ </span>
859
+ </a>
860
+
861
+ </li>
862
+
863
+ <li class="md-nav__item">
864
+ <a href="#dimine_python_sdk.lib.prospecting.drill_db.DrillFunctionWrapper.step_combine" class="md-nav__link">
865
+ <span class="md-ellipsis">
866
+
867
+ step_combine
868
+
869
+ </span>
870
+ </a>
871
+
872
+ </li>
873
+
874
+ </ul>
875
+ </nav>
876
+
877
+ </li>
878
+
879
+ </ul>
880
+
881
+ </nav>
882
+ </div>
883
+ </div>
884
+ </div>
885
+
886
+
887
+
888
+ <div class="md-content" data-md-component="content">
889
+
890
+ <article class="md-content__inner md-typeset">
891
+
892
+
893
+
894
+
895
+
896
+ <h1 id="drill_db">drill_db</h1>
897
+
898
+
899
+ <div class="doc doc-object doc-module">
900
+
901
+
902
+
903
+ <a id="dimine_python_sdk.lib.prospecting.drill_db"></a>
904
+ <div class="doc doc-contents first">
905
+
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+
914
+
915
+ <div class="doc doc-children">
916
+
917
+
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+ <div class="doc doc-object doc-class">
926
+
927
+
928
+
929
+ <h3 id="dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData" class="doc doc-heading">
930
+ <code>DmGeoDrillData</code>
931
+
932
+
933
+ </h3>
934
+
935
+
936
+ <div class="doc doc-contents ">
937
+
938
+
939
+
940
+ <p>二次封装 CGeoDrillDataNew (dmGeoDrillData) 类</p>
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+ <details class="mkdocstrings-source">
950
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
951
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">206</span>
952
+ <span class="normal">207</span>
953
+ <span class="normal">208</span>
954
+ <span class="normal">209</span>
955
+ <span class="normal">210</span>
956
+ <span class="normal">211</span>
957
+ <span class="normal">212</span>
958
+ <span class="normal">213</span>
959
+ <span class="normal">214</span>
960
+ <span class="normal">215</span>
961
+ <span class="normal">216</span>
962
+ <span class="normal">217</span>
963
+ <span class="normal">218</span>
964
+ <span class="normal">219</span>
965
+ <span class="normal">220</span>
966
+ <span class="normal">221</span>
967
+ <span class="normal">222</span>
968
+ <span class="normal">223</span>
969
+ <span class="normal">224</span>
970
+ <span class="normal">225</span>
971
+ <span class="normal">226</span>
972
+ <span class="normal">227</span>
973
+ <span class="normal">228</span>
974
+ <span class="normal">229</span>
975
+ <span class="normal">230</span>
976
+ <span class="normal">231</span>
977
+ <span class="normal">232</span>
978
+ <span class="normal">233</span>
979
+ <span class="normal">234</span>
980
+ <span class="normal">235</span>
981
+ <span class="normal">236</span>
982
+ <span class="normal">237</span>
983
+ <span class="normal">238</span>
984
+ <span class="normal">239</span>
985
+ <span class="normal">240</span>
986
+ <span class="normal">241</span>
987
+ <span class="normal">242</span>
988
+ <span class="normal">243</span>
989
+ <span class="normal">244</span>
990
+ <span class="normal">245</span>
991
+ <span class="normal">246</span>
992
+ <span class="normal">247</span>
993
+ <span class="normal">248</span>
994
+ <span class="normal">249</span>
995
+ <span class="normal">250</span>
996
+ <span class="normal">251</span>
997
+ <span class="normal">252</span>
998
+ <span class="normal">253</span>
999
+ <span class="normal">254</span>
1000
+ <span class="normal">255</span>
1001
+ <span class="normal">256</span>
1002
+ <span class="normal">257</span>
1003
+ <span class="normal">258</span>
1004
+ <span class="normal">259</span>
1005
+ <span class="normal">260</span>
1006
+ <span class="normal">261</span>
1007
+ <span class="normal">262</span>
1008
+ <span class="normal">263</span>
1009
+ <span class="normal">264</span>
1010
+ <span class="normal">265</span>
1011
+ <span class="normal">266</span>
1012
+ <span class="normal">267</span>
1013
+ <span class="normal">268</span>
1014
+ <span class="normal">269</span>
1015
+ <span class="normal">270</span>
1016
+ <span class="normal">271</span>
1017
+ <span class="normal">272</span>
1018
+ <span class="normal">273</span>
1019
+ <span class="normal">274</span>
1020
+ <span class="normal">275</span>
1021
+ <span class="normal">276</span>
1022
+ <span class="normal">277</span>
1023
+ <span class="normal">278</span>
1024
+ <span class="normal">279</span>
1025
+ <span class="normal">280</span>
1026
+ <span class="normal">281</span>
1027
+ <span class="normal">282</span>
1028
+ <span class="normal">283</span>
1029
+ <span class="normal">284</span>
1030
+ <span class="normal">285</span>
1031
+ <span class="normal">286</span>
1032
+ <span class="normal">287</span>
1033
+ <span class="normal">288</span>
1034
+ <span class="normal">289</span>
1035
+ <span class="normal">290</span>
1036
+ <span class="normal">291</span>
1037
+ <span class="normal">292</span>
1038
+ <span class="normal">293</span>
1039
+ <span class="normal">294</span>
1040
+ <span class="normal">295</span>
1041
+ <span class="normal">296</span>
1042
+ <span class="normal">297</span>
1043
+ <span class="normal">298</span>
1044
+ <span class="normal">299</span>
1045
+ <span class="normal">300</span>
1046
+ <span class="normal">301</span>
1047
+ <span class="normal">302</span>
1048
+ <span class="normal">303</span>
1049
+ <span class="normal">304</span>
1050
+ <span class="normal">305</span>
1051
+ <span class="normal">306</span>
1052
+ <span class="normal">307</span>
1053
+ <span class="normal">308</span>
1054
+ <span class="normal">309</span>
1055
+ <span class="normal">310</span>
1056
+ <span class="normal">311</span>
1057
+ <span class="normal">312</span>
1058
+ <span class="normal">313</span>
1059
+ <span class="normal">314</span>
1060
+ <span class="normal">315</span>
1061
+ <span class="normal">316</span>
1062
+ <span class="normal">317</span>
1063
+ <span class="normal">318</span>
1064
+ <span class="normal">319</span>
1065
+ <span class="normal">320</span>
1066
+ <span class="normal">321</span>
1067
+ <span class="normal">322</span>
1068
+ <span class="normal">323</span>
1069
+ <span class="normal">324</span>
1070
+ <span class="normal">325</span>
1071
+ <span class="normal">326</span>
1072
+ <span class="normal">327</span>
1073
+ <span class="normal">328</span>
1074
+ <span class="normal">329</span>
1075
+ <span class="normal">330</span>
1076
+ <span class="normal">331</span>
1077
+ <span class="normal">332</span>
1078
+ <span class="normal">333</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">DmGeoDrillData</span><span class="p">:</span>
1079
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1080
+ <span class="sd"> 二次封装 CGeoDrillDataNew (dmGeoDrillData) 类</span>
1081
+ <span class="sd"> &quot;&quot;&quot;</span>
1082
+ <span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
1083
+ <span class="c1"># 初始化底层对象</span>
1084
+ <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span> <span class="o">=</span> <span class="n">Dm</span><span class="o">.</span><span class="n">dmGeoDrillData</span><span class="p">()</span>
1085
+
1086
+ <span class="k">def</span><span class="w"> </span><span class="nf">load</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Path</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
1087
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1088
+ <span class="sd"> 加载钻孔数据库文件</span>
1089
+ <span class="sd"> :param file_path: DMF 文件路径(自动处理编码转换)</span>
1090
+ <span class="sd"> :raises RuntimeError: 加载失败时抛出异常</span>
1091
+
1092
+ <span class="sd"> :return: 是否成功加载</span>
1093
+
1094
+ <span class="sd"> example:</span>
1095
+ <span class="sd"> ```python</span>
1096
+ <span class="sd"> drill_db = DmGeoDrillData()</span>
1097
+ <span class="sd"> success = drill_db.load(&quot;model.dmf&quot;)</span>
1098
+ <span class="sd"> if success:</span>
1099
+ <span class="sd"> print(&quot;成功加载钻孔数据库&quot;)</span>
1100
+ <span class="sd"> ```</span>
1101
+ <span class="sd"> &quot;&quot;&quot;</span>
1102
+ <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="o">.</span><span class="n">Load</span><span class="p">(</span><span class="n">file_path</span><span class="p">)</span>
1103
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">result</span><span class="p">:</span>
1104
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;加载钻孔数据库失败: </span><span class="si">{</span><span class="n">file_path</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
1105
+ <span class="k">return</span> <span class="n">result</span>
1106
+
1107
+ <span class="k">def</span><span class="w"> </span><span class="nf">save</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Path</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
1108
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1109
+ <span class="sd"> 保存钻孔数据库到文件</span>
1110
+ <span class="sd"> :param file_path: 保存路径(自动处理编码转换)</span>
1111
+ <span class="sd"> :raises RuntimeError: 保存失败时抛出异常</span>
1112
+ <span class="sd"> :return: 是否成功保存</span>
1113
+
1114
+ <span class="sd"> example:</span>
1115
+ <span class="sd"> ```python</span>
1116
+ <span class="sd"> drill_db = DmGeoDrillData()</span>
1117
+ <span class="sd"> success = drill_db.load(&quot;model.dmf&quot;)</span>
1118
+ <span class="sd"> if success:</span>
1119
+ <span class="sd"> print(&quot;成功加载钻孔数据库&quot;)</span>
1120
+ <span class="sd"> success = drill_db.save(&quot;model.dmf&quot;)</span>
1121
+ <span class="sd"> if success:</span>
1122
+ <span class="sd"> print(&quot;成功保存钻孔数据库&quot;)</span>
1123
+ <span class="sd"> ```</span>
1124
+ <span class="sd"> &quot;&quot;&quot;</span>
1125
+ <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="o">.</span><span class="n">Save</span><span class="p">(</span><span class="n">file_path</span><span class="p">)</span>
1126
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">result</span><span class="p">:</span>
1127
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;保存钻孔数据库失败: </span><span class="si">{</span><span class="n">file_path</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
1128
+ <span class="k">return</span> <span class="n">result</span>
1129
+
1130
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_drill_db_manager</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DrillDBManager</span><span class="p">:</span>
1131
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1132
+ <span class="sd"> 获取钻孔数据库管理器实例</span>
1133
+ <span class="sd"> :return: DrillDBManager实例</span>
1134
+
1135
+ <span class="sd"> example:</span>
1136
+ <span class="sd"> ```python</span>
1137
+ <span class="sd"> drill_db = DmGeoDrillData()</span>
1138
+ <span class="sd"> success = drill_db.load(&quot;model.dmf&quot;)</span>
1139
+ <span class="sd"> if success:</span>
1140
+ <span class="sd"> print(&quot;成功加载钻孔数据库&quot;)</span>
1141
+ <span class="sd"> db_manager = drill_db.get_drill_db_manager()</span>
1142
+ <span class="sd"> print(f&quot;钻孔数量: {db_manager.get_drill_count()}&quot;)</span>
1143
+ <span class="sd"> ```</span>
1144
+ <span class="sd"> &quot;&quot;&quot;</span>
1145
+ <span class="n">db_manager</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="o">.</span><span class="n">GetDrillDBManager</span><span class="p">()</span>
1146
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">db_manager</span><span class="p">:</span>
1147
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;钻孔数据库管理器获取失败&quot;</span><span class="p">)</span>
1148
+ <span class="k">return</span> <span class="n">DrillDBManager</span><span class="o">.</span><span class="n">_from_obj</span><span class="p">(</span><span class="n">db_manager</span><span class="p">)</span>
1149
+
1150
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_collar_table</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DmDataTable</span><span class="p">:</span>
1151
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;获取钻孔孔口表 (Collar Table)</span>
1152
+ <span class="sd"> :return: 孔口表数据(DmDataTable实例)</span>
1153
+
1154
+ <span class="sd"> example:</span>
1155
+ <span class="sd"> ```python</span>
1156
+ <span class="sd"> drill_db = DmGeoDrillData()</span>
1157
+ <span class="sd"> success = drill_db.load(&quot;model.dmf&quot;)</span>
1158
+ <span class="sd"> if success:</span>
1159
+ <span class="sd"> print(&quot;成功加载钻孔数据库&quot;)</span>
1160
+ <span class="sd"> collar_table = drill_db.get_collar_table()</span>
1161
+ <span class="sd"> print(f&quot;孔口表字段数: {collar_table.get_field_count()}&quot;)</span>
1162
+ <span class="sd"> ```</span>
1163
+ <span class="sd"> &quot;&quot;&quot;</span>
1164
+ <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="p">:</span>
1165
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;数据库未加载&quot;</span><span class="p">)</span>
1166
+ <span class="n">cpp_result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="o">.</span><span class="n">GetCollarTable</span><span class="p">()</span>
1167
+ <span class="k">return</span> <span class="n">DmDataTable</span><span class="o">.</span><span class="n">_from_obj</span><span class="p">(</span><span class="n">cpp_result</span><span class="p">)</span>
1168
+
1169
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_survey_table</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DmDataTable</span><span class="p">:</span>
1170
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;获取钻孔测斜表 (Survey Table)</span>
1171
+ <span class="sd"> :return: 测斜表数据(DmDataTable实例)</span>
1172
+
1173
+ <span class="sd"> example:</span>
1174
+ <span class="sd"> ```python</span>
1175
+ <span class="sd"> drill_db = DmGeoDrillData()</span>
1176
+ <span class="sd"> success = drill_db.load(&quot;model.dmf&quot;)</span>
1177
+ <span class="sd"> if success:</span>
1178
+ <span class="sd"> print(&quot;成功加载钻孔数据库&quot;)</span>
1179
+ <span class="sd"> survey_table = drill_db.get_survey_table()</span>
1180
+ <span class="sd"> print(f&quot;测斜表字段数: {survey_table.get_field_count()}&quot;)</span>
1181
+ <span class="sd"> ```</span>
1182
+ <span class="sd"> &quot;&quot;&quot;</span>
1183
+ <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="p">:</span>
1184
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;数据库未加载&quot;</span><span class="p">)</span>
1185
+ <span class="n">cpp_result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="o">.</span><span class="n">GetSurveyTable</span><span class="p">()</span>
1186
+ <span class="k">return</span> <span class="n">DmDataTable</span><span class="o">.</span><span class="n">_from_obj</span><span class="p">(</span><span class="n">cpp_result</span><span class="p">)</span>
1187
+
1188
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_lithology_table</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DmDataTable</span><span class="p">:</span>
1189
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;获取钻孔岩性表 (Lithology Table)</span>
1190
+ <span class="sd"> :return: 岩性表数据(DmDataTable实例)</span>
1191
+
1192
+ <span class="sd"> example:</span>
1193
+ <span class="sd"> ```python</span>
1194
+ <span class="sd"> drill_db = DmGeoDrillData()</span>
1195
+ <span class="sd"> success = drill_db.load(&quot;model.dmf&quot;)</span>
1196
+ <span class="sd"> if success:</span>
1197
+ <span class="sd"> print(&quot;成功加载钻孔数据库&quot;)</span>
1198
+ <span class="sd"> lithology_table = drill_db.get_lithology_table()</span>
1199
+ <span class="sd"> print(f&quot;岩性表字段数: {lithology_table.get_field_count()}&quot;)</span>
1200
+ <span class="sd"> ```</span>
1201
+ <span class="sd"> &quot;&quot;&quot;</span>
1202
+ <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="p">:</span>
1203
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;数据库未加载&quot;</span><span class="p">)</span>
1204
+ <span class="n">cpp_result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="o">.</span><span class="n">GetLithologyTable</span><span class="p">()</span>
1205
+ <span class="k">return</span> <span class="n">DmDataTable</span><span class="o">.</span><span class="n">_from_obj</span><span class="p">(</span><span class="n">cpp_result</span><span class="p">)</span>
1206
+ </code></pre></div></td></tr></table></div>
1207
+ </details>
1208
+
1209
+
1210
+
1211
+ <div class="doc doc-children">
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+ <div class="doc doc-object doc-function">
1223
+
1224
+
1225
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData.get_collar_table" class="doc doc-heading">
1226
+ <code class="highlight language-python"><span class="n">get_collar_table</span><span class="p">()</span></code>
1227
+
1228
+ </h4>
1229
+
1230
+
1231
+ <div class="doc doc-contents ">
1232
+
1233
+ <p>获取钻孔孔口表 (Collar Table)
1234
+ :return: 孔口表数据(DmDataTable实例)</p>
1235
+ <p>example:</p>
1236
+ <pre><code class="language-python">drill_db = DmGeoDrillData()
1237
+ success = drill_db.load(&quot;model.dmf&quot;)
1238
+ if success:
1239
+ print(&quot;成功加载钻孔数据库&quot;)
1240
+ collar_table = drill_db.get_collar_table()
1241
+ print(f&quot;孔口表字段数: {collar_table.get_field_count()}&quot;)
1242
+ </code></pre>
1243
+
1244
+
1245
+ <details class="mkdocstrings-source">
1246
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
1247
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">278</span>
1248
+ <span class="normal">279</span>
1249
+ <span class="normal">280</span>
1250
+ <span class="normal">281</span>
1251
+ <span class="normal">282</span>
1252
+ <span class="normal">283</span>
1253
+ <span class="normal">284</span>
1254
+ <span class="normal">285</span>
1255
+ <span class="normal">286</span>
1256
+ <span class="normal">287</span>
1257
+ <span class="normal">288</span>
1258
+ <span class="normal">289</span>
1259
+ <span class="normal">290</span>
1260
+ <span class="normal">291</span>
1261
+ <span class="normal">292</span>
1262
+ <span class="normal">293</span>
1263
+ <span class="normal">294</span>
1264
+ <span class="normal">295</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_collar_table</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DmDataTable</span><span class="p">:</span>
1265
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;获取钻孔孔口表 (Collar Table)</span>
1266
+ <span class="sd"> :return: 孔口表数据(DmDataTable实例)</span>
1267
+
1268
+ <span class="sd"> example:</span>
1269
+ <span class="sd"> ```python</span>
1270
+ <span class="sd"> drill_db = DmGeoDrillData()</span>
1271
+ <span class="sd"> success = drill_db.load(&quot;model.dmf&quot;)</span>
1272
+ <span class="sd"> if success:</span>
1273
+ <span class="sd"> print(&quot;成功加载钻孔数据库&quot;)</span>
1274
+ <span class="sd"> collar_table = drill_db.get_collar_table()</span>
1275
+ <span class="sd"> print(f&quot;孔口表字段数: {collar_table.get_field_count()}&quot;)</span>
1276
+ <span class="sd"> ```</span>
1277
+ <span class="sd"> &quot;&quot;&quot;</span>
1278
+ <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="p">:</span>
1279
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;数据库未加载&quot;</span><span class="p">)</span>
1280
+ <span class="n">cpp_result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="o">.</span><span class="n">GetCollarTable</span><span class="p">()</span>
1281
+ <span class="k">return</span> <span class="n">DmDataTable</span><span class="o">.</span><span class="n">_from_obj</span><span class="p">(</span><span class="n">cpp_result</span><span class="p">)</span>
1282
+ </code></pre></div></td></tr></table></div>
1283
+ </details>
1284
+ </div>
1285
+
1286
+ </div>
1287
+
1288
+ <div class="doc doc-object doc-function">
1289
+
1290
+
1291
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData.get_drill_db_manager" class="doc doc-heading">
1292
+ <code class="highlight language-python"><span class="n">get_drill_db_manager</span><span class="p">()</span></code>
1293
+
1294
+ </h4>
1295
+
1296
+
1297
+ <div class="doc doc-contents ">
1298
+
1299
+ <p>获取钻孔数据库管理器实例
1300
+ :return: DrillDBManager实例</p>
1301
+ <p>example:</p>
1302
+ <pre><code class="language-python">drill_db = DmGeoDrillData()
1303
+ success = drill_db.load(&quot;model.dmf&quot;)
1304
+ if success:
1305
+ print(&quot;成功加载钻孔数据库&quot;)
1306
+ db_manager = drill_db.get_drill_db_manager()
1307
+ print(f&quot;钻孔数量: {db_manager.get_drill_count()}&quot;)
1308
+ </code></pre>
1309
+
1310
+
1311
+ <details class="mkdocstrings-source">
1312
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
1313
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">258</span>
1314
+ <span class="normal">259</span>
1315
+ <span class="normal">260</span>
1316
+ <span class="normal">261</span>
1317
+ <span class="normal">262</span>
1318
+ <span class="normal">263</span>
1319
+ <span class="normal">264</span>
1320
+ <span class="normal">265</span>
1321
+ <span class="normal">266</span>
1322
+ <span class="normal">267</span>
1323
+ <span class="normal">268</span>
1324
+ <span class="normal">269</span>
1325
+ <span class="normal">270</span>
1326
+ <span class="normal">271</span>
1327
+ <span class="normal">272</span>
1328
+ <span class="normal">273</span>
1329
+ <span class="normal">274</span>
1330
+ <span class="normal">275</span>
1331
+ <span class="normal">276</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_drill_db_manager</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DrillDBManager</span><span class="p">:</span>
1332
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1333
+ <span class="sd"> 获取钻孔数据库管理器实例</span>
1334
+ <span class="sd"> :return: DrillDBManager实例</span>
1335
+
1336
+ <span class="sd"> example:</span>
1337
+ <span class="sd"> ```python</span>
1338
+ <span class="sd"> drill_db = DmGeoDrillData()</span>
1339
+ <span class="sd"> success = drill_db.load(&quot;model.dmf&quot;)</span>
1340
+ <span class="sd"> if success:</span>
1341
+ <span class="sd"> print(&quot;成功加载钻孔数据库&quot;)</span>
1342
+ <span class="sd"> db_manager = drill_db.get_drill_db_manager()</span>
1343
+ <span class="sd"> print(f&quot;钻孔数量: {db_manager.get_drill_count()}&quot;)</span>
1344
+ <span class="sd"> ```</span>
1345
+ <span class="sd"> &quot;&quot;&quot;</span>
1346
+ <span class="n">db_manager</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="o">.</span><span class="n">GetDrillDBManager</span><span class="p">()</span>
1347
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">db_manager</span><span class="p">:</span>
1348
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;钻孔数据库管理器获取失败&quot;</span><span class="p">)</span>
1349
+ <span class="k">return</span> <span class="n">DrillDBManager</span><span class="o">.</span><span class="n">_from_obj</span><span class="p">(</span><span class="n">db_manager</span><span class="p">)</span>
1350
+ </code></pre></div></td></tr></table></div>
1351
+ </details>
1352
+ </div>
1353
+
1354
+ </div>
1355
+
1356
+ <div class="doc doc-object doc-function">
1357
+
1358
+
1359
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData.get_lithology_table" class="doc doc-heading">
1360
+ <code class="highlight language-python"><span class="n">get_lithology_table</span><span class="p">()</span></code>
1361
+
1362
+ </h4>
1363
+
1364
+
1365
+ <div class="doc doc-contents ">
1366
+
1367
+ <p>获取钻孔岩性表 (Lithology Table)
1368
+ :return: 岩性表数据(DmDataTable实例)</p>
1369
+ <p>example:</p>
1370
+ <pre><code class="language-python">drill_db = DmGeoDrillData()
1371
+ success = drill_db.load(&quot;model.dmf&quot;)
1372
+ if success:
1373
+ print(&quot;成功加载钻孔数据库&quot;)
1374
+ lithology_table = drill_db.get_lithology_table()
1375
+ print(f&quot;岩性表字段数: {lithology_table.get_field_count()}&quot;)
1376
+ </code></pre>
1377
+
1378
+
1379
+ <details class="mkdocstrings-source">
1380
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
1381
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">316</span>
1382
+ <span class="normal">317</span>
1383
+ <span class="normal">318</span>
1384
+ <span class="normal">319</span>
1385
+ <span class="normal">320</span>
1386
+ <span class="normal">321</span>
1387
+ <span class="normal">322</span>
1388
+ <span class="normal">323</span>
1389
+ <span class="normal">324</span>
1390
+ <span class="normal">325</span>
1391
+ <span class="normal">326</span>
1392
+ <span class="normal">327</span>
1393
+ <span class="normal">328</span>
1394
+ <span class="normal">329</span>
1395
+ <span class="normal">330</span>
1396
+ <span class="normal">331</span>
1397
+ <span class="normal">332</span>
1398
+ <span class="normal">333</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_lithology_table</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DmDataTable</span><span class="p">:</span>
1399
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;获取钻孔岩性表 (Lithology Table)</span>
1400
+ <span class="sd"> :return: 岩性表数据(DmDataTable实例)</span>
1401
+
1402
+ <span class="sd"> example:</span>
1403
+ <span class="sd"> ```python</span>
1404
+ <span class="sd"> drill_db = DmGeoDrillData()</span>
1405
+ <span class="sd"> success = drill_db.load(&quot;model.dmf&quot;)</span>
1406
+ <span class="sd"> if success:</span>
1407
+ <span class="sd"> print(&quot;成功加载钻孔数据库&quot;)</span>
1408
+ <span class="sd"> lithology_table = drill_db.get_lithology_table()</span>
1409
+ <span class="sd"> print(f&quot;岩性表字段数: {lithology_table.get_field_count()}&quot;)</span>
1410
+ <span class="sd"> ```</span>
1411
+ <span class="sd"> &quot;&quot;&quot;</span>
1412
+ <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="p">:</span>
1413
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;数据库未加载&quot;</span><span class="p">)</span>
1414
+ <span class="n">cpp_result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="o">.</span><span class="n">GetLithologyTable</span><span class="p">()</span>
1415
+ <span class="k">return</span> <span class="n">DmDataTable</span><span class="o">.</span><span class="n">_from_obj</span><span class="p">(</span><span class="n">cpp_result</span><span class="p">)</span>
1416
+ </code></pre></div></td></tr></table></div>
1417
+ </details>
1418
+ </div>
1419
+
1420
+ </div>
1421
+
1422
+ <div class="doc doc-object doc-function">
1423
+
1424
+
1425
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData.get_survey_table" class="doc doc-heading">
1426
+ <code class="highlight language-python"><span class="n">get_survey_table</span><span class="p">()</span></code>
1427
+
1428
+ </h4>
1429
+
1430
+
1431
+ <div class="doc doc-contents ">
1432
+
1433
+ <p>获取钻孔测斜表 (Survey Table)
1434
+ :return: 测斜表数据(DmDataTable实例)</p>
1435
+ <p>example:</p>
1436
+ <pre><code class="language-python">drill_db = DmGeoDrillData()
1437
+ success = drill_db.load(&quot;model.dmf&quot;)
1438
+ if success:
1439
+ print(&quot;成功加载钻孔数据库&quot;)
1440
+ survey_table = drill_db.get_survey_table()
1441
+ print(f&quot;测斜表字段数: {survey_table.get_field_count()}&quot;)
1442
+ </code></pre>
1443
+
1444
+
1445
+ <details class="mkdocstrings-source">
1446
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
1447
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">297</span>
1448
+ <span class="normal">298</span>
1449
+ <span class="normal">299</span>
1450
+ <span class="normal">300</span>
1451
+ <span class="normal">301</span>
1452
+ <span class="normal">302</span>
1453
+ <span class="normal">303</span>
1454
+ <span class="normal">304</span>
1455
+ <span class="normal">305</span>
1456
+ <span class="normal">306</span>
1457
+ <span class="normal">307</span>
1458
+ <span class="normal">308</span>
1459
+ <span class="normal">309</span>
1460
+ <span class="normal">310</span>
1461
+ <span class="normal">311</span>
1462
+ <span class="normal">312</span>
1463
+ <span class="normal">313</span>
1464
+ <span class="normal">314</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_survey_table</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DmDataTable</span><span class="p">:</span>
1465
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;获取钻孔测斜表 (Survey Table)</span>
1466
+ <span class="sd"> :return: 测斜表数据(DmDataTable实例)</span>
1467
+
1468
+ <span class="sd"> example:</span>
1469
+ <span class="sd"> ```python</span>
1470
+ <span class="sd"> drill_db = DmGeoDrillData()</span>
1471
+ <span class="sd"> success = drill_db.load(&quot;model.dmf&quot;)</span>
1472
+ <span class="sd"> if success:</span>
1473
+ <span class="sd"> print(&quot;成功加载钻孔数据库&quot;)</span>
1474
+ <span class="sd"> survey_table = drill_db.get_survey_table()</span>
1475
+ <span class="sd"> print(f&quot;测斜表字段数: {survey_table.get_field_count()}&quot;)</span>
1476
+ <span class="sd"> ```</span>
1477
+ <span class="sd"> &quot;&quot;&quot;</span>
1478
+ <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="p">:</span>
1479
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;数据库未加载&quot;</span><span class="p">)</span>
1480
+ <span class="n">cpp_result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="o">.</span><span class="n">GetSurveyTable</span><span class="p">()</span>
1481
+ <span class="k">return</span> <span class="n">DmDataTable</span><span class="o">.</span><span class="n">_from_obj</span><span class="p">(</span><span class="n">cpp_result</span><span class="p">)</span>
1482
+ </code></pre></div></td></tr></table></div>
1483
+ </details>
1484
+ </div>
1485
+
1486
+ </div>
1487
+
1488
+ <div class="doc doc-object doc-function">
1489
+
1490
+
1491
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData.load" class="doc doc-heading">
1492
+ <code class="highlight language-python"><span class="n">load</span><span class="p">(</span><span class="n">file_path</span><span class="p">)</span></code>
1493
+
1494
+ </h4>
1495
+
1496
+
1497
+ <div class="doc doc-contents ">
1498
+
1499
+ <p>加载钻孔数据库文件
1500
+ :param file_path: DMF 文件路径(自动处理编码转换)
1501
+ :raises RuntimeError: 加载失败时抛出异常</p>
1502
+ <p>:return: 是否成功加载</p>
1503
+ <p>example:</p>
1504
+ <pre><code class="language-python">drill_db = DmGeoDrillData()
1505
+ success = drill_db.load(&quot;model.dmf&quot;)
1506
+ if success:
1507
+ print(&quot;成功加载钻孔数据库&quot;)
1508
+ </code></pre>
1509
+
1510
+
1511
+ <details class="mkdocstrings-source">
1512
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
1513
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">214</span>
1514
+ <span class="normal">215</span>
1515
+ <span class="normal">216</span>
1516
+ <span class="normal">217</span>
1517
+ <span class="normal">218</span>
1518
+ <span class="normal">219</span>
1519
+ <span class="normal">220</span>
1520
+ <span class="normal">221</span>
1521
+ <span class="normal">222</span>
1522
+ <span class="normal">223</span>
1523
+ <span class="normal">224</span>
1524
+ <span class="normal">225</span>
1525
+ <span class="normal">226</span>
1526
+ <span class="normal">227</span>
1527
+ <span class="normal">228</span>
1528
+ <span class="normal">229</span>
1529
+ <span class="normal">230</span>
1530
+ <span class="normal">231</span>
1531
+ <span class="normal">232</span>
1532
+ <span class="normal">233</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">load</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Path</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
1533
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1534
+ <span class="sd"> 加载钻孔数据库文件</span>
1535
+ <span class="sd"> :param file_path: DMF 文件路径(自动处理编码转换)</span>
1536
+ <span class="sd"> :raises RuntimeError: 加载失败时抛出异常</span>
1537
+
1538
+ <span class="sd"> :return: 是否成功加载</span>
1539
+
1540
+ <span class="sd"> example:</span>
1541
+ <span class="sd"> ```python</span>
1542
+ <span class="sd"> drill_db = DmGeoDrillData()</span>
1543
+ <span class="sd"> success = drill_db.load(&quot;model.dmf&quot;)</span>
1544
+ <span class="sd"> if success:</span>
1545
+ <span class="sd"> print(&quot;成功加载钻孔数据库&quot;)</span>
1546
+ <span class="sd"> ```</span>
1547
+ <span class="sd"> &quot;&quot;&quot;</span>
1548
+ <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="o">.</span><span class="n">Load</span><span class="p">(</span><span class="n">file_path</span><span class="p">)</span>
1549
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">result</span><span class="p">:</span>
1550
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;加载钻孔数据库失败: </span><span class="si">{</span><span class="n">file_path</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
1551
+ <span class="k">return</span> <span class="n">result</span>
1552
+ </code></pre></div></td></tr></table></div>
1553
+ </details>
1554
+ </div>
1555
+
1556
+ </div>
1557
+
1558
+ <div class="doc doc-object doc-function">
1559
+
1560
+
1561
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DmGeoDrillData.save" class="doc doc-heading">
1562
+ <code class="highlight language-python"><span class="n">save</span><span class="p">(</span><span class="n">file_path</span><span class="p">)</span></code>
1563
+
1564
+ </h4>
1565
+
1566
+
1567
+ <div class="doc doc-contents ">
1568
+
1569
+ <p>保存钻孔数据库到文件
1570
+ :param file_path: 保存路径(自动处理编码转换)
1571
+ :raises RuntimeError: 保存失败时抛出异常
1572
+ :return: 是否成功保存</p>
1573
+ <p>example:</p>
1574
+ <pre><code class="language-python">drill_db = DmGeoDrillData()
1575
+ success = drill_db.load(&quot;model.dmf&quot;)
1576
+ if success:
1577
+ print(&quot;成功加载钻孔数据库&quot;)
1578
+ success = drill_db.save(&quot;model.dmf&quot;)
1579
+ if success:
1580
+ print(&quot;成功保存钻孔数据库&quot;)
1581
+ </code></pre>
1582
+
1583
+
1584
+ <details class="mkdocstrings-source">
1585
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
1586
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">235</span>
1587
+ <span class="normal">236</span>
1588
+ <span class="normal">237</span>
1589
+ <span class="normal">238</span>
1590
+ <span class="normal">239</span>
1591
+ <span class="normal">240</span>
1592
+ <span class="normal">241</span>
1593
+ <span class="normal">242</span>
1594
+ <span class="normal">243</span>
1595
+ <span class="normal">244</span>
1596
+ <span class="normal">245</span>
1597
+ <span class="normal">246</span>
1598
+ <span class="normal">247</span>
1599
+ <span class="normal">248</span>
1600
+ <span class="normal">249</span>
1601
+ <span class="normal">250</span>
1602
+ <span class="normal">251</span>
1603
+ <span class="normal">252</span>
1604
+ <span class="normal">253</span>
1605
+ <span class="normal">254</span>
1606
+ <span class="normal">255</span>
1607
+ <span class="normal">256</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">save</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_path</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Path</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
1608
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1609
+ <span class="sd"> 保存钻孔数据库到文件</span>
1610
+ <span class="sd"> :param file_path: 保存路径(自动处理编码转换)</span>
1611
+ <span class="sd"> :raises RuntimeError: 保存失败时抛出异常</span>
1612
+ <span class="sd"> :return: 是否成功保存</span>
1613
+
1614
+ <span class="sd"> example:</span>
1615
+ <span class="sd"> ```python</span>
1616
+ <span class="sd"> drill_db = DmGeoDrillData()</span>
1617
+ <span class="sd"> success = drill_db.load(&quot;model.dmf&quot;)</span>
1618
+ <span class="sd"> if success:</span>
1619
+ <span class="sd"> print(&quot;成功加载钻孔数据库&quot;)</span>
1620
+ <span class="sd"> success = drill_db.save(&quot;model.dmf&quot;)</span>
1621
+ <span class="sd"> if success:</span>
1622
+ <span class="sd"> print(&quot;成功保存钻孔数据库&quot;)</span>
1623
+ <span class="sd"> ```</span>
1624
+ <span class="sd"> &quot;&quot;&quot;</span>
1625
+ <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_geo_drill</span><span class="o">.</span><span class="n">Save</span><span class="p">(</span><span class="n">file_path</span><span class="p">)</span>
1626
+ <span class="k">if</span> <span class="ow">not</span> <span class="n">result</span><span class="p">:</span>
1627
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;保存钻孔数据库失败: </span><span class="si">{</span><span class="n">file_path</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
1628
+ <span class="k">return</span> <span class="n">result</span>
1629
+ </code></pre></div></td></tr></table></div>
1630
+ </details>
1631
+ </div>
1632
+
1633
+ </div>
1634
+
1635
+
1636
+
1637
+ </div>
1638
+
1639
+ </div>
1640
+
1641
+ </div>
1642
+
1643
+ <div class="doc doc-object doc-class">
1644
+
1645
+
1646
+
1647
+ <h3 id="dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager" class="doc doc-heading">
1648
+ <code>DrillDBManager</code>
1649
+
1650
+
1651
+ </h3>
1652
+
1653
+
1654
+ <div class="doc doc-contents ">
1655
+
1656
+
1657
+
1658
+ <p>二次封装 CDrillDBManager 类,提供 Python 化的钻孔数据库管理接口</p>
1659
+
1660
+
1661
+
1662
+
1663
+
1664
+
1665
+
1666
+
1667
+ <details class="mkdocstrings-source">
1668
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
1669
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 79</span>
1670
+ <span class="normal"> 80</span>
1671
+ <span class="normal"> 81</span>
1672
+ <span class="normal"> 82</span>
1673
+ <span class="normal"> 83</span>
1674
+ <span class="normal"> 84</span>
1675
+ <span class="normal"> 85</span>
1676
+ <span class="normal"> 86</span>
1677
+ <span class="normal"> 87</span>
1678
+ <span class="normal"> 88</span>
1679
+ <span class="normal"> 89</span>
1680
+ <span class="normal"> 90</span>
1681
+ <span class="normal"> 91</span>
1682
+ <span class="normal"> 92</span>
1683
+ <span class="normal"> 93</span>
1684
+ <span class="normal"> 94</span>
1685
+ <span class="normal"> 95</span>
1686
+ <span class="normal"> 96</span>
1687
+ <span class="normal"> 97</span>
1688
+ <span class="normal"> 98</span>
1689
+ <span class="normal"> 99</span>
1690
+ <span class="normal">100</span>
1691
+ <span class="normal">101</span>
1692
+ <span class="normal">102</span>
1693
+ <span class="normal">103</span>
1694
+ <span class="normal">104</span>
1695
+ <span class="normal">105</span>
1696
+ <span class="normal">106</span>
1697
+ <span class="normal">107</span>
1698
+ <span class="normal">108</span>
1699
+ <span class="normal">109</span>
1700
+ <span class="normal">110</span>
1701
+ <span class="normal">111</span>
1702
+ <span class="normal">112</span>
1703
+ <span class="normal">113</span>
1704
+ <span class="normal">114</span>
1705
+ <span class="normal">115</span>
1706
+ <span class="normal">116</span>
1707
+ <span class="normal">117</span>
1708
+ <span class="normal">118</span>
1709
+ <span class="normal">119</span>
1710
+ <span class="normal">120</span>
1711
+ <span class="normal">121</span>
1712
+ <span class="normal">122</span>
1713
+ <span class="normal">123</span>
1714
+ <span class="normal">124</span>
1715
+ <span class="normal">125</span>
1716
+ <span class="normal">126</span>
1717
+ <span class="normal">127</span>
1718
+ <span class="normal">128</span>
1719
+ <span class="normal">129</span>
1720
+ <span class="normal">130</span>
1721
+ <span class="normal">131</span>
1722
+ <span class="normal">132</span>
1723
+ <span class="normal">133</span>
1724
+ <span class="normal">134</span>
1725
+ <span class="normal">135</span>
1726
+ <span class="normal">136</span>
1727
+ <span class="normal">137</span>
1728
+ <span class="normal">138</span>
1729
+ <span class="normal">139</span>
1730
+ <span class="normal">140</span>
1731
+ <span class="normal">141</span>
1732
+ <span class="normal">142</span>
1733
+ <span class="normal">143</span>
1734
+ <span class="normal">144</span>
1735
+ <span class="normal">145</span>
1736
+ <span class="normal">146</span>
1737
+ <span class="normal">147</span>
1738
+ <span class="normal">148</span>
1739
+ <span class="normal">149</span>
1740
+ <span class="normal">150</span>
1741
+ <span class="normal">151</span>
1742
+ <span class="normal">152</span>
1743
+ <span class="normal">153</span>
1744
+ <span class="normal">154</span>
1745
+ <span class="normal">155</span>
1746
+ <span class="normal">156</span>
1747
+ <span class="normal">157</span>
1748
+ <span class="normal">158</span>
1749
+ <span class="normal">159</span>
1750
+ <span class="normal">160</span>
1751
+ <span class="normal">161</span>
1752
+ <span class="normal">162</span>
1753
+ <span class="normal">163</span>
1754
+ <span class="normal">164</span>
1755
+ <span class="normal">165</span>
1756
+ <span class="normal">166</span>
1757
+ <span class="normal">167</span>
1758
+ <span class="normal">168</span>
1759
+ <span class="normal">169</span>
1760
+ <span class="normal">170</span>
1761
+ <span class="normal">171</span>
1762
+ <span class="normal">172</span>
1763
+ <span class="normal">173</span>
1764
+ <span class="normal">174</span>
1765
+ <span class="normal">175</span>
1766
+ <span class="normal">176</span>
1767
+ <span class="normal">177</span>
1768
+ <span class="normal">178</span>
1769
+ <span class="normal">179</span>
1770
+ <span class="normal">180</span>
1771
+ <span class="normal">181</span>
1772
+ <span class="normal">182</span>
1773
+ <span class="normal">183</span>
1774
+ <span class="normal">184</span>
1775
+ <span class="normal">185</span>
1776
+ <span class="normal">186</span>
1777
+ <span class="normal">187</span>
1778
+ <span class="normal">188</span>
1779
+ <span class="normal">189</span>
1780
+ <span class="normal">190</span>
1781
+ <span class="normal">191</span>
1782
+ <span class="normal">192</span>
1783
+ <span class="normal">193</span>
1784
+ <span class="normal">194</span>
1785
+ <span class="normal">195</span>
1786
+ <span class="normal">196</span>
1787
+ <span class="normal">197</span>
1788
+ <span class="normal">198</span>
1789
+ <span class="normal">199</span>
1790
+ <span class="normal">200</span>
1791
+ <span class="normal">201</span>
1792
+ <span class="normal">202</span>
1793
+ <span class="normal">203</span>
1794
+ <span class="normal">204</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">DrillDBManager</span><span class="p">:</span>
1795
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1796
+ <span class="sd"> 二次封装 CDrillDBManager 类,提供 Python 化的钻孔数据库管理接口</span>
1797
+ <span class="sd"> &quot;&quot;&quot;</span>
1798
+
1799
+ <span class="nd">@classmethod</span>
1800
+ <span class="k">def</span><span class="w"> </span><span class="nf">_from_obj</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">obj</span><span class="p">):</span>
1801
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1802
+ <span class="sd"> 原生CDrillDBManager对象创建封装实例</span>
1803
+ <span class="sd"> :param obj: 原生CDrillDBManager对象(bind11封装后)</span>
1804
+ <span class="sd"> :return: CDrillDBManager实例</span>
1805
+ <span class="sd"> &quot;&quot;&quot;</span>
1806
+ <span class="n">instance</span> <span class="o">=</span> <span class="bp">cls</span><span class="o">.</span><span class="fm">__new__</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span>
1807
+ <span class="n">instance</span><span class="o">.</span><span class="n">_manager</span> <span class="o">=</span> <span class="n">obj</span>
1808
+ <span class="k">return</span> <span class="n">instance</span>
1809
+
1810
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_drill_count</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
1811
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1812
+ <span class="sd"> 获取钻孔数量</span>
1813
+ <span class="sd"> :return: 钻孔数量</span>
1814
+
1815
+ <span class="sd"> example:</span>
1816
+ <span class="sd"> ```python</span>
1817
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
1818
+ <span class="sd"> print(&quot;钻孔数量:&quot;, drill_manager.get_drill_count())</span>
1819
+ <span class="sd"> ```</span>
1820
+ <span class="sd"> &quot;&quot;&quot;</span>
1821
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetDrillCount</span><span class="p">()</span>
1822
+
1823
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_total_length</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">float</span><span class="p">:</span>
1824
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1825
+ <span class="sd"> 获取钻孔总长度</span>
1826
+ <span class="sd"> :return: 钻孔总长度</span>
1827
+
1828
+ <span class="sd"> example:</span>
1829
+ <span class="sd"> ```python</span>
1830
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
1831
+ <span class="sd"> print(&quot;钻孔总长度:&quot;, drill_manager.get_total_length())</span>
1832
+ <span class="sd"> ```</span>
1833
+ <span class="sd"> &quot;&quot;&quot;</span>
1834
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetTotalLength</span><span class="p">()</span>
1835
+
1836
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_base_table</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table_mark</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DmDataTable</span><span class="p">:</span>
1837
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1838
+ <span class="sd"> 获取基础表</span>
1839
+ <span class="sd"> :param table_mark: 表标识(例如 &quot;collar&quot;, &quot;survey&quot;, &quot;lithology&quot;)</span>
1840
+ <span class="sd"> :return: 基础表数据(DmDataTable实例)</span>
1841
+
1842
+ <span class="sd"> example:</span>
1843
+ <span class="sd"> ```python</span>
1844
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
1845
+ <span class="sd"> collar_table = drill_manager.get_base_table(&quot;collar&quot;)</span>
1846
+ <span class="sd"> ```</span>
1847
+ <span class="sd"> &quot;&quot;&quot;</span>
1848
+ <span class="n">cpp_result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetBaseTable</span><span class="p">(</span><span class="n">table_mark</span><span class="p">)</span>
1849
+ <span class="k">return</span> <span class="n">DmDataTable</span><span class="o">.</span><span class="n">_from_obj</span><span class="p">(</span><span class="n">cpp_result</span><span class="p">)</span>
1850
+
1851
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_added_table</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table_mark</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DmDataTable</span><span class="p">:</span>
1852
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1853
+ <span class="sd"> 获取附加表</span>
1854
+ <span class="sd"> :param table_mark: 表标识(例如 &quot;collar&quot;, &quot;survey&quot;, &quot;lithology&quot;)</span>
1855
+ <span class="sd"> :return: 附加表数据(DmDataTable实例)</span>
1856
+
1857
+ <span class="sd"> example:</span>
1858
+ <span class="sd"> ```python</span>
1859
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
1860
+ <span class="sd"> survey_table = drill_manager.get_added_table(&quot;survey&quot;)</span>
1861
+ <span class="sd"> ```</span>
1862
+ <span class="sd"> &quot;&quot;&quot;</span>
1863
+ <span class="n">cpp_result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetAddedTable</span><span class="p">(</span><span class="n">table_mark</span><span class="p">)</span>
1864
+ <span class="k">return</span> <span class="n">DmDataTable</span><span class="o">.</span><span class="n">_from_obj</span><span class="p">(</span><span class="n">cpp_result</span><span class="p">)</span>
1865
+
1866
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_added_table_count</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
1867
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1868
+ <span class="sd"> 获取附加表数量</span>
1869
+ <span class="sd"> :return: 附加表数量</span>
1870
+
1871
+ <span class="sd"> example:</span>
1872
+ <span class="sd"> ```python</span>
1873
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
1874
+ <span class="sd"> print(&quot;附加表数量:&quot;, drill_manager.get_added_table_count())</span>
1875
+ <span class="sd"> ```</span>
1876
+ <span class="sd"> &quot;&quot;&quot;</span>
1877
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetAddedTableCount</span><span class="p">()</span>
1878
+
1879
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_collar_table_def</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
1880
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1881
+ <span class="sd"> 获取孔口表结构定义</span>
1882
+ <span class="sd"> :return: 孔口表结构定义(字典)</span>
1883
+
1884
+ <span class="sd"> example:</span>
1885
+ <span class="sd"> ```python</span>
1886
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
1887
+ <span class="sd"> collar_def = drill_manager.get_collar_table_def()</span>
1888
+ <span class="sd"> print(&quot;孔口表字段数:&quot;, collar_def)</span>
1889
+ <span class="sd"> ```</span>
1890
+ <span class="sd"> &quot;&quot;&quot;</span>
1891
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetCollarTableDefine</span><span class="p">()</span>
1892
+
1893
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_survey_table_def</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
1894
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1895
+ <span class="sd"> 获取测斜表结构定义</span>
1896
+ <span class="sd"> :return: 测斜表结构定义(字典)</span>
1897
+
1898
+ <span class="sd"> example:</span>
1899
+ <span class="sd"> ```python</span>
1900
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
1901
+ <span class="sd"> survey_def = drill_manager.get_survey_table_def()</span>
1902
+ <span class="sd"> print(&quot;测斜表字段数:&quot;,survey_def)</span>
1903
+ <span class="sd"> ```</span>
1904
+ <span class="sd"> &quot;&quot;&quot;</span>
1905
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetSurveryTableDefine</span><span class="p">()</span>
1906
+
1907
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_lithology_table_def</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
1908
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1909
+ <span class="sd"> 获取岩性表结构定义</span>
1910
+ <span class="sd"> :return: 岩性表结构定义(字典)</span>
1911
+
1912
+ <span class="sd"> example:</span>
1913
+ <span class="sd"> ```python</span>
1914
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
1915
+ <span class="sd"> lithology_def = drill_manager.get_lithology_table_def()</span>
1916
+ <span class="sd"> print(&quot;岩性表字段数:&quot;, lithology_def)</span>
1917
+ <span class="sd"> ```</span>
1918
+ <span class="sd"> &quot;&quot;&quot;</span>
1919
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetLithologyTableDefine</span><span class="p">()</span>
1920
+ </code></pre></div></td></tr></table></div>
1921
+ </details>
1922
+
1923
+
1924
+
1925
+ <div class="doc doc-children">
1926
+
1927
+
1928
+
1929
+
1930
+
1931
+
1932
+
1933
+
1934
+
1935
+
1936
+ <div class="doc doc-object doc-function">
1937
+
1938
+
1939
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_added_table" class="doc doc-heading">
1940
+ <code class="highlight language-python"><span class="n">get_added_table</span><span class="p">(</span><span class="n">table_mark</span><span class="p">)</span></code>
1941
+
1942
+ </h4>
1943
+
1944
+
1945
+ <div class="doc doc-contents ">
1946
+
1947
+ <p>获取附加表
1948
+ :param table_mark: 表标识(例如 "collar", "survey", "lithology")
1949
+ :return: 附加表数据(DmDataTable实例)</p>
1950
+ <p>example:</p>
1951
+ <pre><code class="language-python">drill_manager = drill_db.get_drill_db_manager()
1952
+ survey_table = drill_manager.get_added_table(&quot;survey&quot;)
1953
+ </code></pre>
1954
+
1955
+
1956
+ <details class="mkdocstrings-source">
1957
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
1958
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">136</span>
1959
+ <span class="normal">137</span>
1960
+ <span class="normal">138</span>
1961
+ <span class="normal">139</span>
1962
+ <span class="normal">140</span>
1963
+ <span class="normal">141</span>
1964
+ <span class="normal">142</span>
1965
+ <span class="normal">143</span>
1966
+ <span class="normal">144</span>
1967
+ <span class="normal">145</span>
1968
+ <span class="normal">146</span>
1969
+ <span class="normal">147</span>
1970
+ <span class="normal">148</span>
1971
+ <span class="normal">149</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_added_table</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table_mark</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DmDataTable</span><span class="p">:</span>
1972
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
1973
+ <span class="sd"> 获取附加表</span>
1974
+ <span class="sd"> :param table_mark: 表标识(例如 &quot;collar&quot;, &quot;survey&quot;, &quot;lithology&quot;)</span>
1975
+ <span class="sd"> :return: 附加表数据(DmDataTable实例)</span>
1976
+
1977
+ <span class="sd"> example:</span>
1978
+ <span class="sd"> ```python</span>
1979
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
1980
+ <span class="sd"> survey_table = drill_manager.get_added_table(&quot;survey&quot;)</span>
1981
+ <span class="sd"> ```</span>
1982
+ <span class="sd"> &quot;&quot;&quot;</span>
1983
+ <span class="n">cpp_result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetAddedTable</span><span class="p">(</span><span class="n">table_mark</span><span class="p">)</span>
1984
+ <span class="k">return</span> <span class="n">DmDataTable</span><span class="o">.</span><span class="n">_from_obj</span><span class="p">(</span><span class="n">cpp_result</span><span class="p">)</span>
1985
+ </code></pre></div></td></tr></table></div>
1986
+ </details>
1987
+ </div>
1988
+
1989
+ </div>
1990
+
1991
+ <div class="doc doc-object doc-function">
1992
+
1993
+
1994
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_added_table_count" class="doc doc-heading">
1995
+ <code class="highlight language-python"><span class="n">get_added_table_count</span><span class="p">()</span></code>
1996
+
1997
+ </h4>
1998
+
1999
+
2000
+ <div class="doc doc-contents ">
2001
+
2002
+ <p>获取附加表数量
2003
+ :return: 附加表数量</p>
2004
+ <p>example:</p>
2005
+ <pre><code class="language-python">drill_manager = drill_db.get_drill_db_manager()
2006
+ print(&quot;附加表数量:&quot;, drill_manager.get_added_table_count())
2007
+ </code></pre>
2008
+
2009
+
2010
+ <details class="mkdocstrings-source">
2011
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
2012
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">151</span>
2013
+ <span class="normal">152</span>
2014
+ <span class="normal">153</span>
2015
+ <span class="normal">154</span>
2016
+ <span class="normal">155</span>
2017
+ <span class="normal">156</span>
2018
+ <span class="normal">157</span>
2019
+ <span class="normal">158</span>
2020
+ <span class="normal">159</span>
2021
+ <span class="normal">160</span>
2022
+ <span class="normal">161</span>
2023
+ <span class="normal">162</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_added_table_count</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
2024
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2025
+ <span class="sd"> 获取附加表数量</span>
2026
+ <span class="sd"> :return: 附加表数量</span>
2027
+
2028
+ <span class="sd"> example:</span>
2029
+ <span class="sd"> ```python</span>
2030
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
2031
+ <span class="sd"> print(&quot;附加表数量:&quot;, drill_manager.get_added_table_count())</span>
2032
+ <span class="sd"> ```</span>
2033
+ <span class="sd"> &quot;&quot;&quot;</span>
2034
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetAddedTableCount</span><span class="p">()</span>
2035
+ </code></pre></div></td></tr></table></div>
2036
+ </details>
2037
+ </div>
2038
+
2039
+ </div>
2040
+
2041
+ <div class="doc doc-object doc-function">
2042
+
2043
+
2044
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_base_table" class="doc doc-heading">
2045
+ <code class="highlight language-python"><span class="n">get_base_table</span><span class="p">(</span><span class="n">table_mark</span><span class="p">)</span></code>
2046
+
2047
+ </h4>
2048
+
2049
+
2050
+ <div class="doc doc-contents ">
2051
+
2052
+ <p>获取基础表
2053
+ :param table_mark: 表标识(例如 "collar", "survey", "lithology")
2054
+ :return: 基础表数据(DmDataTable实例)</p>
2055
+ <p>example:</p>
2056
+ <pre><code class="language-python">drill_manager = drill_db.get_drill_db_manager()
2057
+ collar_table = drill_manager.get_base_table(&quot;collar&quot;)
2058
+ </code></pre>
2059
+
2060
+
2061
+ <details class="mkdocstrings-source">
2062
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
2063
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">121</span>
2064
+ <span class="normal">122</span>
2065
+ <span class="normal">123</span>
2066
+ <span class="normal">124</span>
2067
+ <span class="normal">125</span>
2068
+ <span class="normal">126</span>
2069
+ <span class="normal">127</span>
2070
+ <span class="normal">128</span>
2071
+ <span class="normal">129</span>
2072
+ <span class="normal">130</span>
2073
+ <span class="normal">131</span>
2074
+ <span class="normal">132</span>
2075
+ <span class="normal">133</span>
2076
+ <span class="normal">134</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_base_table</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">table_mark</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DmDataTable</span><span class="p">:</span>
2077
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2078
+ <span class="sd"> 获取基础表</span>
2079
+ <span class="sd"> :param table_mark: 表标识(例如 &quot;collar&quot;, &quot;survey&quot;, &quot;lithology&quot;)</span>
2080
+ <span class="sd"> :return: 基础表数据(DmDataTable实例)</span>
2081
+
2082
+ <span class="sd"> example:</span>
2083
+ <span class="sd"> ```python</span>
2084
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
2085
+ <span class="sd"> collar_table = drill_manager.get_base_table(&quot;collar&quot;)</span>
2086
+ <span class="sd"> ```</span>
2087
+ <span class="sd"> &quot;&quot;&quot;</span>
2088
+ <span class="n">cpp_result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetBaseTable</span><span class="p">(</span><span class="n">table_mark</span><span class="p">)</span>
2089
+ <span class="k">return</span> <span class="n">DmDataTable</span><span class="o">.</span><span class="n">_from_obj</span><span class="p">(</span><span class="n">cpp_result</span><span class="p">)</span>
2090
+ </code></pre></div></td></tr></table></div>
2091
+ </details>
2092
+ </div>
2093
+
2094
+ </div>
2095
+
2096
+ <div class="doc doc-object doc-function">
2097
+
2098
+
2099
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_collar_table_def" class="doc doc-heading">
2100
+ <code class="highlight language-python"><span class="n">get_collar_table_def</span><span class="p">()</span></code>
2101
+
2102
+ </h4>
2103
+
2104
+
2105
+ <div class="doc doc-contents ">
2106
+
2107
+ <p>获取孔口表结构定义
2108
+ :return: 孔口表结构定义(字典)</p>
2109
+ <p>example:</p>
2110
+ <pre><code class="language-python">drill_manager = drill_db.get_drill_db_manager()
2111
+ collar_def = drill_manager.get_collar_table_def()
2112
+ print(&quot;孔口表字段数:&quot;, collar_def)
2113
+ </code></pre>
2114
+
2115
+
2116
+ <details class="mkdocstrings-source">
2117
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
2118
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">164</span>
2119
+ <span class="normal">165</span>
2120
+ <span class="normal">166</span>
2121
+ <span class="normal">167</span>
2122
+ <span class="normal">168</span>
2123
+ <span class="normal">169</span>
2124
+ <span class="normal">170</span>
2125
+ <span class="normal">171</span>
2126
+ <span class="normal">172</span>
2127
+ <span class="normal">173</span>
2128
+ <span class="normal">174</span>
2129
+ <span class="normal">175</span>
2130
+ <span class="normal">176</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_collar_table_def</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
2131
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2132
+ <span class="sd"> 获取孔口表结构定义</span>
2133
+ <span class="sd"> :return: 孔口表结构定义(字典)</span>
2134
+
2135
+ <span class="sd"> example:</span>
2136
+ <span class="sd"> ```python</span>
2137
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
2138
+ <span class="sd"> collar_def = drill_manager.get_collar_table_def()</span>
2139
+ <span class="sd"> print(&quot;孔口表字段数:&quot;, collar_def)</span>
2140
+ <span class="sd"> ```</span>
2141
+ <span class="sd"> &quot;&quot;&quot;</span>
2142
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetCollarTableDefine</span><span class="p">()</span>
2143
+ </code></pre></div></td></tr></table></div>
2144
+ </details>
2145
+ </div>
2146
+
2147
+ </div>
2148
+
2149
+ <div class="doc doc-object doc-function">
2150
+
2151
+
2152
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_drill_count" class="doc doc-heading">
2153
+ <code class="highlight language-python"><span class="n">get_drill_count</span><span class="p">()</span></code>
2154
+
2155
+ </h4>
2156
+
2157
+
2158
+ <div class="doc doc-contents ">
2159
+
2160
+ <p>获取钻孔数量
2161
+ :return: 钻孔数量</p>
2162
+ <p>example:</p>
2163
+ <pre><code class="language-python">drill_manager = drill_db.get_drill_db_manager()
2164
+ print(&quot;钻孔数量:&quot;, drill_manager.get_drill_count())
2165
+ </code></pre>
2166
+
2167
+
2168
+ <details class="mkdocstrings-source">
2169
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
2170
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 95</span>
2171
+ <span class="normal"> 96</span>
2172
+ <span class="normal"> 97</span>
2173
+ <span class="normal"> 98</span>
2174
+ <span class="normal"> 99</span>
2175
+ <span class="normal">100</span>
2176
+ <span class="normal">101</span>
2177
+ <span class="normal">102</span>
2178
+ <span class="normal">103</span>
2179
+ <span class="normal">104</span>
2180
+ <span class="normal">105</span>
2181
+ <span class="normal">106</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_drill_count</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
2182
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2183
+ <span class="sd"> 获取钻孔数量</span>
2184
+ <span class="sd"> :return: 钻孔数量</span>
2185
+
2186
+ <span class="sd"> example:</span>
2187
+ <span class="sd"> ```python</span>
2188
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
2189
+ <span class="sd"> print(&quot;钻孔数量:&quot;, drill_manager.get_drill_count())</span>
2190
+ <span class="sd"> ```</span>
2191
+ <span class="sd"> &quot;&quot;&quot;</span>
2192
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetDrillCount</span><span class="p">()</span>
2193
+ </code></pre></div></td></tr></table></div>
2194
+ </details>
2195
+ </div>
2196
+
2197
+ </div>
2198
+
2199
+ <div class="doc doc-object doc-function">
2200
+
2201
+
2202
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_lithology_table_def" class="doc doc-heading">
2203
+ <code class="highlight language-python"><span class="n">get_lithology_table_def</span><span class="p">()</span></code>
2204
+
2205
+ </h4>
2206
+
2207
+
2208
+ <div class="doc doc-contents ">
2209
+
2210
+ <p>获取岩性表结构定义
2211
+ :return: 岩性表结构定义(字典)</p>
2212
+ <p>example:</p>
2213
+ <pre><code class="language-python">drill_manager = drill_db.get_drill_db_manager()
2214
+ lithology_def = drill_manager.get_lithology_table_def()
2215
+ print(&quot;岩性表字段数:&quot;, lithology_def)
2216
+ </code></pre>
2217
+
2218
+
2219
+ <details class="mkdocstrings-source">
2220
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
2221
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">192</span>
2222
+ <span class="normal">193</span>
2223
+ <span class="normal">194</span>
2224
+ <span class="normal">195</span>
2225
+ <span class="normal">196</span>
2226
+ <span class="normal">197</span>
2227
+ <span class="normal">198</span>
2228
+ <span class="normal">199</span>
2229
+ <span class="normal">200</span>
2230
+ <span class="normal">201</span>
2231
+ <span class="normal">202</span>
2232
+ <span class="normal">203</span>
2233
+ <span class="normal">204</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_lithology_table_def</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
2234
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2235
+ <span class="sd"> 获取岩性表结构定义</span>
2236
+ <span class="sd"> :return: 岩性表结构定义(字典)</span>
2237
+
2238
+ <span class="sd"> example:</span>
2239
+ <span class="sd"> ```python</span>
2240
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
2241
+ <span class="sd"> lithology_def = drill_manager.get_lithology_table_def()</span>
2242
+ <span class="sd"> print(&quot;岩性表字段数:&quot;, lithology_def)</span>
2243
+ <span class="sd"> ```</span>
2244
+ <span class="sd"> &quot;&quot;&quot;</span>
2245
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetLithologyTableDefine</span><span class="p">()</span>
2246
+ </code></pre></div></td></tr></table></div>
2247
+ </details>
2248
+ </div>
2249
+
2250
+ </div>
2251
+
2252
+ <div class="doc doc-object doc-function">
2253
+
2254
+
2255
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_survey_table_def" class="doc doc-heading">
2256
+ <code class="highlight language-python"><span class="n">get_survey_table_def</span><span class="p">()</span></code>
2257
+
2258
+ </h4>
2259
+
2260
+
2261
+ <div class="doc doc-contents ">
2262
+
2263
+ <p>获取测斜表结构定义
2264
+ :return: 测斜表结构定义(字典)</p>
2265
+ <p>example:</p>
2266
+ <pre><code class="language-python">drill_manager = drill_db.get_drill_db_manager()
2267
+ survey_def = drill_manager.get_survey_table_def()
2268
+ print(&quot;测斜表字段数:&quot;,survey_def)
2269
+ </code></pre>
2270
+
2271
+
2272
+ <details class="mkdocstrings-source">
2273
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
2274
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">178</span>
2275
+ <span class="normal">179</span>
2276
+ <span class="normal">180</span>
2277
+ <span class="normal">181</span>
2278
+ <span class="normal">182</span>
2279
+ <span class="normal">183</span>
2280
+ <span class="normal">184</span>
2281
+ <span class="normal">185</span>
2282
+ <span class="normal">186</span>
2283
+ <span class="normal">187</span>
2284
+ <span class="normal">188</span>
2285
+ <span class="normal">189</span>
2286
+ <span class="normal">190</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_survey_table_def</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
2287
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2288
+ <span class="sd"> 获取测斜表结构定义</span>
2289
+ <span class="sd"> :return: 测斜表结构定义(字典)</span>
2290
+
2291
+ <span class="sd"> example:</span>
2292
+ <span class="sd"> ```python</span>
2293
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
2294
+ <span class="sd"> survey_def = drill_manager.get_survey_table_def()</span>
2295
+ <span class="sd"> print(&quot;测斜表字段数:&quot;,survey_def)</span>
2296
+ <span class="sd"> ```</span>
2297
+ <span class="sd"> &quot;&quot;&quot;</span>
2298
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetSurveryTableDefine</span><span class="p">()</span>
2299
+ </code></pre></div></td></tr></table></div>
2300
+ </details>
2301
+ </div>
2302
+
2303
+ </div>
2304
+
2305
+ <div class="doc doc-object doc-function">
2306
+
2307
+
2308
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DrillDBManager.get_total_length" class="doc doc-heading">
2309
+ <code class="highlight language-python"><span class="n">get_total_length</span><span class="p">()</span></code>
2310
+
2311
+ </h4>
2312
+
2313
+
2314
+ <div class="doc doc-contents ">
2315
+
2316
+ <p>获取钻孔总长度
2317
+ :return: 钻孔总长度</p>
2318
+ <p>example:</p>
2319
+ <pre><code class="language-python">drill_manager = drill_db.get_drill_db_manager()
2320
+ print(&quot;钻孔总长度:&quot;, drill_manager.get_total_length())
2321
+ </code></pre>
2322
+
2323
+
2324
+ <details class="mkdocstrings-source">
2325
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
2326
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">108</span>
2327
+ <span class="normal">109</span>
2328
+ <span class="normal">110</span>
2329
+ <span class="normal">111</span>
2330
+ <span class="normal">112</span>
2331
+ <span class="normal">113</span>
2332
+ <span class="normal">114</span>
2333
+ <span class="normal">115</span>
2334
+ <span class="normal">116</span>
2335
+ <span class="normal">117</span>
2336
+ <span class="normal">118</span>
2337
+ <span class="normal">119</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_total_length</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">float</span><span class="p">:</span>
2338
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2339
+ <span class="sd"> 获取钻孔总长度</span>
2340
+ <span class="sd"> :return: 钻孔总长度</span>
2341
+
2342
+ <span class="sd"> example:</span>
2343
+ <span class="sd"> ```python</span>
2344
+ <span class="sd"> drill_manager = drill_db.get_drill_db_manager()</span>
2345
+ <span class="sd"> print(&quot;钻孔总长度:&quot;, drill_manager.get_total_length())</span>
2346
+ <span class="sd"> ```</span>
2347
+ <span class="sd"> &quot;&quot;&quot;</span>
2348
+ <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">GetTotalLength</span><span class="p">()</span>
2349
+ </code></pre></div></td></tr></table></div>
2350
+ </details>
2351
+ </div>
2352
+
2353
+ </div>
2354
+
2355
+
2356
+
2357
+ </div>
2358
+
2359
+ </div>
2360
+
2361
+ </div>
2362
+
2363
+ <div class="doc doc-object doc-class">
2364
+
2365
+
2366
+
2367
+ <h3 id="dimine_python_sdk.lib.prospecting.drill_db.DrillFunctionWrapper" class="doc doc-heading">
2368
+ <code>DrillFunctionWrapper</code>
2369
+
2370
+
2371
+ </h3>
2372
+
2373
+
2374
+ <div class="doc doc-contents ">
2375
+
2376
+
2377
+
2378
+ <p>二次封装钻孔相关函数,提供更Python化的接口</p>
2379
+
2380
+
2381
+
2382
+
2383
+
2384
+
2385
+
2386
+
2387
+ <details class="mkdocstrings-source">
2388
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
2389
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 9</span>
2390
+ <span class="normal">10</span>
2391
+ <span class="normal">11</span>
2392
+ <span class="normal">12</span>
2393
+ <span class="normal">13</span>
2394
+ <span class="normal">14</span>
2395
+ <span class="normal">15</span>
2396
+ <span class="normal">16</span>
2397
+ <span class="normal">17</span>
2398
+ <span class="normal">18</span>
2399
+ <span class="normal">19</span>
2400
+ <span class="normal">20</span>
2401
+ <span class="normal">21</span>
2402
+ <span class="normal">22</span>
2403
+ <span class="normal">23</span>
2404
+ <span class="normal">24</span>
2405
+ <span class="normal">25</span>
2406
+ <span class="normal">26</span>
2407
+ <span class="normal">27</span>
2408
+ <span class="normal">28</span>
2409
+ <span class="normal">29</span>
2410
+ <span class="normal">30</span>
2411
+ <span class="normal">31</span>
2412
+ <span class="normal">32</span>
2413
+ <span class="normal">33</span>
2414
+ <span class="normal">34</span>
2415
+ <span class="normal">35</span>
2416
+ <span class="normal">36</span>
2417
+ <span class="normal">37</span>
2418
+ <span class="normal">38</span>
2419
+ <span class="normal">39</span>
2420
+ <span class="normal">40</span>
2421
+ <span class="normal">41</span>
2422
+ <span class="normal">42</span>
2423
+ <span class="normal">43</span>
2424
+ <span class="normal">44</span>
2425
+ <span class="normal">45</span>
2426
+ <span class="normal">46</span>
2427
+ <span class="normal">47</span>
2428
+ <span class="normal">48</span>
2429
+ <span class="normal">49</span>
2430
+ <span class="normal">50</span>
2431
+ <span class="normal">51</span>
2432
+ <span class="normal">52</span>
2433
+ <span class="normal">53</span>
2434
+ <span class="normal">54</span>
2435
+ <span class="normal">55</span>
2436
+ <span class="normal">56</span>
2437
+ <span class="normal">57</span>
2438
+ <span class="normal">58</span>
2439
+ <span class="normal">59</span>
2440
+ <span class="normal">60</span>
2441
+ <span class="normal">61</span>
2442
+ <span class="normal">62</span>
2443
+ <span class="normal">63</span>
2444
+ <span class="normal">64</span>
2445
+ <span class="normal">65</span>
2446
+ <span class="normal">66</span>
2447
+ <span class="normal">67</span>
2448
+ <span class="normal">68</span>
2449
+ <span class="normal">69</span>
2450
+ <span class="normal">70</span>
2451
+ <span class="normal">71</span>
2452
+ <span class="normal">72</span>
2453
+ <span class="normal">73</span>
2454
+ <span class="normal">74</span>
2455
+ <span class="normal">75</span>
2456
+ <span class="normal">76</span>
2457
+ <span class="normal">77</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">DrillFunctionWrapper</span><span class="p">:</span>
2458
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2459
+ <span class="sd"> 二次封装钻孔相关函数,提供更Python化的接口</span>
2460
+ <span class="sd"> &quot;&quot;&quot;</span>
2461
+ <span class="nd">@staticmethod</span>
2462
+ <span class="k">def</span><span class="w"> </span><span class="nf">sample_length_combine</span><span class="p">(</span><span class="n">params</span><span class="p">:</span> <span class="n">SampleLengthCombineParam</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">dict</span><span class="p">:</span>
2463
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2464
+ <span class="sd"> 样长组合功能的二次封装</span>
2465
+ <span class="sd"> :param params: Python字典,包含样长组合所需的参数</span>
2466
+ <span class="sd"> :return: 处理结果,成功返回{&quot;state&quot;: &quot;ok&quot;, &quot;message&quot;: &quot;...&quot;},失败抛出异常</span>
2467
+
2468
+ <span class="sd"> example:</span>
2469
+ <span class="sd"> ```python</span>
2470
+ <span class="sd"> params = SampleLengthCombineParam(</span>
2471
+ <span class="sd"> )</span>
2472
+ <span class="sd"> result = DrillFunctionWrapper.sample_length_combine(params)</span>
2473
+ <span class="sd"> ```</span>
2474
+ <span class="sd"> &quot;&quot;&quot;</span>
2475
+ <span class="c1"># 将Python字典序列化为JSON字符串</span>
2476
+ <span class="n">json_param</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">params</span><span class="o">.</span><span class="n">to_dict</span><span class="p">(),</span> <span class="n">ensure_ascii</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
2477
+ <span class="n">raw_response</span> <span class="o">=</span> <span class="n">Dm</span><span class="o">.</span><span class="n">SampleLengthCombine</span><span class="p">(</span><span class="n">json_param</span><span class="p">)</span>
2478
+ <span class="c1"># 3. 解析返回的JSON字符串为Python字典</span>
2479
+ <span class="n">response</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">raw_response</span><span class="p">)</span>
2480
+ <span class="c1"># 4. 错误处理:如果失败,抛出异常</span>
2481
+ <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;state&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="s2">&quot;failed&quot;</span><span class="p">:</span>
2482
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;样长组合失败: </span><span class="si">{</span><span class="n">response</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
2483
+ <span class="k">return</span> <span class="n">response</span>
2484
+
2485
+ <span class="nd">@staticmethod</span>
2486
+ <span class="k">def</span><span class="w"> </span><span class="nf">step_combine</span><span class="p">(</span><span class="n">params</span><span class="p">:</span> <span class="n">StepCombineParam</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">dict</span><span class="p">:</span>
2487
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2488
+ <span class="sd"> 台阶组合功能的二次封装</span>
2489
+ <span class="sd"> :param params: Python字典,包含台阶组合所需的参数</span>
2490
+ <span class="sd"> :return: 处理结果,成功返回{&quot;state&quot;: &quot;ok&quot;, &quot;message&quot;: &quot;...&quot;},失败抛出异常</span>
2491
+
2492
+ <span class="sd"> example:</span>
2493
+ <span class="sd"> ```python</span>
2494
+ <span class="sd"> params = StepCombineParam(</span>
2495
+ <span class="sd"> )</span>
2496
+ <span class="sd"> result = DrillFunctionWrapper.step_combine(params)</span>
2497
+ <span class="sd"> ```</span>
2498
+ <span class="sd"> &quot;&quot;&quot;</span>
2499
+ <span class="n">json_param</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">params</span><span class="o">.</span><span class="n">to_dict</span><span class="p">(),</span> <span class="n">ensure_ascii</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
2500
+ <span class="n">raw_response</span> <span class="o">=</span> <span class="n">Dm</span><span class="o">.</span><span class="n">StepCombine</span><span class="p">(</span><span class="n">json_param</span><span class="p">)</span>
2501
+ <span class="n">response</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">raw_response</span><span class="p">)</span>
2502
+ <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;state&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="s2">&quot;failed&quot;</span><span class="p">:</span>
2503
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;台阶组合失败: </span><span class="si">{</span><span class="n">response</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
2504
+ <span class="k">return</span> <span class="n">response</span>
2505
+
2506
+ <span class="nd">@staticmethod</span>
2507
+ <span class="k">def</span><span class="w"> </span><span class="nf">extra_high_grade_process</span><span class="p">(</span><span class="n">params</span><span class="p">:</span> <span class="n">HighGradeProcessParam</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">dict</span><span class="p">:</span>
2508
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2509
+ <span class="sd"> 特高品位处理功能的二次封装</span>
2510
+ <span class="sd"> :param params: Python字典,包含台阶组合所需的参数</span>
2511
+ <span class="sd"> :return: 处理结果,成功返回{&quot;state&quot;: &quot;ok&quot;, &quot;message&quot;: &quot;...&quot;},失败抛出异常</span>
2512
+
2513
+ <span class="sd"> example:</span>
2514
+ <span class="sd"> ```python</span>
2515
+ <span class="sd"> params = HighGradeProcessParam(</span>
2516
+ <span class="sd"> )</span>
2517
+ <span class="sd"> result = DrillFunctionWrapper.extra_high_grade_process(params)</span>
2518
+ <span class="sd"> ```</span>
2519
+ <span class="sd"> &quot;&quot;&quot;</span>
2520
+ <span class="n">json_param</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">params</span><span class="o">.</span><span class="n">to_dict</span><span class="p">(),</span> <span class="n">ensure_ascii</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
2521
+ <span class="n">raw_response</span> <span class="o">=</span> <span class="n">Dm</span><span class="o">.</span><span class="n">ExtraHighGradeProcess</span><span class="p">(</span><span class="n">json_param</span><span class="p">)</span>
2522
+ <span class="n">response</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">raw_response</span><span class="p">)</span>
2523
+ <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;state&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="s2">&quot;failed&quot;</span><span class="p">:</span>
2524
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;特高品位处理失败: </span><span class="si">{</span><span class="n">response</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
2525
+ <span class="k">return</span> <span class="n">response</span>
2526
+ </code></pre></div></td></tr></table></div>
2527
+ </details>
2528
+
2529
+
2530
+
2531
+ <div class="doc doc-children">
2532
+
2533
+
2534
+
2535
+
2536
+
2537
+
2538
+
2539
+
2540
+
2541
+
2542
+ <div class="doc doc-object doc-function">
2543
+
2544
+
2545
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DrillFunctionWrapper.extra_high_grade_process" class="doc doc-heading">
2546
+ <code class="highlight language-python"><span class="n">extra_high_grade_process</span><span class="p">(</span><span class="n">params</span><span class="p">)</span></code>
2547
+
2548
+ <span class="doc doc-labels">
2549
+ <small class="doc doc-label doc-label-staticmethod"><code>staticmethod</code></small>
2550
+ </span>
2551
+
2552
+ </h4>
2553
+
2554
+
2555
+ <div class="doc doc-contents ">
2556
+
2557
+ <p>特高品位处理功能的二次封装
2558
+ :param params: Python字典,包含台阶组合所需的参数
2559
+ :return: 处理结果,成功返回{"state": "ok", "message": "..."},失败抛出异常</p>
2560
+ <p>example:</p>
2561
+ <pre><code class="language-python">params = HighGradeProcessParam(
2562
+ )
2563
+ result = DrillFunctionWrapper.extra_high_grade_process(params)
2564
+ </code></pre>
2565
+
2566
+
2567
+ <details class="mkdocstrings-source">
2568
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
2569
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">58</span>
2570
+ <span class="normal">59</span>
2571
+ <span class="normal">60</span>
2572
+ <span class="normal">61</span>
2573
+ <span class="normal">62</span>
2574
+ <span class="normal">63</span>
2575
+ <span class="normal">64</span>
2576
+ <span class="normal">65</span>
2577
+ <span class="normal">66</span>
2578
+ <span class="normal">67</span>
2579
+ <span class="normal">68</span>
2580
+ <span class="normal">69</span>
2581
+ <span class="normal">70</span>
2582
+ <span class="normal">71</span>
2583
+ <span class="normal">72</span>
2584
+ <span class="normal">73</span>
2585
+ <span class="normal">74</span>
2586
+ <span class="normal">75</span>
2587
+ <span class="normal">76</span>
2588
+ <span class="normal">77</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nd">@staticmethod</span>
2589
+ <span class="k">def</span><span class="w"> </span><span class="nf">extra_high_grade_process</span><span class="p">(</span><span class="n">params</span><span class="p">:</span> <span class="n">HighGradeProcessParam</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">dict</span><span class="p">:</span>
2590
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2591
+ <span class="sd"> 特高品位处理功能的二次封装</span>
2592
+ <span class="sd"> :param params: Python字典,包含台阶组合所需的参数</span>
2593
+ <span class="sd"> :return: 处理结果,成功返回{&quot;state&quot;: &quot;ok&quot;, &quot;message&quot;: &quot;...&quot;},失败抛出异常</span>
2594
+
2595
+ <span class="sd"> example:</span>
2596
+ <span class="sd"> ```python</span>
2597
+ <span class="sd"> params = HighGradeProcessParam(</span>
2598
+ <span class="sd"> )</span>
2599
+ <span class="sd"> result = DrillFunctionWrapper.extra_high_grade_process(params)</span>
2600
+ <span class="sd"> ```</span>
2601
+ <span class="sd"> &quot;&quot;&quot;</span>
2602
+ <span class="n">json_param</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">params</span><span class="o">.</span><span class="n">to_dict</span><span class="p">(),</span> <span class="n">ensure_ascii</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
2603
+ <span class="n">raw_response</span> <span class="o">=</span> <span class="n">Dm</span><span class="o">.</span><span class="n">ExtraHighGradeProcess</span><span class="p">(</span><span class="n">json_param</span><span class="p">)</span>
2604
+ <span class="n">response</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">raw_response</span><span class="p">)</span>
2605
+ <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;state&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="s2">&quot;failed&quot;</span><span class="p">:</span>
2606
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;特高品位处理失败: </span><span class="si">{</span><span class="n">response</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
2607
+ <span class="k">return</span> <span class="n">response</span>
2608
+ </code></pre></div></td></tr></table></div>
2609
+ </details>
2610
+ </div>
2611
+
2612
+ </div>
2613
+
2614
+ <div class="doc doc-object doc-function">
2615
+
2616
+
2617
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DrillFunctionWrapper.sample_length_combine" class="doc doc-heading">
2618
+ <code class="highlight language-python"><span class="n">sample_length_combine</span><span class="p">(</span><span class="n">params</span><span class="p">)</span></code>
2619
+
2620
+ <span class="doc doc-labels">
2621
+ <small class="doc doc-label doc-label-staticmethod"><code>staticmethod</code></small>
2622
+ </span>
2623
+
2624
+ </h4>
2625
+
2626
+
2627
+ <div class="doc doc-contents ">
2628
+
2629
+ <p>样长组合功能的二次封装
2630
+ :param params: Python字典,包含样长组合所需的参数
2631
+ :return: 处理结果,成功返回{"state": "ok", "message": "..."},失败抛出异常</p>
2632
+ <p>example:</p>
2633
+ <pre><code class="language-python">params = SampleLengthCombineParam(
2634
+ )
2635
+ result = DrillFunctionWrapper.sample_length_combine(params)
2636
+ </code></pre>
2637
+
2638
+
2639
+ <details class="mkdocstrings-source">
2640
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
2641
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">13</span>
2642
+ <span class="normal">14</span>
2643
+ <span class="normal">15</span>
2644
+ <span class="normal">16</span>
2645
+ <span class="normal">17</span>
2646
+ <span class="normal">18</span>
2647
+ <span class="normal">19</span>
2648
+ <span class="normal">20</span>
2649
+ <span class="normal">21</span>
2650
+ <span class="normal">22</span>
2651
+ <span class="normal">23</span>
2652
+ <span class="normal">24</span>
2653
+ <span class="normal">25</span>
2654
+ <span class="normal">26</span>
2655
+ <span class="normal">27</span>
2656
+ <span class="normal">28</span>
2657
+ <span class="normal">29</span>
2658
+ <span class="normal">30</span>
2659
+ <span class="normal">31</span>
2660
+ <span class="normal">32</span>
2661
+ <span class="normal">33</span>
2662
+ <span class="normal">34</span>
2663
+ <span class="normal">35</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nd">@staticmethod</span>
2664
+ <span class="k">def</span><span class="w"> </span><span class="nf">sample_length_combine</span><span class="p">(</span><span class="n">params</span><span class="p">:</span> <span class="n">SampleLengthCombineParam</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">dict</span><span class="p">:</span>
2665
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2666
+ <span class="sd"> 样长组合功能的二次封装</span>
2667
+ <span class="sd"> :param params: Python字典,包含样长组合所需的参数</span>
2668
+ <span class="sd"> :return: 处理结果,成功返回{&quot;state&quot;: &quot;ok&quot;, &quot;message&quot;: &quot;...&quot;},失败抛出异常</span>
2669
+
2670
+ <span class="sd"> example:</span>
2671
+ <span class="sd"> ```python</span>
2672
+ <span class="sd"> params = SampleLengthCombineParam(</span>
2673
+ <span class="sd"> )</span>
2674
+ <span class="sd"> result = DrillFunctionWrapper.sample_length_combine(params)</span>
2675
+ <span class="sd"> ```</span>
2676
+ <span class="sd"> &quot;&quot;&quot;</span>
2677
+ <span class="c1"># 将Python字典序列化为JSON字符串</span>
2678
+ <span class="n">json_param</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">params</span><span class="o">.</span><span class="n">to_dict</span><span class="p">(),</span> <span class="n">ensure_ascii</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
2679
+ <span class="n">raw_response</span> <span class="o">=</span> <span class="n">Dm</span><span class="o">.</span><span class="n">SampleLengthCombine</span><span class="p">(</span><span class="n">json_param</span><span class="p">)</span>
2680
+ <span class="c1"># 3. 解析返回的JSON字符串为Python字典</span>
2681
+ <span class="n">response</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">raw_response</span><span class="p">)</span>
2682
+ <span class="c1"># 4. 错误处理:如果失败,抛出异常</span>
2683
+ <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;state&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="s2">&quot;failed&quot;</span><span class="p">:</span>
2684
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;样长组合失败: </span><span class="si">{</span><span class="n">response</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
2685
+ <span class="k">return</span> <span class="n">response</span>
2686
+ </code></pre></div></td></tr></table></div>
2687
+ </details>
2688
+ </div>
2689
+
2690
+ </div>
2691
+
2692
+ <div class="doc doc-object doc-function">
2693
+
2694
+
2695
+ <h4 id="dimine_python_sdk.lib.prospecting.drill_db.DrillFunctionWrapper.step_combine" class="doc doc-heading">
2696
+ <code class="highlight language-python"><span class="n">step_combine</span><span class="p">(</span><span class="n">params</span><span class="p">)</span></code>
2697
+
2698
+ <span class="doc doc-labels">
2699
+ <small class="doc doc-label doc-label-staticmethod"><code>staticmethod</code></small>
2700
+ </span>
2701
+
2702
+ </h4>
2703
+
2704
+
2705
+ <div class="doc doc-contents ">
2706
+
2707
+ <p>台阶组合功能的二次封装
2708
+ :param params: Python字典,包含台阶组合所需的参数
2709
+ :return: 处理结果,成功返回{"state": "ok", "message": "..."},失败抛出异常</p>
2710
+ <p>example:</p>
2711
+ <pre><code class="language-python">params = StepCombineParam(
2712
+ )
2713
+ result = DrillFunctionWrapper.step_combine(params)
2714
+ </code></pre>
2715
+
2716
+
2717
+ <details class="mkdocstrings-source">
2718
+ <summary>Source code in <code>dimine_python_sdk\lib\prospecting\drill_db.py</code></summary>
2719
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">37</span>
2720
+ <span class="normal">38</span>
2721
+ <span class="normal">39</span>
2722
+ <span class="normal">40</span>
2723
+ <span class="normal">41</span>
2724
+ <span class="normal">42</span>
2725
+ <span class="normal">43</span>
2726
+ <span class="normal">44</span>
2727
+ <span class="normal">45</span>
2728
+ <span class="normal">46</span>
2729
+ <span class="normal">47</span>
2730
+ <span class="normal">48</span>
2731
+ <span class="normal">49</span>
2732
+ <span class="normal">50</span>
2733
+ <span class="normal">51</span>
2734
+ <span class="normal">52</span>
2735
+ <span class="normal">53</span>
2736
+ <span class="normal">54</span>
2737
+ <span class="normal">55</span>
2738
+ <span class="normal">56</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nd">@staticmethod</span>
2739
+ <span class="k">def</span><span class="w"> </span><span class="nf">step_combine</span><span class="p">(</span><span class="n">params</span><span class="p">:</span> <span class="n">StepCombineParam</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">dict</span><span class="p">:</span>
2740
+ <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
2741
+ <span class="sd"> 台阶组合功能的二次封装</span>
2742
+ <span class="sd"> :param params: Python字典,包含台阶组合所需的参数</span>
2743
+ <span class="sd"> :return: 处理结果,成功返回{&quot;state&quot;: &quot;ok&quot;, &quot;message&quot;: &quot;...&quot;},失败抛出异常</span>
2744
+
2745
+ <span class="sd"> example:</span>
2746
+ <span class="sd"> ```python</span>
2747
+ <span class="sd"> params = StepCombineParam(</span>
2748
+ <span class="sd"> )</span>
2749
+ <span class="sd"> result = DrillFunctionWrapper.step_combine(params)</span>
2750
+ <span class="sd"> ```</span>
2751
+ <span class="sd"> &quot;&quot;&quot;</span>
2752
+ <span class="n">json_param</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">params</span><span class="o">.</span><span class="n">to_dict</span><span class="p">(),</span> <span class="n">ensure_ascii</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
2753
+ <span class="n">raw_response</span> <span class="o">=</span> <span class="n">Dm</span><span class="o">.</span><span class="n">StepCombine</span><span class="p">(</span><span class="n">json_param</span><span class="p">)</span>
2754
+ <span class="n">response</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">raw_response</span><span class="p">)</span>
2755
+ <span class="k">if</span> <span class="n">response</span><span class="p">[</span><span class="s2">&quot;state&quot;</span><span class="p">]</span> <span class="o">==</span> <span class="s2">&quot;failed&quot;</span><span class="p">:</span>
2756
+ <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;台阶组合失败: </span><span class="si">{</span><span class="n">response</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">]</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
2757
+ <span class="k">return</span> <span class="n">response</span>
2758
+ </code></pre></div></td></tr></table></div>
2759
+ </details>
2760
+ </div>
2761
+
2762
+ </div>
2763
+
2764
+
2765
+
2766
+ </div>
2767
+
2768
+ </div>
2769
+
2770
+ </div>
2771
+
2772
+
2773
+
2774
+
2775
+ </div>
2776
+
2777
+ </div>
2778
+
2779
+ </div>
2780
+
2781
+
2782
+
2783
+
2784
+
2785
+
2786
+
2787
+
2788
+
2789
+
2790
+
2791
+
2792
+
2793
+ </article>
2794
+ </div>
2795
+
2796
+
2797
+ <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
2798
+ </div>
2799
+
2800
+ </main>
2801
+
2802
+ <footer class="md-footer">
2803
+
2804
+ <div class="md-footer-meta md-typeset">
2805
+ <div class="md-footer-meta__inner md-grid">
2806
+ <div class="md-copyright">
2807
+
2808
+
2809
+ Made with
2810
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2811
+ Material for MkDocs
2812
+ </a>
2813
+
2814
+ </div>
2815
+
2816
+ </div>
2817
+ </div>
2818
+ </footer>
2819
+
2820
+ </div>
2821
+ <div class="md-dialog" data-md-component="dialog">
2822
+ <div class="md-dialog__inner md-typeset"></div>
2823
+ </div>
2824
+
2825
+
2826
+
2827
+
2828
+
2829
+ <script id="__config" type="application/json">{"annotate": null, "base": "../../..", "features": ["navigation.tabs", "navigation.sections", "content.code.copy", "content.action.edit"], "search": "../../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
2830
+
2831
+
2832
+ <script src="../../../assets/javascripts/bundle.79ae519e.min.js"></script>
2833
+
2834
+
2835
+ </body>
2836
+ </html>