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