1use serde::{Deserialize, Serialize};
2
3use crate::boring_structs_210::*;
5
6#[derive(Debug, Serialize, Deserialize)]
11#[serde(rename = "ボーリング情報")]
12pub struct Boring300 {
13 #[serde(rename = "@DTD_version")]
14 pub dtd_version: Option<String>,
15 #[serde(rename = "標題情報")]
16 pub title: Title300,
17 #[serde(rename = "コア情報")]
18 pub core: Core300,
19}
20
21#[derive(Debug, Serialize, Deserialize)]
26pub struct Title300 {
27 #[serde(rename = "調査基本情報")]
28 pub basic_info: BasicSurvey300,
29 #[serde(rename = "経度緯度情報")]
30 pub longitude_latitude: LngLat210,
31 #[serde(default, rename = "ローカル座標")]
32 pub local_coordinates: Vec<LocalCoordinate210>,
33 #[serde(rename = "調査位置")]
34 pub survey_position: SurveyPosition210,
35 #[serde(rename = "発注機関")]
36 pub order_institution: OrderInstitution210,
37 #[serde(rename = "調査期間")]
38 pub survey_period: SurveyPeriod210,
39 #[serde(rename = "調査会社")]
40 pub survey_company: SurveyCompany210,
41 #[serde(rename = "ボーリング基本情報")]
42 pub boring_basic_info: BoringBasicInfo210,
43 #[serde(rename = "試錐機")]
44 pub drilling_machine: DrillingMachine210,
45 #[serde(rename = "エンジン")]
46 pub engine: Engine210,
47 #[serde(default, rename = "ハンマー落下用具")]
48 pub hammer_drop_tool: Option<HammerDropTool210>,
49 #[serde(default, rename = "N値記録用具")]
50 pub n_value_recorder: Option<NValueRecorder210>,
51 #[serde(rename = "ポンプ")]
52 pub pump: Pump210,
53 #[serde(default, rename = "櫓種類")]
54 pub tower_type: Option<TowerType210>,
55}
56
57#[derive(Debug, Serialize, Deserialize)]
62pub struct BasicSurvey300 {
63 #[serde(default, rename = "事業工事名")]
64 pub project_name: Option<String>,
65 #[serde(rename = "調査名")]
66 pub survey_name: Option<String>,
67 #[serde(rename = "調査目的")]
68 pub survey_purpose: Option<String>,
69 #[serde(rename = "調査対象")]
70 pub survey_target: Option<String>,
71 #[serde(rename = "ボーリング名")]
72 pub boring_name: Option<String>,
73 #[serde(rename = "ボーリング総数")]
74 pub total_boring: Option<String>,
75 #[serde(rename = "ボーリング連番")]
76 pub boring_serial: Option<String>,
77}
78
79#[derive(Debug, Serialize, Deserialize)]
84pub struct Core300 {
85 #[serde(rename = "岩石土区分")] pub rock_soil_classifications: Vec<RockSoilClassification300>,
87 #[serde(default, rename = "色調")]
88 pub colors: Vec<Color210>,
89 #[serde(default, rename = "観察記事")]
90 pub observational_articles: Vec<ObservationalArticle210>,
91 #[serde(default, rename = "観察記事枠線")]
92 pub observational_article_frames: Vec<ObservationalArticleFrame210>,
93 #[serde(default, rename = "標準貫入試験")]
94 pub standard_penetration_tests: Vec<StandardPenetrationTest210>,
95 #[serde(default, rename = "標準貫入試験詳細データ")]
96 pub standard_penetration_test_details: Vec<StandardPenetrationTestDetail210>,
97 #[serde(default, rename = "ルジオン試験")]
98 pub lugeon_tests: Vec<LugeonTest210>,
99 #[serde(default, rename = "ルジオン試験詳細データ")]
100 pub lugeon_test_details: Vec<LugeonTestDetail210>,
101 #[serde(default, rename = "相対密度稠度")]
102 pub relative_density_consistency: Vec<RelativeDensityConsistency210>,
103 #[serde(default, rename = "硬軟区分判定表")]
104 pub hardness_classification_table: Vec<HardnessClassificationTable210>,
105 #[serde(default, rename = "硬軟区分")]
106 pub hardness_classifications: Vec<HardnessClassification300>, #[serde(default, rename = "コア形状区分判定表")]
108 pub core_shape_classification_table: Vec<CoreShapeClassificationTable210>,
109 #[serde(default, rename = "コア形状区分")]
110 pub core_shape_classifications: Vec<CoreShapeClassification300>, #[serde(default, rename = "割れ目区分判定表")]
112 pub fracture_classification_table: Vec<FractureClassificationTable210>,
113 #[serde(default, rename = "割れ目区分")]
114 pub fracture_classifications: Vec<FractureClassification300>, #[serde(default, rename = "風化区分判定表")]
116 pub weathering_classification_table: Vec<WeatheringClassificationTable210>,
117 #[serde(default, rename = "風化区分")]
118 pub weathering_classifications: Vec<WeatheringClassification300>, #[serde(default, rename = "変質区分判定表")]
120 pub alteration_classification_table: Vec<AlterationClassificationTable210>,
121 #[serde(default, rename = "変質区分")]
122 pub alteration_classifications: Vec<AlterationClassification300>, #[serde(default, rename = "孔内水平載荷試験")]
124 pub borehole_horizontal_load_tests: Vec<BoreholeHorizontalLoadTest210>,
125 #[serde(default, rename = "透水試験")]
126 pub permeability_tests: Vec<PermeabilityTest210>,
127 #[serde(default, rename = "P波試験")]
128 pub p_wave_tests: Vec<PWaveTest210>,
129 #[serde(default, rename = "S波試験")]
130 pub s_wave_tests: Vec<SWaveTest210>,
131 #[serde(default, rename = "その他原位置試験")]
132 pub other_in_situ_tests: Vec<OtherInSituTest210>,
133 #[serde(default, rename = "試料採取")]
134 pub sample_collections: Vec<SampleCollection210>,
135 #[serde(default, rename = "地盤材料の工学的分類")]
136 pub ground_material_classifications: Vec<GroundMaterialClassification210>,
137 #[serde(default, rename = "地質時代")]
138 pub geological_ages: Vec<GeologicalAge300>, #[serde(default, rename = "地層岩体区分")]
140 pub stratum_rock_classifications: Vec<StratumRockClassification210>,
141 #[serde(default, rename = "孔内水位")]
142 pub borehole_water_levels: Vec<BoreholeWaterLevel210>,
143 #[serde(default, rename = "掘削工程")]
144 pub drilling_processes: Vec<DrillingProcess210>,
145 #[serde(default, rename = "孔径孔壁保護")]
146 pub borehole_diameter_protections: Vec<BoreholeDiameterProtection210>,
147 #[serde(default, rename = "掘進速度")]
148 pub drilling_speeds: Vec<DrillingSpeed210>,
149 #[serde(default, rename = "コアチューブビット")]
150 pub core_tube_bits: Vec<CoreTubeBit210>,
151 #[serde(default, rename = "給圧条件")]
152 pub pressure_conditions: Vec<PressureCondition210>,
153 #[serde(default, rename = "回転数")]
154 pub rotation_speeds: Vec<RotationSpeed210>,
155 #[serde(default, rename = "送水条件")]
156 pub water_supply_conditions: Vec<WaterSupplyCondition210>,
157 #[serde(default, rename = "断層破砕帯区分")]
158 pub fault_fracture_zone_classifications: Vec<FaultFractureZoneClassification210>,
159 #[serde(default, rename = "コア採取率")]
160 pub core_recovery_rates: Vec<CoreRecoveryRate300>, #[serde(default, rename = "最大コア長")]
162 pub maximum_core_lengths: Vec<MaximumCoreLength300>, #[serde(default, rename = "RQD")]
164 pub rqds: Vec<RQD210>,
165 #[serde(default, rename = "岩級区分判定表")]
166 pub rock_class_classification_table: Vec<RockClassClassificationTable210>,
167 #[serde(default, rename = "岩級区分")]
168 pub rock_class_classifications: Vec<RockClassClassification300>, #[serde(default, rename = "保孔管")]
170 pub casing_pipes: Vec<CasingPipe210>,
171 #[serde(default, rename = "計測機器")]
172 pub measuring_instruments: Vec<MeasuringInstrument210>,
173 #[serde(default, rename = "地下水検層試験")]
174 pub groundwater_logging_tests: Vec<GroundwaterLoggingTest210>,
175 #[serde(default, rename = "地下水検層試験詳細データ")]
176 pub groundwater_logging_test_details: Vec<GroundwaterLoggingTestDetail210>,
177 #[serde(default, rename = "地下水検層試験判定結果")]
178 pub groundwater_logging_test_results: Vec<GroundwaterLoggingTestResult210>,
179 #[serde(default, rename = "備考")]
180 pub remarks: Vec<Remark210>,
181 #[serde(default, rename = "フリー情報")]
182 pub free_info: Vec<String>,
183}
184
185#[derive(Debug, Serialize, Deserialize)]
192pub struct RockSoilClassification300 {
193 #[serde(rename = "岩石土区分_下端深度")]
194 pub depth: Option<String>,
195 #[serde(rename = "岩石土区分_岩石土名")]
196 pub rock_soil_name: Option<String>,
197 #[serde(default, rename = "岩石土区分_岩石土記号")]
198 pub rock_soil_symbol: Option<String>,
199 #[serde(rename = "岩石土区分_岩石群")] pub rock_groups: Vec<RockGroup300>,
201}
202
203#[derive(Debug, Serialize, Deserialize)]
209pub struct RockGroup300 {
210 #[serde(rename = "岩石土区分_岩石群コード")]
211 pub rock_group_code: Option<String>,
212 #[serde(rename = "岩石土区分_岩石土コード")] pub rock_soil_codes: Vec<RockSoilCode300>,
214}
215
216#[derive(Debug, Serialize, Deserialize)]
223pub struct RockSoilCode300 {
224 #[serde(default, rename = "岩石土区分_岩相")]
225 pub lithofacies: Option<String>,
226 #[serde(default, rename = "岩石土区分_岩石")]
227 pub rock: Option<String>,
228 #[serde(default, rename = "岩石土区分_変成岩岩相")]
229 pub metamorphic_rock_lithofacies: Option<String>,
230 #[serde(default, rename = "岩石土区分_変成岩岩石")]
231 pub metamorphic_rock: Option<String>,
232}
233
234#[derive(Debug, Serialize, Deserialize)]
241pub struct GeologicalAge300 {
242 #[serde(rename = "地質時代_上端深度")]
243 pub start_depth: Option<String>,
244 #[serde(rename = "地質時代_下端深度")]
245 pub end_depth: Option<String>,
246 #[serde(rename = "地質時代_地質時代名")] pub geological_age_name: Option<String>,
248 #[serde(default, rename = "地質時代_形成年代上限")] pub formation_age_upper_limit: Option<String>,
250 #[serde(default, rename = "地質時代_形成年代下限")] pub formation_age_lower_limit: Option<String>,
252 #[serde(default, rename = "地質時代_変成年代上限")] pub metamorphic_age_upper_limit: Option<String>,
254 #[serde(default, rename = "地質時代_変成年代下限")] pub metamorphic_age_lower_limit: Option<String>,
256}
257
258#[derive(Debug, Serialize, Deserialize)]
264pub struct HardnessClassification300 {
265 #[serde(rename = "硬軟区分_下端深度")]
266 pub depth: Option<String>,
267 #[serde(default, rename = "硬軟区分_硬軟区分")] pub classification: Option<String>,
269}
270
271#[derive(Debug, Serialize, Deserialize)]
277pub struct CoreShapeClassification300 {
278 #[serde(rename = "コア形状区分_下端深度")]
279 pub depth: Option<String>,
280 #[serde(default, rename = "コア形状区分_コア形状区分")] pub classification: Option<String>,
282}
283
284#[derive(Debug, Serialize, Deserialize)]
290pub struct FractureClassification300 {
291 #[serde(rename = "割れ目区分_下端深度")]
292 pub depth: Option<String>,
293 #[serde(default, rename = "割れ目区分_割れ目区分")] pub classification: Option<String>,
295}
296
297#[derive(Debug, Serialize, Deserialize)]
303pub struct WeatheringClassification300 {
304 #[serde(rename = "風化区分_下端深度")]
305 pub depth: Option<String>,
306 #[serde(default, rename = "風化区分_風化区分")] pub classification: Option<String>,
308}
309
310#[derive(Debug, Serialize, Deserialize)]
316pub struct AlterationClassification300 {
317 #[serde(rename = "変質区分_下端深度")]
318 pub depth: Option<String>,
319 #[serde(default, rename = "変質区分_変質区分")] pub classification: Option<String>,
321}
322
323#[derive(Debug, Serialize, Deserialize)]
329pub struct CoreRecoveryRate300 {
330 #[serde(rename = "コア採取率_下端深度")]
331 pub depth: Option<String>,
332 #[serde(default, rename = "コア採取率_採取率")] pub recovery_rate: Option<String>,
334}
335
336#[derive(Debug, Serialize, Deserialize)]
342pub struct MaximumCoreLength300 {
343 #[serde(rename = "最大コア長_下端深度")]
344 pub depth: Option<String>,
345 #[serde(default, rename = "最大コア長_コア長")] pub core_length: Option<String>,
347}
348
349#[derive(Debug, Serialize, Deserialize)]
355pub struct RockClassClassification300 {
356 #[serde(rename = "岩級区分_下端深度")]
357 pub depth: Option<String>,
358 #[serde(default, rename = "岩級区分_岩級区分")] pub classification: Option<String>,
360}