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 Boring200 {
14 #[serde(rename = "@DTD_version")]
15 pub dtd_version: Option<String>,
16 #[serde(rename = "標題情報")]
17 pub title: Title200,
18 #[serde(rename = "コア情報")]
19 pub core: Core200,
20}
21
22#[derive(Debug, Serialize, Deserialize)]
30pub struct Title200 {
31 #[serde(rename = "調査基本情報")]
32 pub basic_info: BasicSurvey210,
33 #[serde(rename = "経度緯度情報")]
34 pub longitude_latitude: LngLat210,
35 #[serde(default, rename = "ローカル座標")] pub local_coordinate: Option<LocalCoordinate200>,
37 #[serde(rename = "調査位置")]
38 pub survey_position: SurveyPosition210,
39 #[serde(rename = "発注機関")]
40 pub order_institution: OrderInstitution210,
41 #[serde(rename = "調査期間")]
42 pub survey_period: SurveyPeriod210,
43 #[serde(rename = "調査会社")]
44 pub survey_company: SurveyCompany210,
45 #[serde(rename = "ボーリング基本情報")]
46 pub boring_basic_info: BoringBasicInfo210,
47 #[serde(rename = "試錐機")]
48 pub drilling_machine: DrillingMachine210,
49 #[serde(rename = "エンジン")]
50 pub engine: Engine210,
51 #[serde(rename = "ハンマー落下用具")] pub hammer_drop_tool: HammerDropTool210,
53 #[serde(rename = "N値記録用具")] pub n_value_recorder: NValueRecorder210,
55 #[serde(rename = "ポンプ")]
56 pub pump: Pump210,
57 #[serde(default, rename = "港湾局指定コード")] pub port_authority_code: Option<PortAuthorityCode200>,
59}
60
61#[derive(Debug, Serialize, Deserialize)]
68pub struct LocalCoordinate200 {
69 #[serde(default, rename = "X座標定義")] pub x_definition: Option<String>,
71 #[serde(default, rename = "X座標")] pub x: Option<String>,
73 #[serde(default, rename = "Y座標定義")] pub y_definition: Option<String>,
75 #[serde(default, rename = "Y座標")] pub y: Option<String>,
77 #[serde(default, rename = "Z座標定義")] pub z_definition: Option<String>,
79 #[serde(default, rename = "Z座標")] pub z: Option<String>,
81}
82
83#[derive(Debug, Serialize, Deserialize)]
90pub struct PortAuthorityCode200 {
91 #[serde(default, rename = "櫓種類コード")] pub tower_type_code: Option<String>,
93 #[serde(default, rename = "建設局")] pub construction_bureau: Option<String>,
95 #[serde(default, rename = "都道府県")] pub prefecture: Option<String>,
97 #[serde(default, rename = "港名")] pub port_name: Option<String>,
99 #[serde(default, rename = "調査者")] pub investigator: Option<String>,
101}
102
103#[derive(Debug, Serialize, Deserialize)]
126pub struct Core200 {
127 #[serde(rename = "土質岩種区分")] pub soil_rock_classifications: Vec<SoilRockClassification210>,
129 #[serde(default, rename = "色調")]
130 pub colors: Vec<Color210>,
131 #[serde(default, rename = "観察記事")]
132 pub observational_articles: Vec<ObservationalArticle210>,
133 #[serde(default, rename = "観察記事枠線")]
134 pub observational_article_frames: Vec<ObservationalArticleFrame210>,
135 #[serde(default, rename = "標準貫入試験")]
136 pub standard_penetration_tests: Vec<StandardPenetrationTest210>,
137 #[serde(default, rename = "ルジオン試験")]
139 pub lugeon_tests: Vec<LugeonTest200>, #[serde(default, rename = "ルジオン試験詳細データ")]
141 pub lugeon_test_details: Vec<LugeonTestDetail200>, #[serde(default, rename = "相対密度稠度")]
143 pub relative_density_consistency: Vec<RelativeDensityConsistency210>,
144 #[serde(default, rename = "硬軟区分判定表")]
145 pub hardness_classification_table: Vec<HardnessClassificationTable210>,
146 #[serde(default, rename = "硬軟区分")]
147 pub hardness_classifications: Vec<HardnessClassification210>,
148 #[serde(default, rename = "コア形状区分判定表")]
149 pub core_shape_classification_table: Vec<CoreShapeClassificationTable210>,
150 #[serde(default, rename = "コア形状区分")]
151 pub core_shape_classifications: Vec<CoreShapeClassification210>,
152 #[serde(default, rename = "割れ目区分判定表")]
153 pub fracture_classification_table: Vec<FractureClassificationTable210>,
154 #[serde(default, rename = "割れ目区分")]
155 pub fracture_classifications: Vec<FractureClassification210>,
156 #[serde(default, rename = "風化区分判定表")]
157 pub weathering_classification_table: Vec<WeatheringClassificationTable210>,
158 #[serde(default, rename = "風化区分")]
159 pub weathering_classifications: Vec<WeatheringClassification210>,
160 #[serde(default, rename = "変質区分判定表")]
161 pub alteration_classification_table: Vec<AlterationClassificationTable210>,
162 #[serde(default, rename = "変質区分")]
163 pub alteration_classifications: Vec<AlterationClassification210>,
164 #[serde(default, rename = "孔内水平載荷試験")]
165 pub borehole_horizontal_load_tests: Vec<BoreholeHorizontalLoadTest210>,
166 #[serde(default, rename = "透水試験")]
167 pub permeability_tests: Vec<PermeabilityTest210>,
168 #[serde(default, rename = "P波試験")]
169 pub p_wave_tests: Vec<PWaveTest210>,
170 #[serde(default, rename = "S波試験")]
171 pub s_wave_tests: Vec<SWaveTest210>,
172 #[serde(default, rename = "その他原位置試験")]
173 pub other_in_situ_tests: Vec<OtherInSituTest210>,
174 #[serde(default, rename = "試料採取")]
175 pub sample_collections: Vec<SampleCollection210>,
176 #[serde(default, rename = "地盤材料の工学的分類")]
177 pub ground_material_classifications: Vec<GroundMaterialClassification210>,
178 #[serde(default, rename = "地質時代")]
179 pub geological_ages: Vec<GeologicalAge210>,
180 #[serde(default, rename = "地層岩体区分")]
181 pub stratum_rock_classifications: Vec<StratumRockClassification210>,
182 #[serde(default, rename = "孔内水位")]
183 pub borehole_water_levels: Vec<BoreholeWaterLevel210>,
184 #[serde(default, rename = "掘削工程")]
185 pub drilling_processes: Vec<DrillingProcess210>,
186 #[serde(default, rename = "孔径孔壁保護")]
187 pub borehole_diameter_protections: Vec<BoreholeDiameterProtection210>,
188 #[serde(default, rename = "掘進速度")]
189 pub drilling_speeds: Vec<DrillingSpeed210>,
190 #[serde(default, rename = "コアチューブビット")]
191 pub core_tube_bits: Vec<CoreTubeBit210>,
192 #[serde(default, rename = "給圧条件")]
193 pub pressure_conditions: Vec<PressureCondition210>,
194 #[serde(default, rename = "回転数")]
195 pub rotation_speeds: Vec<RotationSpeed210>,
196 #[serde(default, rename = "送水条件")]
197 pub water_supply_conditions: Vec<WaterSupplyCondition210>,
198 #[serde(default, rename = "断層破砕帯区分")]
199 pub fault_fracture_zone_classifications: Vec<FaultFractureZoneClassification210>,
200 #[serde(default, rename = "コア採取率")]
201 pub core_recovery_rates: Vec<CoreRecoveryRate210>,
202 #[serde(default, rename = "最大コア長")]
203 pub maximum_core_lengths: Vec<MaximumCoreLength210>,
204 #[serde(default, rename = "RQD")]
205 pub rqds: Vec<RQD210>,
206 #[serde(default, rename = "岩級区分判定表")]
207 pub rock_class_classification_table: Vec<RockClassClassificationTable210>,
208 #[serde(default, rename = "岩級区分")]
209 pub rock_class_classifications: Vec<RockClassClassification210>,
210 #[serde(default, rename = "保孔管")]
211 pub casing_pipes: Vec<CasingPipe210>,
212 #[serde(default, rename = "計測機器")]
213 pub measuring_instruments: Vec<MeasuringInstrument210>,
214 #[serde(default, rename = "地下水検層試験")]
215 pub groundwater_logging_tests: Vec<GroundwaterLoggingTest200>, #[serde(default, rename = "地下水検層試験詳細データ")]
217 pub groundwater_logging_test_details: Vec<GroundwaterLoggingTestDetail210>,
218 #[serde(default, rename = "地下水検層試験判定結果")]
219 pub groundwater_logging_test_results: Vec<GroundwaterLoggingTestResult210>,
220 #[serde(default, rename = "備考")]
221 pub remarks: Vec<Remark210>,
222 #[serde(default, rename = "フリー情報")]
223 pub free_info: Vec<FreeInfo>,
224}
225
226#[derive(Debug, Serialize, Deserialize)]
237pub struct LugeonTest200 {
238 #[serde(rename = "ルジオン試験_試験番号")]
239 pub test_number: Option<String>,
240 #[serde(rename = "ルジオン試験_上端深度")]
241 pub start_depth: Option<String>,
242 #[serde(rename = "ルジオン試験_下端深度")]
243 pub end_depth: Option<String>,
244 #[serde(rename = "ルジオン試験_圧力管理方法コード")]
245 pub pressure_management_code: Option<String>,
246 #[serde(default, rename = "ルジオン試験_圧力管理方法")] pub pressure_management: Option<String>,
248 #[serde(default, rename = "ルジオン試験_損失水頭補正値_注水管")] pub head_loss_correction_injection_pipe: Option<String>,
251 #[serde(default, rename = "ルジオン試験_損失水頭補正値_パッカー")] pub head_loss_correction_packer: Option<String>,
253 #[serde(rename = "ルジオン試験_圧力最大スケール")]
254 pub pressure_max_scale: Option<String>,
255 #[serde(rename = "ルジオン試験_注入量最大スケール")]
256 pub injection_max_scale: Option<String>,
257 #[serde(rename = "ルジオン試験_圧力開始点")]
258 pub pressure_start_point: Option<String>,
259 #[serde(rename = "ルジオン試験_注入量開始点")]
260 pub injection_start_point: Option<String>,
261 #[serde(rename = "ルジオン試験_ルジオン値区分")]
262 pub lugeon_value_classification: Option<String>,
263 #[serde(rename = "ルジオン試験_ルジオン値")]
264 pub lugeon_value: Option<String>,
265 #[serde(rename = "ルジオン試験_限界圧力")]
266 pub limit_pressure: Option<String>,
267}
268
269#[derive(Debug, Serialize, Deserialize)]
276pub struct LugeonTestDetail200 {
277 #[serde(rename = "ルジオン試験詳細データ_試験番号")]
278 pub test_number: Option<String>,
279 #[serde(rename = "ルジオン試験詳細データ_注入圧力")] pub injection_pressure: Option<String>,
281 #[serde(rename = "ルジオン試験詳細データ_注入量")]
282 pub injection_amount: Option<String>,
283}
284
285#[derive(Debug, Serialize, Deserialize)]
294pub struct GroundwaterLoggingTest200 {
295 #[serde(rename = "地下水検層試験_試験番号")]
296 pub test_number: Option<String>,
297 #[serde(rename = "地下水検層試験_上端深度")]
298 pub start_depth: Option<String>,
299 #[serde(rename = "地下水検層試験_下端深度")]
300 pub end_depth: Option<String>,
301 #[serde(rename = "地下水検層試験_掘削深度")]
302 pub drilling_depth: Option<String>,
303 #[serde(rename = "地下水検層試験_孔内水位")]
304 pub water_level: Option<String>,
305 #[serde(rename = "地下水検層試験_試験方法コード")]
306 pub test_method_code: Option<String>,
307 #[serde(rename = "地下水検層試験_電解質溶液濃度")]
308 pub electrolyte_concentration: Option<String>,
309 #[serde(default, rename = "地下水検層試験_測定時間")] pub measurement_time: Option<String>,
311}