1use serde::{Deserialize, Serialize};
2
3use crate::boring_structs_210::*;
5use crate::boring_structs_300::*;
6use crate::types::FreeInfo;
7
8#[derive(Debug, Serialize, Deserialize)]
13#[serde(rename = "ボーリング情報")]
14pub struct Boring400 {
15 #[serde(rename = "@DTD_version")]
16 pub dtd_version: Option<String>,
17 #[serde(rename = "基礎情報")]
18 pub foundation_info: FoundationInfo400,
19 #[serde(rename = "標題情報")]
20 pub title: Title400,
21 #[serde(rename = "コア情報")]
22 pub core: Core400,
23}
24
25#[derive(Debug, Serialize, Deserialize)]
30pub struct FoundationInfo400 {
31 #[serde(default, rename = "適用規格")]
32 pub applicable_standards: Vec<String>,
33 #[serde(rename = "公開フラグ")]
34 pub public_flag: PublicFlag400,
35}
36
37#[derive(Debug, Serialize, Deserialize)]
38pub struct PublicFlag400 {
39 #[serde(rename = "公開フラグ_コード")]
40 pub code: Option<String>,
41 #[serde(default, rename = "公開フラグ_備考")]
42 pub remarks: Option<String>,
43}
44
45#[derive(Debug, Serialize, Deserialize)]
50pub struct Title400 {
51 #[serde(rename = "調査基本情報")]
52 pub basic_info: BasicSurvey300, #[serde(rename = "経度緯度情報")]
54 pub longitude_latitude: LngLat210, #[serde(default, rename = "ローカル座標")]
56 pub local_coordinates: Vec<LocalCoordinate210>, #[serde(rename = "調査位置")]
58 pub survey_position: SurveyPosition210, #[serde(rename = "発注機関")]
60 pub order_institution: OrderInstitution210, #[serde(rename = "調査期間")]
62 pub survey_period: SurveyPeriod210, #[serde(rename = "調査会社")]
64 pub survey_company: SurveyCompany400, #[serde(rename = "ボーリング基本情報")]
66 pub boring_basic_info: BoringBasicInfo400, #[serde(rename = "試錐機")]
68 pub drilling_machine: DrillingMachine210, #[serde(rename = "エンジン")]
70 pub engine: Engine210, #[serde(rename = "ポンプ")]
73 pub pump: Pump210, #[serde(default, rename = "櫓種類")]
75 pub tower_type: Option<TowerType210>, }
77
78#[derive(Debug, Serialize, Deserialize)]
83pub struct SurveyCompany400 {
84 #[serde(rename = "調査会社_名称")]
85 pub name: Option<String>,
86 #[serde(rename = "調査会社_TEL")]
87 pub tel: Option<String>,
88 #[serde(rename = "調査会社_主任技師_氏名")]
89 pub chief_engineer_name: Option<String>,
90 #[serde(default, rename = "調査会社_主任技師_地質調査技士登録番号")]
91 pub chief_engineer_registration_number: Option<String>,
92 #[serde(rename = "調査会社_現場代理人_氏名")]
93 pub site_agent_name: Option<String>,
94 #[serde(default, rename = "調査会社_現場代理人_地質調査技士登録番号")]
95 pub site_agent_registration_number: Option<String>,
96 #[serde(rename = "調査会社_コア鑑定者_氏名")]
97 pub core_appraiser_name: Option<String>,
98 #[serde(default, rename = "調査会社_コア鑑定者_地質調査技士登録番号")]
99 pub core_appraiser_registration_number: Option<String>,
100 #[serde(rename = "調査会社_ボーリング責任者_氏名")]
101 pub boring_supervisor_name: Option<String>,
102 #[serde(default, rename = "調査会社_ボーリング責任者_地質調査技士登録番号")]
103 pub boring_supervisor_registration_number: Option<String>,
104 #[serde(default, rename = "調査会社_電子納品管理者_氏名")]
105 pub electronic_delivery_manager_name: Option<String>,
106 #[serde(default, rename = "調査会社_電子納品管理者_地質情報管理士登録番号")]
107 pub electronic_delivery_manager_registration_number: Option<String>,
108}
109
110#[derive(Debug, Serialize, Deserialize)]
116pub struct BoringBasicInfo400 {
117 #[serde(rename = "孔口標高")]
118 pub surface_elevation: Option<String>,
119 #[serde(rename = "総削孔長")] pub total_drilling_length: Option<String>,
121 #[serde(rename = "柱状図様式")]
122 pub columnar_diagram_format: Option<String>,
123 #[serde(default, rename = "角度")] pub angle: Option<String>,
125 #[serde(default, rename = "方位")] pub azimuth: Option<String>,
127 #[serde(default, rename = "地盤勾配")]
128 pub ground_slope: Option<String>,
129}
130
131#[derive(Debug, Serialize, Deserialize)]
136pub struct Core400 {
137 #[serde(rename = "工学的地質区分名現場土質名")]
139 pub engineering_geology_classifications: Vec<EngineeringGeologyClassification400>,
140 #[serde(default, rename = "色調")]
141 pub colors: Vec<Color210>, #[serde(default, rename = "観察記事")]
143 pub observational_articles: Vec<ObservationalArticle210>, #[serde(default, rename = "観察記事枠線")]
145 pub observational_article_frames: Vec<ObservationalArticleFrame210>, #[serde(default, rename = "標準貫入試験")]
147 pub standard_penetration_tests: Vec<StandardPenetrationTest400>, #[serde(default, rename = "標準貫入試験詳細データ")]
149 pub standard_penetration_test_details: Vec<StandardPenetrationTestDetail210>, #[serde(default, rename = "ルジオン試験")]
151 pub lugeon_tests: Vec<LugeonTest210>, #[serde(default, rename = "ルジオン試験詳細データ")]
153 pub lugeon_test_details: Vec<LugeonTestDetail210>, #[serde(default, rename = "相対密度稠度")]
155 pub relative_density_consistency: Vec<RelativeDensityConsistency210>, #[serde(default, rename = "硬軟区分判定表")]
157 pub hardness_classification_table: Vec<HardnessClassificationTable210>, #[serde(default, rename = "硬軟区分")]
159 pub hardness_classifications: Vec<HardnessClassification300>, #[serde(default, rename = "ボーリングコアの形状区分判定表")]
162 pub boring_core_shape_classification_table: Vec<CoreShapeClassificationTable210>, #[serde(default, rename = "ボーリングコアの形状区分")]
164 pub boring_core_shape_classifications: Vec<CoreShapeClassification300>, #[serde(default, rename = "割れ目の状態区分判定表")]
167 pub crack_state_classification_table: Vec<FractureClassificationTable210>, #[serde(default, rename = "割れ目の状態区分")]
169 pub crack_state_classifications: Vec<FractureClassification300>, #[serde(default, rename = "風化の程度区分判定表")]
172 pub weathering_degree_classification_table: Vec<WeatheringClassificationTable210>, #[serde(default, rename = "風化の程度区分")]
174 pub weathering_degree_classifications: Vec<WeatheringClassification300>, #[serde(default, rename = "熱水変質の程度区分判定表")]
177 pub hydrothermal_alteration_degree_classification_table: Vec<AlterationClassificationTable210>, #[serde(default, rename = "熱水変質の程度区分")]
179 pub hydrothermal_alteration_degree_classifications: Vec<AlterationClassification300>, #[serde(default, rename = "破砕度判定表")]
182 pub crushing_degree_classification_table: Vec<CrushingDegreeClassificationTable400>,
183 #[serde(default, rename = "破砕度")]
184 pub crushing_degrees: Vec<CrushingDegree400>,
185 #[serde(default, rename = "孔内載荷試験")]
187 pub borehole_loading_tests: Vec<BoreholeHorizontalLoadTest210>, #[serde(default, rename = "透水試験")]
189 pub permeability_tests: Vec<PermeabilityTest210>, #[serde(default, rename = "P波試験")]
191 pub p_wave_tests: Vec<PWaveTest210>, #[serde(default, rename = "S波試験")]
193 pub s_wave_tests: Vec<SWaveTest210>, #[serde(default, rename = "その他原位置試験")]
195 pub other_in_situ_tests: Vec<OtherInSituTest210>, #[serde(default, rename = "試料採取")]
197 pub sample_collections: Vec<SampleCollection210>, #[serde(default, rename = "地盤材料の工学的分類")]
199 pub ground_material_classifications: Vec<GroundMaterialClassification210>, #[serde(default, rename = "地質時代")]
201 pub geological_ages: Vec<GeologicalAge300>, #[serde(default, rename = "地層岩体区分")]
203 pub stratum_rock_classifications: Vec<StratumRockClassification210>, #[serde(default, rename = "孔内水位")]
205 pub borehole_water_levels: Vec<BoreholeWaterLevel400>, #[serde(default, rename = "削孔工程")]
208 pub drilling_processes: Vec<DrillingProcess400>, #[serde(default, rename = "孔径孔壁保護")]
210 pub borehole_diameter_protections: Vec<BoreholeDiameterProtection210>, #[serde(default, rename = "削孔速度")]
213 pub drilling_speeds: Vec<DrillingSpeed400>, #[serde(default, rename = "コアチューブビット")]
215 pub core_tube_bits: Vec<CoreTubeBit210>, #[serde(default, rename = "給圧条件")]
217 pub pressure_conditions: Vec<PressureCondition210>, #[serde(default, rename = "回転数")]
219 pub rotation_speeds: Vec<RotationSpeed210>, #[serde(default, rename = "送水条件")]
221 pub water_supply_conditions: Vec<WaterSupplyCondition210>, #[serde(default, rename = "断層破砕帯区分")]
223 pub fault_fracture_zone_classifications: Vec<FaultFractureZoneClassification210>, #[serde(default, rename = "コア採取率")]
225 pub core_recovery_rates: Vec<CoreRecoveryRate300>, #[serde(default, rename = "最大コア長")]
227 pub maximum_core_lengths: Vec<MaximumCoreLength300>, #[serde(default, rename = "RQD")]
229 pub rqds: Vec<RQD210>, #[serde(default, rename = "コア質量")]
232 pub core_masses: Vec<CoreMass400>,
233 #[serde(default, rename = "岩級区分判定表")]
234 pub rock_class_classification_table: Vec<RockClassClassificationTable210>, #[serde(default, rename = "岩級区分")]
236 pub rock_class_classifications: Vec<RockClassClassification300>, #[serde(default, rename = "保孔管")]
238 pub casing_pipes: Vec<CasingPipe210>, #[serde(default, rename = "計測機器")]
240 pub measuring_instruments: Vec<MeasuringInstrument210>, #[serde(default, rename = "トレーサーによる地下水流動層検層")]
243 pub tracer_groundwater_flow_layer_loggings: Vec<TracerGroundwaterFlowLayerLogging400>, #[serde(default, rename = "トレーサーによる地下水流動層検層詳細データ")]
245 pub tracer_groundwater_flow_layer_logging_details:
246 Vec<TracerGroundwaterFlowLayerLoggingDetail400>, #[serde(default, rename = "トレーサーによる地下水流動層検層判定結果")]
248 pub tracer_groundwater_flow_layer_logging_results:
249 Vec<TracerGroundwaterFlowLayerLoggingResult400>, #[serde(default, rename = "備考")]
251 pub remarks: Vec<Remark210>, #[serde(default, rename = "フリー情報")]
253 pub free_info: Vec<FreeInfo>,
254}
255
256#[derive(Debug, Serialize, Deserialize)]
262pub struct EngineeringGeologyClassification400 {
263 #[serde(rename = "工学的地質区分名現場土質名_下端深度")]
264 pub depth: Option<String>,
265 #[serde(rename = "工学的地質区分名現場土質名_工学的地質区分名現場土質名")]
266 pub name: Option<String>,
267 #[serde(
268 default,
269 rename = "工学的地質区分名現場土質名_工学的地質区分名現場土質名記号"
270 )]
271 pub symbol: Option<String>,
272 #[serde(rename = "工学的地質区分名現場土質名_岩石群")]
273 pub rock_groups: Vec<RockGroup400>,
274}
275
276#[derive(Debug, Serialize, Deserialize)]
277pub struct RockGroup400 {
278 #[serde(rename = "工学的地質区分名現場土質名_岩石群コード")]
279 pub rock_group_code: Option<String>,
280 #[serde(rename = "工学的地質区分名現場土質名_岩石土コード")]
281 pub rock_soil_codes: Vec<RockSoilCode400>,
282}
283
284#[derive(Debug, Serialize, Deserialize)]
285pub struct RockSoilCode400 {
286 #[serde(default, rename = "工学的地質区分名現場土質名_岩相")]
287 pub lithofacies: Option<String>,
288 #[serde(default, rename = "工学的地質区分名現場土質名_岩石")]
289 pub rock: Option<String>,
290 #[serde(default, rename = "工学的地質区分名現場土質名_変成岩岩相")]
291 pub metamorphic_rock_lithofacies: Option<String>,
292 #[serde(default, rename = "工学的地質区分名現場土質名_変成岩岩石")]
293 pub metamorphic_rock: Option<String>,
294}
295
296#[derive(Debug, Serialize, Deserialize)]
301pub struct StandardPenetrationTest400 {
302 #[serde(rename = "標準貫入試験_開始深度")]
303 pub start_depth: Option<String>,
304 #[serde(default, rename = "標準貫入試験_0_100打撃回数")]
306 pub hit_count_0_100: Option<String>,
307 #[serde(default, rename = "標準貫入試験_0_100貫入量")]
308 pub penetration_0_100: Option<String>,
309 #[serde(default, rename = "標準貫入試験_100_200打撃回数")]
311 pub hit_count_100_200: Option<String>,
312 #[serde(default, rename = "標準貫入試験_100_200貫入量")]
313 pub penetration_100_200: Option<String>,
314 #[serde(default, rename = "標準貫入試験_200_300打撃回数")]
316 pub hit_count_200_300: Option<String>,
317 #[serde(default, rename = "標準貫入試験_200_300貫入量")]
318 pub penetration_200_300: Option<String>,
319 #[serde(rename = "標準貫入試験_合計打撃回数")]
320 pub total_hit_count: Option<String>,
321 #[serde(rename = "標準貫入試験_合計貫入量")]
322 pub total_penetration: Option<String>,
323 #[serde(default, rename = "標準貫入試験_備考")]
324 pub remarks: Option<String>,
325}
326
327#[derive(Debug, Serialize, Deserialize)]
332pub struct CrushingDegreeClassificationTable400 {
333 #[serde(default, rename = "破砕度判定表_項目名")]
334 pub item_names: Vec<String>,
335 #[serde(default, rename = "破砕度判定表_判定")]
336 pub judgments: Vec<CrushingDegreeJudgment400>,
337}
338
339#[derive(Debug, Serialize, Deserialize)]
340pub struct CrushingDegreeJudgment400 {
341 #[serde(rename = "破砕度判定表_コード")]
342 pub code: Option<String>,
343 #[serde(rename = "破砕度判定表_記号")]
344 pub symbol: Option<String>,
345 #[serde(default, rename = "破砕度判定表_説明")]
346 pub descriptions: Vec<String>,
347}
348
349#[derive(Debug, Serialize, Deserialize)]
350pub struct CrushingDegree400 {
351 #[serde(rename = "破砕度_上端深度")]
352 pub start_depth: Option<String>,
353 #[serde(rename = "破砕度_下端深度")]
354 pub end_depth: Option<String>,
355 #[serde(default, rename = "破砕度_破砕度")]
356 pub crushing_degree: Option<String>,
357}
358
359#[derive(Debug, Serialize, Deserialize)]
364pub struct CoreMass400 {
365 #[serde(rename = "コア質量_下端深度")]
366 pub depth: Option<String>,
367 #[serde(default, rename = "コア質量_コア質量")]
368 pub core_mass: Option<String>,
369}
370
371#[derive(Debug, Serialize, Deserialize)]
376pub struct BoreholeWaterLevel400 {
377 #[serde(rename = "孔内水位_測定年月日")]
378 pub measurement_date: Option<String>,
379 #[serde(rename = "孔内水位_削孔状況コード")] pub drilling_status_code: Option<String>,
381 #[serde(rename = "孔内水位_削孔状況")] pub drilling_status: Option<String>,
383 #[serde(rename = "孔内水位_孔内水位")]
384 pub water_level: Option<String>,
385 #[serde(default, rename = "孔内水位_水位種別備考")]
387 pub water_level_type_remarks: Option<String>,
388}
389
390#[derive(Debug, Serialize, Deserialize)]
395pub struct DrillingProcess400 {
396 #[serde(rename = "削孔工程_開始年月日")] pub start_date: Option<String>,
398 #[serde(rename = "削孔工程_終了年月日")] pub end_date: Option<String>,
400 #[serde(rename = "削孔工程_削孔深度")] pub drilling_depth: Option<String>,
402 #[serde(default, rename = "削孔工程_作業内容")] pub work_content: Option<String>,
404}
405
406#[derive(Debug, Serialize, Deserialize)]
411pub struct DrillingSpeed400 {
412 #[serde(rename = "削孔速度_上端深度")] pub start_depth: Option<String>,
414 #[serde(rename = "削孔速度_下端深度")] pub end_depth: Option<String>,
416 #[serde(default, rename = "削孔速度_削孔速度")] pub drilling_speed: Option<String>,
418}
419
420#[derive(Debug, Serialize, Deserialize)]
426pub struct TracerGroundwaterFlowLayerLogging400 {
427 #[serde(rename = "トレーサーによる地下水流動層検層_検層番号")]
428 pub test_number: Option<String>,
430 #[serde(rename = "トレーサーによる地下水流動層検層_上端深度")]
431 pub start_depth: Option<String>,
432 #[serde(rename = "トレーサーによる地下水流動層検層_下端深度")]
433 pub end_depth: Option<String>,
434 #[serde(rename = "トレーサーによる地下水流動層検層_削孔深度")] pub drilling_depth: Option<String>,
436 #[serde(rename = "トレーサーによる地下水流動層検層_孔内水位")]
437 pub borehole_water_level: Option<String>,
438 #[serde(rename = "トレーサーによる地下水流動層検層_検層方法コード")] pub test_method_code: Option<String>,
440 #[serde(rename = "トレーサーによる地下水流動層検層_電解質溶液濃度")]
441 pub electrolyte_concentration: Option<String>,
442 #[serde(default, rename = "トレーサーによる地下水流動層検層_測定時間")]
443 pub measurement_times: Vec<String>,
444}
445
446#[derive(Debug, Serialize, Deserialize)]
447pub struct TracerGroundwaterFlowLayerLoggingDetail400 {
448 #[serde(rename = "トレーサーによる地下水流動層検層詳細データ_検層番号")] pub test_number: Option<String>,
450 #[serde(rename = "トレーサーによる地下水流動層検層詳細データ_測定深度")]
451 pub measurement_depth: Option<String>,
452 #[serde(
453 default,
454 rename = "トレーサーによる地下水流動層検層詳細データ_比抵抗値"
455 )]
456 pub resistivity_values: Vec<String>,
457}
458
459#[derive(Debug, Serialize, Deserialize)]
460pub struct TracerGroundwaterFlowLayerLoggingResult400 {
461 #[serde(rename = "トレーサーによる地下水流動層検層判定結果_上端深度")]
462 pub start_depth: Option<String>,
463 #[serde(rename = "トレーサーによる地下水流動層検層判定結果_下端深度")]
464 pub end_depth: Option<String>,
465 #[serde(rename = "トレーサーによる地下水流動層検層判定結果_地下水流動層検層結果")]
466 pub result: Option<String>,
467}