diff --git a/B06_Section/B06_Section_UI_Standard_Panel.ts b/B06_Section/B06_Section_UI_Standard_Panel.ts index 9e445f0f6..263c09f9f 100644 --- a/B06_Section/B06_Section_UI_Standard_Panel.ts +++ b/B06_Section/B06_Section_UI_Standard_Panel.ts @@ -245,20 +245,6 @@ function spread(state: StandardCrossSection, spec: NumberFieldSpec, value: numbe } } -/** - * 그룹마다 공통값이 다르게 저장돼 있을 수 있다(옛 프로젝트) — **토사 값을 기준**으로 - * 한 벌로 맞춘다(2026-09-04 사용자 확정). 화면은 값 하나를 보이는데 저장분이 셋으로 - * 갈려 있으면 어느 값이 나갔는지 알 수 없기 때문이다. - */ -function unifyCommon(state: StandardCrossSection): void { - const soil = state.soil; - if (!soil) return; - for (const spec of FIELD_SPECS) { - if (spec.scope !== "common") continue; - spread(state, spec, spec.get(soil)); - } -} - /** * 표준 횡단면 설정 패널을 만든다. * @param projectId 세션 캐시 스코프. @@ -384,8 +370,7 @@ export function createStandardPanel( const renderBody = (): void => { body.replaceChildren(buildDetails()); }; - // 옛 저장분이 그룹마다 다른 공통값을 갖고 있으면 토사 기준으로 한 벌로 맞춘다. - unifyCommon(state); + // 열기 · 복원 · 불러오기 = 그룹 값 그대로(서버가 그 값으로 셈) — 공통 칸은 고칠 때만 펼침(364-6). persist(); if (!hadSession) seedPageHistory(stateKey("std-cross", projectId)); // 비었던 칸 채움 = 씨앗(364-1) renderBody(); @@ -395,7 +380,6 @@ export function createStandardPanel( (Object.keys(source) as StandardCrossKey[]).forEach((key) => { if (source[key]) state[key] = JSON.parse(JSON.stringify(source[key])) as StandardCrossGroup; }); - unifyCommon(state); persist(); renderBody(); }; @@ -412,7 +396,6 @@ export function createStandardPanel( (Object.keys(fresh) as StandardCrossKey[]).forEach((key) => { state[key] = fresh[key]; }); - unifyCommon(state); persist(); renderBody(); }, @@ -447,7 +430,6 @@ export function createStandardPanel( (Object.keys(stored) as StandardCrossKey[]).forEach((key) => { if (stored[key]) state[key] = JSON.parse(JSON.stringify(stored[key])) as StandardCrossGroup; }); - unifyCommon(state); applied = JSON.stringify(state); showPending(); renderBody(); diff --git a/resources/tester/fixtures/b06_364_6_rock_route_304.json b/resources/tester/fixtures/b06_364_6_rock_route_304.json new file mode 100644 index 000000000..cf995b9d9 --- /dev/null +++ b/resources/tester/fixtures/b06_364_6_rock_route_304.json @@ -0,0 +1 @@ +{"standard_cross_section":{"soil":{"road_width_m":3.0,"shoulder_left_m":0.5,"shoulder_right_m":0.5,"ditch":{"top_width_m":0.9,"bottom_width_m":0.3,"depth_m":0.3},"cross_slope_pct":{"min":3.0,"max":5.0},"fill_slope_ratio":1.2,"cut_slope_ratio":1.0},"rock":{"road_width_m":3.0,"shoulder_left_m":0.5,"shoulder_right_m":0.5,"ditch":{"top_width_m":0.69,"bottom_width_m":0.3,"depth_m":0.3},"ditch_l_type":{"width_m":0.5,"depth_m":0.1},"cross_slope_pct":{"min":3.0,"max":3.0},"fill_slope_ratio":1.2,"cut_slope_ratio":0.4},"paved":{"road_width_m":3.0,"shoulder_left_m":0.5,"shoulder_right_m":0.5,"ditch":{"top_width_m":0.9,"bottom_width_m":0.3,"depth_m":0.3},"cross_slope_pct":{"min":1.5,"max":2.0},"fill_slope_ratio":1.2,"cut_slope_ratio":1.0,"pavement_thickness_m":0.2}},"route_id":304,"detail":{"longitudinal":{"length_m":1092.26901,"samples":[{"chainage_m":0.0,"x":208403.2,"y":367920.751,"z":879.138051,"elevation_m":879.138051,"valid":true},{"chainage_m":1.0,"x":208403.215503,"y":367919.75112,"z":879.102482,"elevation_m":879.102482,"valid":true},{"chainage_m":2.0,"x":208403.231006,"y":367918.75124,"z":879.03624,"elevation_m":879.03624,"valid":true},{"chainage_m":3.0,"x":208403.246509,"y":367917.751361,"z":878.940988,"elevation_m":878.940988,"valid":true},{"chainage_m":4.0,"x":208403.262012,"y":367916.751481,"z":878.752063,"elevation_m":878.752063,"valid":true},{"chainage_m":5.0,"x":208403.277515,"y":367915.751601,"z":878.43879,"elevation_m":878.43879,"valid":true},{"chainage_m":6.0,"x":208403.293018,"y":367914.751721,"z":878.076554,"elevation_m":878.076554,"valid":true},{"chainage_m":7.0,"x":208403.308521,"y":367913.751841,"z":877.564606,"elevation_m":877.564606,"valid":true},{"chainage_m":8.0,"x":208403.324024,"y":367912.751961,"z":877.096031,"elevation_m":877.096031,"valid":true},{"chainage_m":9.0,"x":208403.339527,"y":367911.752082,"z":876.591025,"elevation_m":876.591025,"valid":true},{"chainage_m":10.0,"x":208403.35503,"y":367910.752202,"z":876.165731,"elevation_m":876.165731,"valid":true},{"chainage_m":11.0,"x":208403.370533,"y":367909.752322,"z":875.854784,"elevation_m":875.854784,"valid":true},{"chainage_m":12.0,"x":208403.386036,"y":367908.752442,"z":875.490883,"elevation_m":875.490883,"valid":true},{"chainage_m":13.0,"x":208403.401539,"y":367907.752562,"z":874.95574,"elevation_m":874.95574,"valid":true},{"chainage_m":14.0,"x":208403.417042,"y":367906.752682,"z":874.415187,"elevation_m":874.415187,"valid":true},{"chainage_m":15.0,"x":208403.432545,"y":367905.752803,"z":874.055541,"elevation_m":874.055541,"valid":true},{"chainage_m":16.0,"x":208403.448047,"y":367904.752923,"z":873.712599,"elevation_m":873.712599,"valid":true},{"chainage_m":17.0,"x":208403.46355,"y":367903.753043,"z":873.154005,"elevation_m":873.154005,"valid":true},{"chainage_m":18.0,"x":208403.479053,"y":367902.753163,"z":872.84932,"elevation_m":872.84932,"valid":true},{"chainage_m":19.0,"x":208403.494556,"y":367901.753283,"z":872.346942,"elevation_m":872.346942,"valid":true},{"chainage_m":20.0,"x":208403.510059,"y":367900.753404,"z":872.146618,"elevation_m":872.146618,"valid":true},{"chainage_m":21.0,"x":208403.525562,"y":367899.753524,"z":871.74059,"elevation_m":871.74059,"valid":true},{"chainage_m":22.0,"x":208403.541065,"y":367898.753644,"z":871.336659,"elevation_m":871.336659,"valid":true},{"chainage_m":23.0,"x":208403.556568,"y":367897.753764,"z":871.168334,"elevation_m":871.168334,"valid":true},{"chainage_m":24.0,"x":208403.572071,"y":367896.753884,"z":871.047673,"elevation_m":871.047673,"valid":true},{"chainage_m":25.0,"x":208403.587574,"y":367895.754004,"z":870.764396,"elevation_m":870.764396,"valid":true},{"chainage_m":26.0,"x":208403.603077,"y":367894.754125,"z":870.41947,"elevation_m":870.41947,"valid":true},{"chainage_m":27.0,"x":208403.61858,"y":367893.754245,"z":869.945618,"elevation_m":869.945618,"valid":true},{"chainage_m":28.0,"x":208403.634083,"y":367892.754365,"z":869.616571,"elevation_m":869.616571,"valid":true},{"chainage_m":29.0,"x":208403.649586,"y":367891.754485,"z":869.609051,"elevation_m":869.609051,"valid":true},{"chainage_m":30.0,"x":208403.665089,"y":367890.754605,"z":869.503157,"elevation_m":869.503157,"valid":true},{"chainage_m":31.0,"x":208403.680592,"y":367889.754726,"z":869.303376,"elevation_m":869.303376,"valid":true},{"chainage_m":32.0,"x":208403.696095,"y":367888.754846,"z":868.763649,"elevation_m":868.763649,"valid":true},{"chainage_m":33.0,"x":208403.711598,"y":367887.754966,"z":868.029248,"elevation_m":868.029248,"valid":true},{"chainage_m":34.0,"x":208403.727101,"y":367886.755086,"z":868.074186,"elevation_m":868.074186,"valid":true},{"chainage_m":35.0,"x":208403.742604,"y":367885.755206,"z":868.013192,"elevation_m":868.013192,"valid":true},{"chainage_m":36.0,"x":208403.758107,"y":367884.755326,"z":867.842735,"elevation_m":867.842735,"valid":true},{"chainage_m":37.0,"x":208403.77361,"y":367883.755447,"z":867.811527,"elevation_m":867.811527,"valid":true},{"chainage_m":38.0,"x":208403.789113,"y":367882.755567,"z":867.615711,"elevation_m":867.615711,"valid":true},{"chainage_m":39.0,"x":208403.804616,"y":367881.755687,"z":867.363748,"elevation_m":867.363748,"valid":true},{"chainage_m":40.0,"x":208403.820119,"y":367880.755807,"z":867.176663,"elevation_m":867.176663,"valid":true},{"chainage_m":41.0,"x":208403.835622,"y":367879.755927,"z":867.109874,"elevation_m":867.109874,"valid":true},{"chainage_m":42.0,"x":208403.851125,"y":367878.756047,"z":867.11573,"elevation_m":867.11573,"valid":true},{"chainage_m":43.0,"x":208403.866628,"y":367877.756168,"z":867.141817,"elevation_m":867.141817,"valid":true},{"chainage_m":44.0,"x":208403.882131,"y":367876.756288,"z":867.183203,"elevation_m":867.183203,"valid":true},{"chainage_m":45.0,"x":208403.897634,"y":367875.756408,"z":867.228706,"elevation_m":867.228706,"valid":true},{"chainage_m":46.0,"x":208403.913136,"y":367874.756528,"z":867.252608,"elevation_m":867.252608,"valid":true},{"chainage_m":47.0,"x":208403.928639,"y":367873.756648,"z":867.343852,"elevation_m":867.343852,"valid":true},{"chainage_m":48.0,"x":208403.944142,"y":367872.756769,"z":867.54388,"elevation_m":867.54388,"valid":true},{"chainage_m":49.0,"x":208403.959645,"y":367871.756889,"z":867.4587,"elevation_m":867.4587,"valid":true},{"chainage_m":50.0,"x":208403.975148,"y":367870.757009,"z":867.307795,"elevation_m":867.307795,"valid":true},{"chainage_m":51.0,"x":208403.990651,"y":367869.757129,"z":867.267036,"elevation_m":867.267036,"valid":true},{"chainage_m":52.0,"x":208404.006154,"y":367868.757249,"z":867.113256,"elevation_m":867.113256,"valid":true},{"chainage_m":53.0,"x":208404.021657,"y":367867.757369,"z":867.195758,"elevation_m":867.195758,"valid":true},{"chainage_m":54.0,"x":208404.03716,"y":367866.75749,"z":867.262792,"elevation_m":867.262792,"valid":true},{"chainage_m":55.0,"x":208404.052663,"y":367865.75761,"z":867.34028,"elevation_m":867.34028,"valid":true},{"chainage_m":56.0,"x":208404.068166,"y":367864.75773,"z":867.26987,"elevation_m":867.26987,"valid":true},{"chainage_m":57.0,"x":208404.083669,"y":367863.75785,"z":867.031427,"elevation_m":867.031427,"valid":true},{"chainage_m":58.0,"x":208404.099172,"y":367862.75797,"z":866.852308,"elevation_m":866.852308,"valid":true},{"chainage_m":59.0,"x":208404.114675,"y":367861.758091,"z":866.838166,"elevation_m":866.838166,"valid":true},{"chainage_m":60.0,"x":208404.130178,"y":367860.758211,"z":866.907262,"elevation_m":866.907262,"valid":true},{"chainage_m":61.0,"x":208404.145681,"y":367859.758331,"z":866.942671,"elevation_m":866.942671,"valid":true},{"chainage_m":62.0,"x":208404.161184,"y":367858.758451,"z":866.719299,"elevation_m":866.719299,"valid":true},{"chainage_m":63.0,"x":208404.176687,"y":367857.758571,"z":866.667886,"elevation_m":866.667886,"valid":true},{"chainage_m":64.0,"x":208404.19219,"y":367856.758691,"z":866.279405,"elevation_m":866.279405,"valid":true},{"chainage_m":65.0,"x":208404.207693,"y":367855.758812,"z":866.058934,"elevation_m":866.058934,"valid":true},{"chainage_m":66.0,"x":208404.223196,"y":367854.758932,"z":866.084625,"elevation_m":866.084625,"valid":true},{"chainage_m":67.0,"x":208404.238699,"y":367853.759052,"z":865.963185,"elevation_m":865.963185,"valid":true},{"chainage_m":68.0,"x":208404.254202,"y":367852.759172,"z":865.97666,"elevation_m":865.97666,"valid":true},{"chainage_m":69.0,"x":208404.269705,"y":367851.759292,"z":866.043558,"elevation_m":866.043558,"valid":true},{"chainage_m":70.0,"x":208404.285208,"y":367850.759412,"z":866.042461,"elevation_m":866.042461,"valid":true},{"chainage_m":71.0,"x":208404.300711,"y":367849.759533,"z":865.95434,"elevation_m":865.95434,"valid":true},{"chainage_m":72.0,"x":208404.316214,"y":367848.759653,"z":865.564798,"elevation_m":865.564798,"valid":true},{"chainage_m":73.0,"x":208404.331717,"y":367847.759773,"z":865.096312,"elevation_m":865.096312,"valid":true},{"chainage_m":74.0,"x":208404.38751,"y":367846.761404,"z":865.108911,"elevation_m":865.108911,"valid":true},{"chainage_m":75.0,"x":208404.523369,"y":367845.771243,"z":865.301556,"elevation_m":865.301556,"valid":true},{"chainage_m":76.0,"x":208404.7404,"y":367844.795812,"z":865.219004,"elevation_m":865.219004,"valid":true},{"chainage_m":77.0,"x":208405.036766,"y":367843.841632,"z":865.343499,"elevation_m":865.343499,"valid":true},{"chainage_m":78.0,"x":208405.411291,"y":367842.915467,"z":865.077365,"elevation_m":865.077365,"valid":true},{"chainage_m":79.0,"x":208405.84023,"y":367842.01241,"z":864.964581,"elevation_m":864.964581,"valid":true},{"chainage_m":80.0,"x":208406.288097,"y":367841.11831,"z":864.904824,"elevation_m":864.904824,"valid":true},{"chainage_m":81.0,"x":208406.735964,"y":367840.224209,"z":864.56286,"elevation_m":864.56286,"valid":true},{"chainage_m":82.0,"x":208407.183831,"y":367839.330109,"z":864.402716,"elevation_m":864.402716,"valid":true},{"chainage_m":83.0,"x":208407.631698,"y":367838.436009,"z":864.111176,"elevation_m":864.111176,"valid":true},{"chainage_m":84.0,"x":208408.079565,"y":367837.541909,"z":862.306615,"elevation_m":862.306615,"valid":true},{"chainage_m":85.0,"x":208408.527432,"y":367836.647809,"z":861.698717,"elevation_m":861.698717,"valid":true},{"chainage_m":86.0,"x":208408.975299,"y":367835.753709,"z":861.591987,"elevation_m":861.591987,"valid":true},{"chainage_m":87.0,"x":208409.423166,"y":367834.859609,"z":861.415579,"elevation_m":861.415579,"valid":true},{"chainage_m":88.0,"x":208409.871033,"y":367833.965508,"z":861.064435,"elevation_m":861.064435,"valid":true},{"chainage_m":89.0,"x":208410.318901,"y":367833.071408,"z":861.138426,"elevation_m":861.138426,"valid":true},{"chainage_m":90.0,"x":208410.766768,"y":367832.177308,"z":860.827667,"elevation_m":860.827667,"valid":true},{"chainage_m":91.0,"x":208411.214635,"y":367831.283208,"z":860.674965,"elevation_m":860.674965,"valid":true},{"chainage_m":92.0,"x":208411.662502,"y":367830.389108,"z":860.370519,"elevation_m":860.370519,"valid":true},{"chainage_m":93.0,"x":208412.110369,"y":367829.495008,"z":860.115098,"elevation_m":860.115098,"valid":true},{"chainage_m":94.0,"x":208412.558236,"y":367828.600907,"z":860.38039,"elevation_m":860.38039,"valid":true},{"chainage_m":95.0,"x":208413.006103,"y":367827.706807,"z":860.832766,"elevation_m":860.832766,"valid":true},{"chainage_m":96.0,"x":208413.45397,"y":367826.812707,"z":860.584769,"elevation_m":860.584769,"valid":true},{"chainage_m":97.0,"x":208413.901837,"y":367825.918607,"z":860.572889,"elevation_m":860.572889,"valid":true},{"chainage_m":98.0,"x":208414.349704,"y":367825.024507,"z":860.249654,"elevation_m":860.249654,"valid":true},{"chainage_m":99.0,"x":208414.797571,"y":367824.130407,"z":859.358555,"elevation_m":859.358555,"valid":true},{"chainage_m":100.0,"x":208415.245438,"y":367823.236307,"z":858.867935,"elevation_m":858.867935,"valid":true},{"chainage_m":101.0,"x":208415.693305,"y":367822.342206,"z":858.855723,"elevation_m":858.855723,"valid":true},{"chainage_m":102.0,"x":208416.141173,"y":367821.448106,"z":859.135998,"elevation_m":859.135998,"valid":true},{"chainage_m":103.0,"x":208416.58904,"y":367820.554006,"z":859.149935,"elevation_m":859.149935,"valid":true},{"chainage_m":104.0,"x":208417.036907,"y":367819.659906,"z":858.968436,"elevation_m":858.968436,"valid":true},{"chainage_m":105.0,"x":208417.484774,"y":367818.765806,"z":858.830251,"elevation_m":858.830251,"valid":true},{"chainage_m":106.0,"x":208417.932641,"y":367817.871706,"z":858.972467,"elevation_m":858.972467,"valid":true},{"chainage_m":107.0,"x":208418.380508,"y":367816.977606,"z":859.180907,"elevation_m":859.180907,"valid":true},{"chainage_m":108.0,"x":208418.828375,"y":367816.083505,"z":858.619394,"elevation_m":858.619394,"valid":true},{"chainage_m":109.0,"x":208419.276242,"y":367815.189405,"z":858.231668,"elevation_m":858.231668,"valid":true},{"chainage_m":110.0,"x":208419.724109,"y":367814.295305,"z":858.225586,"elevation_m":858.225586,"valid":true},{"chainage_m":111.0,"x":208420.171976,"y":367813.401205,"z":858.055105,"elevation_m":858.055105,"valid":true},{"chainage_m":112.0,"x":208420.619843,"y":367812.507105,"z":857.744148,"elevation_m":857.744148,"valid":true},{"chainage_m":113.0,"x":208421.108723,"y":367811.634935,"z":857.664475,"elevation_m":857.664475,"valid":true},{"chainage_m":114.0,"x":208421.656743,"y":367810.800134,"z":857.689342,"elevation_m":857.689342,"valid":true},{"chainage_m":115.0,"x":208422.267251,"y":367810.009658,"z":857.508295,"elevation_m":857.508295,"valid":true},{"chainage_m":116.0,"x":208422.936416,"y":367809.266584,"z":857.221593,"elevation_m":857.221593,"valid":true},{"chainage_m":117.0,"x":208423.643522,"y":367808.559478,"z":857.36072,"elevation_m":857.36072,"valid":true},{"chainage_m":118.0,"x":208424.350629,"y":367807.852371,"z":857.280634,"elevation_m":857.280634,"valid":true},{"chainage_m":119.0,"x":208425.057736,"y":367807.145264,"z":857.0154,"elevation_m":857.0154,"valid":true},{"chainage_m":120.0,"x":208425.764843,"y":367806.438157,"z":856.941147,"elevation_m":856.941147,"valid":true},{"chainage_m":121.0,"x":208426.471949,"y":367805.731051,"z":856.617106,"elevation_m":856.617106,"valid":true},{"chainage_m":122.0,"x":208427.179056,"y":367805.023944,"z":856.462557,"elevation_m":856.462557,"valid":true},{"chainage_m":123.0,"x":208427.886163,"y":367804.316837,"z":856.477085,"elevation_m":856.477085,"valid":true},{"chainage_m":124.0,"x":208428.59327,"y":367803.60973,"z":856.46627,"elevation_m":856.46627,"valid":true},{"chainage_m":125.0,"x":208429.300377,"y":367802.902623,"z":856.577612,"elevation_m":856.577612,"valid":true},{"chainage_m":126.0,"x":208430.007483,"y":367802.195517,"z":856.997434,"elevation_m":856.997434,"valid":true},{"chainage_m":127.0,"x":208430.71459,"y":367801.48841,"z":857.158127,"elevation_m":857.158127,"valid":true},{"chainage_m":128.0,"x":208431.421697,"y":367800.781303,"z":856.287826,"elevation_m":856.287826,"valid":true},{"chainage_m":129.0,"x":208432.128804,"y":367800.074196,"z":855.298846,"elevation_m":855.298846,"valid":true},{"chainage_m":130.0,"x":208432.83591,"y":367799.36709,"z":854.921918,"elevation_m":854.921918,"valid":true},{"chainage_m":131.0,"x":208433.543017,"y":367798.659983,"z":854.542439,"elevation_m":854.542439,"valid":true},{"chainage_m":132.0,"x":208434.250124,"y":367797.952876,"z":853.934301,"elevation_m":853.934301,"valid":true},{"chainage_m":133.0,"x":208434.957231,"y":367797.245769,"z":854.223421,"elevation_m":854.223421,"valid":true},{"chainage_m":134.0,"x":208435.664338,"y":367796.538662,"z":854.405076,"elevation_m":854.405076,"valid":true},{"chainage_m":135.0,"x":208436.371444,"y":367795.831556,"z":854.450149,"elevation_m":854.450149,"valid":true},{"chainage_m":136.0,"x":208437.078551,"y":367795.124449,"z":854.094284,"elevation_m":854.094284,"valid":true},{"chainage_m":137.0,"x":208437.80968,"y":367794.442697,"z":853.780468,"elevation_m":853.780468,"valid":true},{"chainage_m":138.0,"x":208438.578078,"y":367793.804767,"z":854.011524,"elevation_m":854.011524,"valid":true},{"chainage_m":139.0,"x":208439.393476,"y":367793.22658,"z":853.87833,"elevation_m":853.87833,"valid":true},{"chainage_m":140.0,"x":208440.262484,"y":367792.731783,"z":853.593109,"elevation_m":853.593109,"valid":true},{"chainage_m":141.0,"x":208441.15151,"y":367792.274443,"z":853.499699,"elevation_m":853.499699,"valid":true},{"chainage_m":142.0,"x":208442.045785,"y":367791.826924,"z":853.281395,"elevation_m":853.281395,"valid":true},{"chainage_m":143.0,"x":208442.940059,"y":367791.379405,"z":853.242585,"elevation_m":853.242585,"valid":true},{"chainage_m":144.0,"x":208443.834334,"y":367790.931887,"z":853.486809,"elevation_m":853.486809,"valid":true},{"chainage_m":145.0,"x":208444.728609,"y":367790.484368,"z":853.613448,"elevation_m":853.613448,"valid":true},{"chainage_m":146.0,"x":208445.622883,"y":367790.036849,"z":853.369719,"elevation_m":853.369719,"valid":true},{"chainage_m":147.0,"x":208446.517158,"y":367789.589331,"z":853.248707,"elevation_m":853.248707,"valid":true},{"chainage_m":148.0,"x":208447.411432,"y":367789.141812,"z":853.51203,"elevation_m":853.51203,"valid":true},{"chainage_m":149.0,"x":208448.305707,"y":367788.694293,"z":853.412102,"elevation_m":853.412102,"valid":true},{"chainage_m":150.0,"x":208449.199982,"y":367788.246775,"z":853.302247,"elevation_m":853.302247,"valid":true},{"chainage_m":151.0,"x":208450.094256,"y":367787.799256,"z":853.076698,"elevation_m":853.076698,"valid":true},{"chainage_m":152.0,"x":208450.988531,"y":367787.351737,"z":853.003132,"elevation_m":853.003132,"valid":true},{"chainage_m":153.0,"x":208451.882805,"y":367786.904219,"z":853.116525,"elevation_m":853.116525,"valid":true},{"chainage_m":154.0,"x":208452.77708,"y":367786.4567,"z":853.2258,"elevation_m":853.2258,"valid":true},{"chainage_m":155.0,"x":208453.678717,"y":367786.024792,"z":852.420276,"elevation_m":852.420276,"valid":true},{"chainage_m":156.0,"x":208454.60147,"y":367785.641506,"z":851.929696,"elevation_m":851.929696,"valid":true},{"chainage_m":157.0,"x":208455.552698,"y":367785.334772,"z":851.69442,"elevation_m":851.69442,"valid":true},{"chainage_m":158.0,"x":208456.526453,"y":367785.107744,"z":851.523211,"elevation_m":851.523211,"valid":true},{"chainage_m":159.0,"x":208457.51683,"y":367784.969343,"z":851.416022,"elevation_m":851.416022,"valid":true},{"chainage_m":160.0,"x":208458.515039,"y":367784.915117,"z":851.704809,"elevation_m":851.704809,"valid":true},{"chainage_m":161.0,"x":208459.514826,"y":367784.906,"z":852.070751,"elevation_m":852.070751,"valid":true},{"chainage_m":162.0,"x":208460.514826,"y":367784.906,"z":852.010964,"elevation_m":852.010964,"valid":true},{"chainage_m":163.0,"x":208461.514826,"y":367784.906,"z":851.588298,"elevation_m":851.588298,"valid":true},{"chainage_m":164.0,"x":208462.514826,"y":367784.906,"z":851.164323,"elevation_m":851.164323,"valid":true},{"chainage_m":165.0,"x":208463.514826,"y":367784.906,"z":851.04303,"elevation_m":851.04303,"valid":true},{"chainage_m":166.0,"x":208464.514826,"y":367784.906,"z":851.044965,"elevation_m":851.044965,"valid":true},{"chainage_m":167.0,"x":208465.514826,"y":367784.906,"z":850.364383,"elevation_m":850.364383,"valid":true},{"chainage_m":168.0,"x":208466.514826,"y":367784.906,"z":850.377008,"elevation_m":850.377008,"valid":true},{"chainage_m":169.0,"x":208467.514826,"y":367784.906,"z":850.416094,"elevation_m":850.416094,"valid":true},{"chainage_m":170.0,"x":208468.514826,"y":367784.906,"z":850.445237,"elevation_m":850.445237,"valid":true},{"chainage_m":171.0,"x":208469.514826,"y":367784.906,"z":850.760021,"elevation_m":850.760021,"valid":true},{"chainage_m":172.0,"x":208470.514826,"y":367784.906,"z":850.822379,"elevation_m":850.822379,"valid":true},{"chainage_m":173.0,"x":208471.514826,"y":367784.906,"z":850.624387,"elevation_m":850.624387,"valid":true},{"chainage_m":174.0,"x":208472.514826,"y":367784.906,"z":850.504511,"elevation_m":850.504511,"valid":true},{"chainage_m":175.0,"x":208473.514826,"y":367784.906,"z":850.443291,"elevation_m":850.443291,"valid":true},{"chainage_m":176.0,"x":208474.514826,"y":367784.906,"z":850.357494,"elevation_m":850.357494,"valid":true},{"chainage_m":177.0,"x":208475.514826,"y":367784.906,"z":850.066371,"elevation_m":850.066371,"valid":true},{"chainage_m":178.0,"x":208476.514826,"y":367784.906,"z":849.385295,"elevation_m":849.385295,"valid":true},{"chainage_m":179.0,"x":208477.514826,"y":367784.906,"z":849.252499,"elevation_m":849.252499,"valid":true},{"chainage_m":180.0,"x":208478.514826,"y":367784.906,"z":849.436107,"elevation_m":849.436107,"valid":true},{"chainage_m":181.0,"x":208479.514826,"y":367784.906,"z":849.755497,"elevation_m":849.755497,"valid":true},{"chainage_m":182.0,"x":208480.514826,"y":367784.906,"z":849.933222,"elevation_m":849.933222,"valid":true},{"chainage_m":183.0,"x":208481.514826,"y":367784.906,"z":849.781925,"elevation_m":849.781925,"valid":true},{"chainage_m":184.0,"x":208482.514826,"y":367784.906,"z":849.815886,"elevation_m":849.815886,"valid":true},{"chainage_m":185.0,"x":208483.514826,"y":367784.906,"z":849.643071,"elevation_m":849.643071,"valid":true},{"chainage_m":186.0,"x":208484.514826,"y":367784.906,"z":848.970702,"elevation_m":848.970702,"valid":true},{"chainage_m":187.0,"x":208485.514826,"y":367784.906,"z":848.706911,"elevation_m":848.706911,"valid":true},{"chainage_m":188.0,"x":208486.514826,"y":367784.906,"z":848.33191,"elevation_m":848.33191,"valid":true},{"chainage_m":189.0,"x":208487.514826,"y":367784.906,"z":847.872825,"elevation_m":847.872825,"valid":true},{"chainage_m":190.0,"x":208488.514826,"y":367784.906,"z":847.570342,"elevation_m":847.570342,"valid":true},{"chainage_m":191.0,"x":208489.514826,"y":367784.906,"z":847.234399,"elevation_m":847.234399,"valid":true},{"chainage_m":192.0,"x":208490.514826,"y":367784.906,"z":847.124955,"elevation_m":847.124955,"valid":true},{"chainage_m":193.0,"x":208491.514826,"y":367784.906,"z":847.607822,"elevation_m":847.607822,"valid":true},{"chainage_m":194.0,"x":208492.514826,"y":367784.906,"z":848.085143,"elevation_m":848.085143,"valid":true},{"chainage_m":195.0,"x":208493.514826,"y":367784.906,"z":848.835885,"elevation_m":848.835885,"valid":true},{"chainage_m":196.0,"x":208494.514826,"y":367784.906,"z":849.091495,"elevation_m":849.091495,"valid":true},{"chainage_m":197.0,"x":208495.514826,"y":367784.906,"z":849.286921,"elevation_m":849.286921,"valid":true},{"chainage_m":198.0,"x":208496.514826,"y":367784.906,"z":849.330226,"elevation_m":849.330226,"valid":true},{"chainage_m":199.0,"x":208497.514826,"y":367784.906,"z":849.894194,"elevation_m":849.894194,"valid":true},{"chainage_m":200.0,"x":208498.514826,"y":367784.906,"z":850.075616,"elevation_m":850.075616,"valid":true}],"stations":[{"station_id":"station_000000000000","chainage_m":0.0,"label":"STA.0+000.000","kind":"bp","center_x":208403.2,"center_y":367920.751,"center_z":879.138051,"azimuth_deg":179.11171,"plan_radius_m":null,"curve_outer_side":null,"curve_widening_m":0.0,"uphill_side":"right","frame":{"origin":{"x":208403.2,"y":367920.751,"z":879.138051},"tangent_xy":[0.015502967,-0.999879822],"left_xy":[0.999879822,0.015502967],"up_xyz":[0.0,0.0,1.0]},"pavement_suggested":true,"pavement_grade_pct":35.81,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"},{"station_id":"station_000000020000","chainage_m":20.0,"label":"STA.0+020.000","kind":"regular","center_x":208403.510059,"center_y":367900.753404,"center_z":872.146618,"azimuth_deg":179.11171,"plan_radius_m":null,"curve_outer_side":null,"curve_widening_m":0.0,"uphill_side":"right","frame":{"origin":{"x":208403.510059,"y":367900.753404,"z":872.146618},"tangent_xy":[0.015502967,-0.999879822],"left_xy":[0.999879822,0.015502967],"up_xyz":[0.0,0.0,1.0]},"pavement_suggested":true,"pavement_grade_pct":31.58,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"},{"station_id":"station_000000040000","chainage_m":40.0,"label":"STA.0+040.000","kind":"regular","center_x":208403.820119,"center_y":367880.755807,"center_z":867.176663,"azimuth_deg":179.11171,"plan_radius_m":null,"curve_outer_side":null,"curve_widening_m":0.0,"uphill_side":"right","frame":{"origin":{"x":208403.820119,"y":367880.755807,"z":867.176663},"tangent_xy":[0.015502967,-0.999879822],"left_xy":[0.999879822,0.015502967],"up_xyz":[0.0,0.0,1.0]},"pavement_suggested":false,"pavement_grade_pct":13.1,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"},{"station_id":"station_000000060000","chainage_m":60.0,"label":"STA.0+060.000","kind":"regular","center_x":208404.130178,"center_y":367860.758211,"center_z":866.907262,"azimuth_deg":179.11171,"plan_radius_m":null,"curve_outer_side":null,"curve_widening_m":0.0,"uphill_side":"right","frame":{"origin":{"x":208404.130178,"y":367860.758211,"z":866.907262},"tangent_xy":[0.015502967,-0.999879822],"left_xy":[0.999879822,0.015502967],"up_xyz":[0.0,0.0,1.0]},"pavement_suggested":false,"pavement_grade_pct":3.72,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"},{"station_id":"station_000000080000","chainage_m":80.0,"label":"STA.0+080.000","kind":"regular","center_x":208406.288097,"center_y":367841.11831,"center_z":864.904824,"azimuth_deg":153.39308,"plan_radius_m":null,"curve_outer_side":"right","curve_widening_m":1.9053,"uphill_side":"right","frame":{"origin":{"x":208406.288097,"y":367841.11831,"z":864.904824},"tangent_xy":[0.44786708,-0.89410015],"left_xy":[0.89410015,0.44786708],"up_xyz":[0.0,0.0,1.0]},"pavement_suggested":true,"pavement_grade_pct":43.58,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"},{"station_id":"station_000000086000","chainage_m":86.0,"label":"STA.0+086.000","kind":"irregular","center_x":208408.975299,"center_y":367835.753709,"center_z":861.591987,"azimuth_deg":153.39308,"plan_radius_m":null,"curve_outer_side":"right","curve_widening_m":0.5553,"uphill_side":"right","frame":{"origin":{"x":208408.975299,"y":367835.753709,"z":861.591987},"tangent_xy":[0.44786708,-0.89410015],"left_xy":[0.89410015,0.44786708],"up_xyz":[0.0,0.0,1.0]},"structure":"파형강관 D1000","pavement_suggested":true,"pavement_grade_pct":47.31,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"},{"station_id":"station_000000100000","chainage_m":100.0,"label":"STA.0+100.000","kind":"regular","center_x":208415.245438,"center_y":367823.236307,"center_z":858.867935,"azimuth_deg":153.39308,"plan_radius_m":null,"curve_outer_side":null,"curve_widening_m":0.0,"uphill_side":"right","frame":{"origin":{"x":208415.245438,"y":367823.236307,"z":858.867935},"tangent_xy":[0.44786708,-0.89410015],"left_xy":[0.89410015,0.44786708],"up_xyz":[0.0,0.0,1.0]},"pavement_suggested":false,"pavement_grade_pct":13.45,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"},{"station_id":"station_000000120000","chainage_m":120.0,"label":"STA.0+120.000","kind":"regular","center_x":208425.764843,"center_y":367806.438157,"center_z":856.941147,"azimuth_deg":135.0,"plan_radius_m":null,"curve_outer_side":"right","curve_widening_m":1.345,"uphill_side":"right","frame":{"origin":{"x":208425.764843,"y":367806.438157,"z":856.941147},"tangent_xy":[0.707106781,-0.707106781],"left_xy":[0.707106781,0.707106781],"up_xyz":[0.0,0.0,1.0]},"pavement_suggested":false,"pavement_grade_pct":13.61,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"},{"station_id":"station_000000140000","chainage_m":140.0,"label":"STA.0+140.000","kind":"regular","center_x":208440.262484,"center_y":367792.731783,"center_z":853.593109,"azimuth_deg":118.43963,"plan_radius_m":12.0,"curve_outer_side":"right","curve_widening_m":2.25,"uphill_side":"right","frame":{"origin":{"x":208440.262484,"y":367792.731783,"z":853.593109},"tangent_xy":[0.879319387,-0.476232522],"left_xy":[0.476232522,0.879319387],"up_xyz":[0.0,0.0,1.0]},"pavement_suggested":false,"pavement_grade_pct":13.98,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"},{"station_id":"station_000000160000","chainage_m":160.0,"label":"STA.0+160.000","kind":"regular","center_x":208458.515039,"center_y":367784.915117,"center_z":851.704809,"azimuth_deg":91.815861,"plan_radius_m":12.0,"curve_outer_side":"right","curve_widening_m":2.25,"uphill_side":"right","frame":{"origin":{"x":208458.515039,"y":367784.915117,"z":851.704809},"tangent_xy":[0.999497827,-0.031687451],"left_xy":[0.031687451,0.999497827],"up_xyz":[0.0,0.0,1.0]},"pavement_suggested":false,"pavement_grade_pct":8.13,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"},{"station_id":"station_000000175000","chainage_m":175.0,"label":"STA.0+175.000","kind":"irregular","center_x":208473.514826,"center_y":367784.906,"center_z":850.443291,"azimuth_deg":90.0,"plan_radius_m":null,"curve_outer_side":null,"curve_widening_m":0.0,"uphill_side":"right","frame":{"origin":{"x":208473.514826,"y":367784.906,"z":850.443291},"tangent_xy":[1.0,0.0],"left_xy":[-0.0,1.0],"up_xyz":[0.0,0.0,1.0]},"structure":"세월교","pavement_suggested":true,"pavement_grade_pct":18.67,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"},{"station_id":"station_000000180000","chainage_m":180.0,"label":"STA.0+180.000","kind":"regular","center_x":208478.514826,"center_y":367784.906,"center_z":849.436107,"azimuth_deg":90.0,"plan_radius_m":null,"curve_outer_side":null,"curve_widening_m":0.0,"uphill_side":"right","frame":{"origin":{"x":208478.514826,"y":367784.906,"z":849.436107},"tangent_xy":[1.0,0.0],"left_xy":[-0.0,1.0],"up_xyz":[0.0,0.0,1.0]},"pavement_suggested":false,"pavement_grade_pct":13.54,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"},{"station_id":"station_000000200000","chainage_m":200.0,"label":"STA.0+200.000","kind":"regular","center_x":208498.514826,"center_y":367784.906,"center_z":850.075616,"azimuth_deg":90.0,"plan_radius_m":null,"curve_outer_side":null,"curve_widening_m":0.0,"uphill_side":"right","frame":{"origin":{"x":208498.514826,"y":367784.906,"z":850.075616},"tangent_xy":[1.0,0.0],"left_xy":[-0.0,1.0],"up_xyz":[0.0,0.0,1.0]},"pavement_suggested":false,"pavement_grade_pct":2.89,"pavement_grade_limit_pct":14.0,"uphill_side_source":"user"}],"design_profiles":[{"id":"design_grade_line","name":"계획선"}],"profile_alignment":{"schema_version":1,"policy":{"station_interval_m":20.0,"curve_radius_ratio":0.4,"default_curve_length_m":15.0,"curve_tangent_max_ratio":0.45,"curve_skip_legal_exception":false,"default_curve_radius_m":8.0,"balance_tolerance_percent":10.0,"edit_step_m":0.1,"grade_violation_policy":"warn","max_grade_pct":14.0,"curve_skip_delta_pct":5.0,"paved":false,"min_plan_radius_m":12.0,"hairpin_min_radius_m":10.0},"only_explicit_curves":false,"base_pvi":[{"chainage_m":0.0,"elevation_m":879.138051},{"chainage_m":20.0,"elevation_m":871.976575},{"chainage_m":40.0,"elevation_m":866.628783},{"chainage_m":60.0,"elevation_m":867.12517},{"chainage_m":80.0,"elevation_m":865.297154},{"chainage_m":86.0,"elevation_m":861.261328},{"chainage_m":100.0,"elevation_m":858.702654},{"chainage_m":120.0,"elevation_m":857.146155},{"chainage_m":140.0,"elevation_m":853.402866},{"chainage_m":160.0,"elevation_m":851.688893},{"chainage_m":175.0,"elevation_m":850.544898},{"chainage_m":180.0,"elevation_m":849.260317},{"chainage_m":200.0,"elevation_m":850.372809},{"chainage_m":220.0,"elevation_m":848.314576},{"chainage_m":240.0,"elevation_m":854.372462},{"chainage_m":258.0,"elevation_m":848.049217},{"chainage_m":260.0,"elevation_m":847.139948},{"chainage_m":280.0,"elevation_m":845.617421},{"chainage_m":300.0,"elevation_m":845.452771},{"chainage_m":320.0,"elevation_m":843.77853},{"chainage_m":332.0,"elevation_m":842.910862},{"chainage_m":340.0,"elevation_m":843.316882},{"chainage_m":360.0,"elevation_m":843.903324},{"chainage_m":380.0,"elevation_m":844.479722},{"chainage_m":400.0,"elevation_m":842.257268},{"chainage_m":420.0,"elevation_m":844.494201},{"chainage_m":428.0,"elevation_m":843.460756},{"chainage_m":440.0,"elevation_m":843.36736},{"chainage_m":460.0,"elevation_m":846.783556},{"chainage_m":480.0,"elevation_m":843.587833},{"chainage_m":500.0,"elevation_m":842.433095},{"chainage_m":520.0,"elevation_m":844.056774},{"chainage_m":524.0,"elevation_m":841.920743},{"chainage_m":540.0,"elevation_m":841.21864},{"chainage_m":560.0,"elevation_m":841.498306},{"chainage_m":580.0,"elevation_m":838.87172},{"chainage_m":600.0,"elevation_m":838.551976},{"chainage_m":615.0,"elevation_m":837.101721},{"chainage_m":620.0,"elevation_m":838.222852},{"chainage_m":640.0,"elevation_m":840.851353},{"chainage_m":660.0,"elevation_m":844.910711},{"chainage_m":680.0,"elevation_m":841.444301},{"chainage_m":700.0,"elevation_m":843.553637},{"chainage_m":713.0,"elevation_m":841.354089},{"chainage_m":720.0,"elevation_m":840.843841},{"chainage_m":740.0,"elevation_m":839.802947},{"chainage_m":760.0,"elevation_m":837.922573},{"chainage_m":780.0,"elevation_m":840.016667},{"chainage_m":800.0,"elevation_m":840.103549},{"chainage_m":810.0,"elevation_m":837.336291},{"chainage_m":820.0,"elevation_m":837.348615},{"chainage_m":840.0,"elevation_m":833.23205},{"chainage_m":860.0,"elevation_m":835.276462},{"chainage_m":880.0,"elevation_m":835.797214},{"chainage_m":900.0,"elevation_m":832.604536},{"chainage_m":904.0,"elevation_m":832.044025},{"chainage_m":920.0,"elevation_m":832.509631},{"chainage_m":940.0,"elevation_m":830.723055},{"chainage_m":960.0,"elevation_m":833.545345},{"chainage_m":980.0,"elevation_m":830.957096},{"chainage_m":996.0,"elevation_m":834.393929},{"chainage_m":1000.0,"elevation_m":834.158434},{"chainage_m":1020.0,"elevation_m":834.451319},{"chainage_m":1040.0,"elevation_m":832.403397},{"chainage_m":1060.0,"elevation_m":830.220197},{"chainage_m":1080.0,"elevation_m":831.85073},{"chainage_m":1092.269,"elevation_m":833.018175}],"edits":{"station_offsets":{},"curve_radii":{}},"pvi":[{"chainage_m":0.0,"elevation_m":879.138051,"source":"auto","kind":"bp","grade_in_pct":null,"grade_out_pct":-35.807378,"curve_l_m":null,"curve_r_m":null},{"chainage_m":20.0,"elevation_m":871.976575,"source":"auto","kind":"pvi","grade_in_pct":-35.807378,"grade_out_pct":-26.738964,"curve_l_m":15.0,"curve_r_m":165.409296},{"chainage_m":40.0,"elevation_m":866.628783,"source":"auto","kind":"pvi","grade_in_pct":-26.738964,"grade_out_pct":2.481939,"curve_l_m":15.0,"curve_r_m":51.333117},{"chainage_m":60.0,"elevation_m":867.12517,"source":"auto","kind":"pvi","grade_in_pct":2.481939,"grade_out_pct":-9.140084,"curve_l_m":15.0,"curve_r_m":129.065316},{"chainage_m":80.0,"elevation_m":865.297154,"source":"auto","kind":"pvi","grade_in_pct":-9.140084,"grade_out_pct":-67.263761,"curve_l_m":5.4,"curve_r_m":9.290534},{"chainage_m":86.0,"elevation_m":861.261328,"source":"auto","kind":"pvi","grade_in_pct":-67.263761,"grade_out_pct":-18.276243,"curve_l_m":5.4,"curve_r_m":11.023216},{"chainage_m":100.0,"elevation_m":858.702654,"source":"auto","kind":"pvi","grade_in_pct":-18.276243,"grade_out_pct":-7.782495,"curve_l_m":12.6,"curve_r_m":120.071497},{"chainage_m":120.0,"elevation_m":857.146155,"source":"auto","kind":"pvi","grade_in_pct":-7.782495,"grade_out_pct":-18.716445,"curve_l_m":15.0,"curve_r_m":137.187376},{"chainage_m":140.0,"elevation_m":853.402866,"source":"auto","kind":"pvi","grade_in_pct":-18.716445,"grade_out_pct":-8.569867,"curve_l_m":15.0,"curve_r_m":147.833085},{"chainage_m":160.0,"elevation_m":851.688893,"source":"auto","kind":"pvi","grade_in_pct":-8.569867,"grade_out_pct":-7.626629,"curve_l_m":13.5,"curve_r_m":1431.239721},{"chainage_m":175.0,"elevation_m":850.544898,"source":"auto","kind":"pvi","grade_in_pct":-7.626629,"grade_out_pct":-25.691637,"curve_l_m":4.5,"curve_r_m":24.910035},{"chainage_m":180.0,"elevation_m":849.260317,"source":"auto","kind":"pvi","grade_in_pct":-25.691637,"grade_out_pct":5.56246,"curve_l_m":4.5,"curve_r_m":14.398112},{"chainage_m":200.0,"elevation_m":850.372809,"source":"auto","kind":"pvi","grade_in_pct":5.56246,"grade_out_pct":-10.291164,"curve_l_m":15.0,"curve_r_m":94.61559},{"chainage_m":220.0,"elevation_m":848.314576,"source":"auto","kind":"pvi","grade_in_pct":-10.291164,"grade_out_pct":30.289429,"curve_l_m":15.0,"curve_r_m":36.963482},{"chainage_m":240.0,"elevation_m":854.372462,"source":"auto","kind":"pvi","grade_in_pct":30.289429,"grade_out_pct":-35.12914,"curve_l_m":15.0,"curve_r_m":22.92927},{"chainage_m":258.0,"elevation_m":848.049217,"source":"auto","kind":"pvi","grade_in_pct":-35.12914,"grade_out_pct":-45.463445,"curve_l_m":1.8,"curve_r_m":17.417717},{"chainage_m":260.0,"elevation_m":847.139948,"source":"auto","kind":"pvi","grade_in_pct":-45.463445,"grade_out_pct":-7.612634,"curve_l_m":1.8,"curve_r_m":4.755512},{"chainage_m":280.0,"elevation_m":845.617421,"source":"auto","kind":"pvi","grade_in_pct":-7.612634,"grade_out_pct":-0.82325,"curve_l_m":15.0,"curve_r_m":220.933161},{"chainage_m":300.0,"elevation_m":845.452771,"source":"auto","kind":"pvi","grade_in_pct":-0.82325,"grade_out_pct":-8.371206,"curve_l_m":15.0,"curve_r_m":198.72931},{"chainage_m":320.0,"elevation_m":843.77853,"source":"auto","kind":"pvi","grade_in_pct":-8.371206,"grade_out_pct":-7.230564,"curve_l_m":10.8,"curve_r_m":946.835736},{"chainage_m":332.0,"elevation_m":842.910862,"source":"auto","kind":"pvi","grade_in_pct":-7.230564,"grade_out_pct":5.075256,"curve_l_m":7.2,"curve_r_m":58.508901},{"chainage_m":340.0,"elevation_m":843.316882,"source":"auto","kind":"pvi","grade_in_pct":5.075256,"grade_out_pct":2.93221,"curve_l_m":7.2,"curve_r_m":335.970411},{"chainage_m":360.0,"elevation_m":843.903324,"source":"auto","kind":"pvi","grade_in_pct":2.93221,"grade_out_pct":2.881987,"curve_l_m":15.0,"curve_r_m":29867.168842},{"chainage_m":380.0,"elevation_m":844.479722,"source":"auto","kind":"pvi","grade_in_pct":2.881987,"grade_out_pct":-11.112267,"curve_l_m":15.0,"curve_r_m":107.186846},{"chainage_m":400.0,"elevation_m":842.257268,"source":"auto","kind":"pvi","grade_in_pct":-11.112267,"grade_out_pct":11.184662,"curve_l_m":15.0,"curve_r_m":67.273839},{"chainage_m":420.0,"elevation_m":844.494201,"source":"auto","kind":"pvi","grade_in_pct":11.184662,"grade_out_pct":-12.918052,"curve_l_m":7.2,"curve_r_m":29.872155},{"chainage_m":428.0,"elevation_m":843.460756,"source":"auto","kind":"pvi","grade_in_pct":-12.918052,"grade_out_pct":-0.778304,"curve_l_m":7.2,"curve_r_m":59.309301},{"chainage_m":440.0,"elevation_m":843.36736,"source":"auto","kind":"pvi","grade_in_pct":-0.778304,"grade_out_pct":17.080982,"curve_l_m":10.8,"curve_r_m":60.472745},{"chainage_m":460.0,"elevation_m":846.783556,"source":"auto","kind":"pvi","grade_in_pct":17.080982,"grade_out_pct":-15.978617,"curve_l_m":15.0,"curve_r_m":45.372601},{"chainage_m":480.0,"elevation_m":843.587833,"source":"auto","kind":"pvi","grade_in_pct":-15.978617,"grade_out_pct":-5.773692,"curve_l_m":15.0,"curve_r_m":146.987845},{"chainage_m":500.0,"elevation_m":842.433095,"source":"auto","kind":"pvi","grade_in_pct":-5.773692,"grade_out_pct":8.118398,"curve_l_m":15.0,"curve_r_m":107.975113},{"chainage_m":520.0,"elevation_m":844.056774,"source":"auto","kind":"pvi","grade_in_pct":8.118398,"grade_out_pct":-53.400778,"curve_l_m":3.6,"curve_r_m":5.851834},{"chainage_m":524.0,"elevation_m":841.920743,"source":"auto","kind":"pvi","grade_in_pct":-53.400778,"grade_out_pct":-4.388146,"curve_l_m":3.6,"curve_r_m":7.345045},{"chainage_m":540.0,"elevation_m":841.21864,"source":"auto","kind":"pvi","grade_in_pct":-4.388146,"grade_out_pct":1.39833,"curve_l_m":14.4,"curve_r_m":248.85613},{"chainage_m":560.0,"elevation_m":841.498306,"source":"auto","kind":"pvi","grade_in_pct":1.39833,"grade_out_pct":-13.132927,"curve_l_m":15.0,"curve_r_m":103.225755},{"chainage_m":580.0,"elevation_m":838.87172,"source":"auto","kind":"pvi","grade_in_pct":-13.132927,"grade_out_pct":-1.59872,"curve_l_m":15.0,"curve_r_m":130.047954},{"chainage_m":600.0,"elevation_m":838.551976,"source":"auto","kind":"pvi","grade_in_pct":-1.59872,"grade_out_pct":-9.668366,"curve_l_m":13.5,"curve_r_m":167.293584},{"chainage_m":615.0,"elevation_m":837.101721,"source":"auto","kind":"pvi","grade_in_pct":-9.668366,"grade_out_pct":22.42261,"curve_l_m":4.5,"curve_r_m":14.022634},{"chainage_m":620.0,"elevation_m":838.222852,"source":"auto","kind":"pvi","grade_in_pct":22.42261,"grade_out_pct":13.142506,"curve_l_m":4.5,"curve_r_m":48.490835},{"chainage_m":640.0,"elevation_m":840.851353,"source":"auto","kind":"pvi","grade_in_pct":13.142506,"grade_out_pct":20.296792,"curve_l_m":15.0,"curve_r_m":209.664525},{"chainage_m":660.0,"elevation_m":844.910711,"source":"auto","kind":"pvi","grade_in_pct":20.296792,"grade_out_pct":-17.332053,"curve_l_m":15.0,"curve_r_m":39.863036},{"chainage_m":680.0,"elevation_m":841.444301,"source":"auto","kind":"pvi","grade_in_pct":-17.332053,"grade_out_pct":10.546683,"curve_l_m":15.0,"curve_r_m":53.804449},{"chainage_m":700.0,"elevation_m":843.553637,"source":"auto","kind":"pvi","grade_in_pct":10.546683,"grade_out_pct":-16.9196,"curve_l_m":11.7,"curve_r_m":42.597684},{"chainage_m":713.0,"elevation_m":841.354089,"source":"auto","kind":"pvi","grade_in_pct":-16.9196,"grade_out_pct":-7.289255,"curve_l_m":6.3,"curve_r_m":65.418217},{"chainage_m":720.0,"elevation_m":840.843841,"source":"auto","kind":"pvi","grade_in_pct":-7.289255,"grade_out_pct":-5.204473,"curve_l_m":6.3,"curve_r_m":302.189924},{"chainage_m":740.0,"elevation_m":839.802947,"source":"auto","kind":"pvi","grade_in_pct":-5.204473,"grade_out_pct":-9.401871,"curve_l_m":15.0,"curve_r_m":357.364261},{"chainage_m":760.0,"elevation_m":837.922573,"source":"auto","kind":"pvi","grade_in_pct":-9.401871,"grade_out_pct":10.470472,"curve_l_m":15.0,"curve_r_m":75.48179},{"chainage_m":780.0,"elevation_m":840.016667,"source":"auto","kind":"pvi","grade_in_pct":10.470472,"grade_out_pct":0.434408,"curve_l_m":15.0,"curve_r_m":149.460984},{"chainage_m":800.0,"elevation_m":840.103549,"source":"auto","kind":"pvi","grade_in_pct":0.434408,"grade_out_pct":-27.672576,"curve_l_m":9.0,"curve_r_m":32.020512},{"chainage_m":810.0,"elevation_m":837.336291,"source":"auto","kind":"pvi","grade_in_pct":-27.672576,"grade_out_pct":0.12324,"curve_l_m":9.0,"curve_r_m":32.378974},{"chainage_m":820.0,"elevation_m":837.348615,"source":"auto","kind":"pvi","grade_in_pct":0.12324,"grade_out_pct":-20.582826,"curve_l_m":9.0,"curve_r_m":43.465524},{"chainage_m":840.0,"elevation_m":833.23205,"source":"auto","kind":"pvi","grade_in_pct":-20.582826,"grade_out_pct":10.222062,"curve_l_m":15.0,"curve_r_m":48.69357},{"chainage_m":860.0,"elevation_m":835.276462,"source":"auto","kind":"pvi","grade_in_pct":10.222062,"grade_out_pct":2.603758,"curve_l_m":15.0,"curve_r_m":196.894218},{"chainage_m":880.0,"elevation_m":835.797214,"source":"auto","kind":"pvi","grade_in_pct":2.603758,"grade_out_pct":-15.963389,"curve_l_m":15.0,"curve_r_m":80.787853},{"chainage_m":900.0,"elevation_m":832.604536,"source":"auto","kind":"pvi","grade_in_pct":-15.963389,"grade_out_pct":-14.012785,"curve_l_m":3.6,"curve_r_m":184.558142},{"chainage_m":904.0,"elevation_m":832.044025,"source":"auto","kind":"pvi","grade_in_pct":-14.012785,"grade_out_pct":2.910041,"curve_l_m":3.6,"curve_r_m":21.273043},{"chainage_m":920.0,"elevation_m":832.509631,"source":"auto","kind":"pvi","grade_in_pct":2.910041,"grade_out_pct":-8.93288,"curve_l_m":14.4,"curve_r_m":121.591623},{"chainage_m":940.0,"elevation_m":830.723055,"source":"auto","kind":"pvi","grade_in_pct":-8.93288,"grade_out_pct":14.111451,"curve_l_m":15.0,"curve_r_m":65.091931},{"chainage_m":960.0,"elevation_m":833.545345,"source":"auto","kind":"pvi","grade_in_pct":14.111451,"grade_out_pct":-12.941246,"curve_l_m":15.0,"curve_r_m":55.447336},{"chainage_m":980.0,"elevation_m":830.957096,"source":"auto","kind":"pvi","grade_in_pct":-12.941246,"grade_out_pct":21.480202,"curve_l_m":14.4,"curve_r_m":41.834381},{"chainage_m":996.0,"elevation_m":834.393929,"source":"auto","kind":"pvi","grade_in_pct":21.480202,"grade_out_pct":-5.887354,"curve_l_m":3.6,"curve_r_m":13.154262},{"chainage_m":1000.0,"elevation_m":834.158434,"source":"auto","kind":"pvi","grade_in_pct":-5.887354,"grade_out_pct":1.464424,"curve_l_m":3.6,"curve_r_m":48.967748},{"chainage_m":1020.0,"elevation_m":834.451319,"source":"auto","kind":"pvi","grade_in_pct":1.464424,"grade_out_pct":-10.23961,"curve_l_m":15.0,"curve_r_m":128.16094},{"chainage_m":1040.0,"elevation_m":832.403397,"source":"auto","kind":"pvi","grade_in_pct":-10.23961,"grade_out_pct":-10.916002,"curve_l_m":15.0,"curve_r_m":2217.648925},{"chainage_m":1060.0,"elevation_m":830.220197,"source":"auto","kind":"pvi","grade_in_pct":-10.916002,"grade_out_pct":8.152666,"curve_l_m":15.0,"curve_r_m":78.663072},{"chainage_m":1080.0,"elevation_m":831.85073,"source":"auto","kind":"pvi","grade_in_pct":8.152666,"grade_out_pct":9.515403,"curve_l_m":11.0421,"curve_r_m":810.288131},{"chainage_m":1092.269,"elevation_m":833.018175,"source":"auto","kind":"ep","grade_in_pct":9.515403,"grade_out_pct":null,"curve_l_m":null,"curve_r_m":null}],"segments":[{"index":0,"from_m":0.0,"to_m":20.0,"length_m":20.0,"height_m":-7.161476,"grade_percent":-35.807378},{"index":1,"from_m":20.0,"to_m":40.0,"length_m":20.0,"height_m":-5.347793,"grade_percent":-26.738964},{"index":2,"from_m":40.0,"to_m":60.0,"length_m":20.0,"height_m":0.496388,"grade_percent":2.481939},{"index":3,"from_m":60.0,"to_m":80.0,"length_m":20.0,"height_m":-1.828017,"grade_percent":-9.140084},{"index":4,"from_m":80.0,"to_m":86.0,"length_m":6.0,"height_m":-4.035826,"grade_percent":-67.263761},{"index":5,"from_m":86.0,"to_m":100.0,"length_m":14.0,"height_m":-2.558674,"grade_percent":-18.276243},{"index":6,"from_m":100.0,"to_m":120.0,"length_m":20.0,"height_m":-1.556499,"grade_percent":-7.782495},{"index":7,"from_m":120.0,"to_m":140.0,"length_m":20.0,"height_m":-3.743289,"grade_percent":-18.716445},{"index":8,"from_m":140.0,"to_m":160.0,"length_m":20.0,"height_m":-1.713973,"grade_percent":-8.569867},{"index":9,"from_m":160.0,"to_m":175.0,"length_m":15.0,"height_m":-1.143994,"grade_percent":-7.626629},{"index":10,"from_m":175.0,"to_m":180.0,"length_m":5.0,"height_m":-1.284582,"grade_percent":-25.691637},{"index":11,"from_m":180.0,"to_m":200.0,"length_m":20.0,"height_m":1.112492,"grade_percent":5.56246},{"index":12,"from_m":200.0,"to_m":220.0,"length_m":20.0,"height_m":-2.058233,"grade_percent":-10.291164},{"index":13,"from_m":220.0,"to_m":240.0,"length_m":20.0,"height_m":6.057886,"grade_percent":30.289429},{"index":14,"from_m":240.0,"to_m":258.0,"length_m":18.0,"height_m":-6.323245,"grade_percent":-35.12914},{"index":15,"from_m":258.0,"to_m":260.0,"length_m":2.0,"height_m":-0.909269,"grade_percent":-45.463445},{"index":16,"from_m":260.0,"to_m":280.0,"length_m":20.0,"height_m":-1.522527,"grade_percent":-7.612634},{"index":17,"from_m":280.0,"to_m":300.0,"length_m":20.0,"height_m":-0.16465,"grade_percent":-0.82325},{"index":18,"from_m":300.0,"to_m":320.0,"length_m":20.0,"height_m":-1.674241,"grade_percent":-8.371206},{"index":19,"from_m":320.0,"to_m":332.0,"length_m":12.0,"height_m":-0.867668,"grade_percent":-7.230564},{"index":20,"from_m":332.0,"to_m":340.0,"length_m":8.0,"height_m":0.40602,"grade_percent":5.075256},{"index":21,"from_m":340.0,"to_m":360.0,"length_m":20.0,"height_m":0.586442,"grade_percent":2.93221},{"index":22,"from_m":360.0,"to_m":380.0,"length_m":20.0,"height_m":0.576397,"grade_percent":2.881987},{"index":23,"from_m":380.0,"to_m":400.0,"length_m":20.0,"height_m":-2.222453,"grade_percent":-11.112267},{"index":24,"from_m":400.0,"to_m":420.0,"length_m":20.0,"height_m":2.236932,"grade_percent":11.184662},{"index":25,"from_m":420.0,"to_m":428.0,"length_m":8.0,"height_m":-1.033444,"grade_percent":-12.918052},{"index":26,"from_m":428.0,"to_m":440.0,"length_m":12.0,"height_m":-0.093396,"grade_percent":-0.778304},{"index":27,"from_m":440.0,"to_m":460.0,"length_m":20.0,"height_m":3.416196,"grade_percent":17.080982},{"index":28,"from_m":460.0,"to_m":480.0,"length_m":20.0,"height_m":-3.195723,"grade_percent":-15.978617},{"index":29,"from_m":480.0,"to_m":500.0,"length_m":20.0,"height_m":-1.154738,"grade_percent":-5.773692},{"index":30,"from_m":500.0,"to_m":520.0,"length_m":20.0,"height_m":1.62368,"grade_percent":8.118398},{"index":31,"from_m":520.0,"to_m":524.0,"length_m":4.0,"height_m":-2.136031,"grade_percent":-53.400778},{"index":32,"from_m":524.0,"to_m":540.0,"length_m":16.0,"height_m":-0.702103,"grade_percent":-4.388146},{"index":33,"from_m":540.0,"to_m":560.0,"length_m":20.0,"height_m":0.279666,"grade_percent":1.39833},{"index":34,"from_m":560.0,"to_m":580.0,"length_m":20.0,"height_m":-2.626585,"grade_percent":-13.132927},{"index":35,"from_m":580.0,"to_m":600.0,"length_m":20.0,"height_m":-0.319744,"grade_percent":-1.59872},{"index":36,"from_m":600.0,"to_m":615.0,"length_m":15.0,"height_m":-1.450255,"grade_percent":-9.668366},{"index":37,"from_m":615.0,"to_m":620.0,"length_m":5.0,"height_m":1.12113,"grade_percent":22.42261},{"index":38,"from_m":620.0,"to_m":640.0,"length_m":20.0,"height_m":2.628501,"grade_percent":13.142506},{"index":39,"from_m":640.0,"to_m":660.0,"length_m":20.0,"height_m":4.059358,"grade_percent":20.296792},{"index":40,"from_m":660.0,"to_m":680.0,"length_m":20.0,"height_m":-3.466411,"grade_percent":-17.332053},{"index":41,"from_m":680.0,"to_m":700.0,"length_m":20.0,"height_m":2.109337,"grade_percent":10.546683},{"index":42,"from_m":700.0,"to_m":713.0,"length_m":13.0,"height_m":-2.199548,"grade_percent":-16.9196},{"index":43,"from_m":713.0,"to_m":720.0,"length_m":7.0,"height_m":-0.510248,"grade_percent":-7.289255},{"index":44,"from_m":720.0,"to_m":740.0,"length_m":20.0,"height_m":-1.040895,"grade_percent":-5.204473},{"index":45,"from_m":740.0,"to_m":760.0,"length_m":20.0,"height_m":-1.880374,"grade_percent":-9.401871},{"index":46,"from_m":760.0,"to_m":780.0,"length_m":20.0,"height_m":2.094094,"grade_percent":10.470472},{"index":47,"from_m":780.0,"to_m":800.0,"length_m":20.0,"height_m":0.086882,"grade_percent":0.434408},{"index":48,"from_m":800.0,"to_m":810.0,"length_m":10.0,"height_m":-2.767258,"grade_percent":-27.672576},{"index":49,"from_m":810.0,"to_m":820.0,"length_m":10.0,"height_m":0.012324,"grade_percent":0.12324},{"index":50,"from_m":820.0,"to_m":840.0,"length_m":20.0,"height_m":-4.116565,"grade_percent":-20.582826},{"index":51,"from_m":840.0,"to_m":860.0,"length_m":20.0,"height_m":2.044412,"grade_percent":10.222062},{"index":52,"from_m":860.0,"to_m":880.0,"length_m":20.0,"height_m":0.520752,"grade_percent":2.603758},{"index":53,"from_m":880.0,"to_m":900.0,"length_m":20.0,"height_m":-3.192678,"grade_percent":-15.963389},{"index":54,"from_m":900.0,"to_m":904.0,"length_m":4.0,"height_m":-0.560511,"grade_percent":-14.012785},{"index":55,"from_m":904.0,"to_m":920.0,"length_m":16.0,"height_m":0.465607,"grade_percent":2.910041},{"index":56,"from_m":920.0,"to_m":940.0,"length_m":20.0,"height_m":-1.786576,"grade_percent":-8.93288},{"index":57,"from_m":940.0,"to_m":960.0,"length_m":20.0,"height_m":2.82229,"grade_percent":14.111451},{"index":58,"from_m":960.0,"to_m":980.0,"length_m":20.0,"height_m":-2.588249,"grade_percent":-12.941246},{"index":59,"from_m":980.0,"to_m":996.0,"length_m":16.0,"height_m":3.436832,"grade_percent":21.480202},{"index":60,"from_m":996.0,"to_m":1000.0,"length_m":4.0,"height_m":-0.235494,"grade_percent":-5.887354},{"index":61,"from_m":1000.0,"to_m":1020.0,"length_m":20.0,"height_m":0.292885,"grade_percent":1.464424},{"index":62,"from_m":1020.0,"to_m":1040.0,"length_m":20.0,"height_m":-2.047922,"grade_percent":-10.23961},{"index":63,"from_m":1040.0,"to_m":1060.0,"length_m":20.0,"height_m":-2.1832,"grade_percent":-10.916002},{"index":64,"from_m":1060.0,"to_m":1080.0,"length_m":20.0,"height_m":1.630533,"grade_percent":8.152666},{"index":65,"from_m":1080.0,"to_m":1092.269,"length_m":12.269,"height_m":1.167445,"grade_percent":9.515403}],"curves":[{"pvi_index":1,"chainage_m":20.0,"bvc_m":12.5,"evc_m":27.5,"bvc_elevation_m":874.662129,"evc_elevation_m":869.971153,"l_m":15.0,"r_m":165.409296,"k":1.654093,"delta_pct":9.068414,"middle_ordinate_m":0.170033,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":2,"chainage_m":40.0,"bvc_m":32.5,"evc_m":47.5,"bvc_elevation_m":868.634205,"evc_elevation_m":866.814928,"l_m":15.0,"r_m":51.333117,"k":0.513331,"delta_pct":29.220902,"middle_ordinate_m":0.547892,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":3,"chainage_m":60.0,"bvc_m":52.5,"evc_m":67.5,"bvc_elevation_m":866.939025,"evc_elevation_m":866.439664,"l_m":15.0,"r_m":129.065316,"k":1.290653,"delta_pct":-11.622022,"middle_ordinate_m":0.217913,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":4,"chainage_m":80.0,"bvc_m":77.3,"evc_m":82.7,"bvc_elevation_m":865.543936,"evc_elevation_m":863.481032,"l_m":5.4,"r_m":9.290534,"k":0.092905,"delta_pct":-58.123677,"middle_ordinate_m":0.392335,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":5,"chainage_m":86.0,"bvc_m":83.3,"evc_m":88.7,"bvc_elevation_m":863.07745,"evc_elevation_m":860.76787,"l_m":5.4,"r_m":11.023216,"k":0.110232,"delta_pct":48.987518,"middle_ordinate_m":0.330666,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":6,"chainage_m":100.0,"bvc_m":93.7,"evc_m":106.3,"bvc_elevation_m":859.854057,"evc_elevation_m":858.212357,"l_m":12.6,"r_m":120.071497,"k":1.200715,"delta_pct":10.493748,"middle_ordinate_m":0.165277,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":7,"chainage_m":120.0,"bvc_m":112.5,"evc_m":127.5,"bvc_elevation_m":857.729842,"evc_elevation_m":855.742422,"l_m":15.0,"r_m":137.187376,"k":1.371874,"delta_pct":-10.933951,"middle_ordinate_m":0.205012,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":8,"chainage_m":140.0,"bvc_m":132.5,"evc_m":147.5,"bvc_elevation_m":854.806599,"evc_elevation_m":852.760126,"l_m":15.0,"r_m":147.833085,"k":1.478331,"delta_pct":10.146579,"middle_ordinate_m":0.190248,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":9,"chainage_m":160.0,"bvc_m":153.25,"evc_m":166.75,"bvc_elevation_m":852.267359,"evc_elevation_m":851.174095,"l_m":13.5,"r_m":1431.239721,"k":14.312397,"delta_pct":0.943238,"middle_ordinate_m":0.015917,"omitted":false,"skip_allowed":true,"omit_reason":"비포장 대수차 5% 이하 (법정 생략 가능)"},{"pvi_index":10,"chainage_m":175.0,"bvc_m":172.75,"evc_m":177.25,"bvc_elevation_m":850.716498,"evc_elevation_m":849.966837,"l_m":4.5,"r_m":24.910035,"k":0.2491,"delta_pct":-18.065009,"middle_ordinate_m":0.101616,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":11,"chainage_m":180.0,"bvc_m":177.75,"evc_m":182.25,"bvc_elevation_m":849.838378,"evc_elevation_m":849.385472,"l_m":4.5,"r_m":14.398112,"k":0.143981,"delta_pct":31.254098,"middle_ordinate_m":0.175804,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":12,"chainage_m":200.0,"bvc_m":192.5,"evc_m":207.5,"bvc_elevation_m":849.955624,"evc_elevation_m":849.600971,"l_m":15.0,"r_m":94.61559,"k":0.946156,"delta_pct":-15.853624,"middle_ordinate_m":0.297255,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":13,"chainage_m":220.0,"bvc_m":212.5,"evc_m":227.5,"bvc_elevation_m":849.086413,"evc_elevation_m":850.586283,"l_m":15.0,"r_m":36.963482,"k":0.369635,"delta_pct":40.580593,"middle_ordinate_m":0.760886,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":14,"chainage_m":240.0,"bvc_m":232.5,"evc_m":247.5,"bvc_elevation_m":852.100754,"evc_elevation_m":851.737776,"l_m":15.0,"r_m":22.92927,"k":0.229293,"delta_pct":-65.418569,"middle_ordinate_m":1.226598,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":15,"chainage_m":258.0,"bvc_m":257.1,"evc_m":258.9,"bvc_elevation_m":848.365379,"evc_elevation_m":847.640046,"l_m":1.8,"r_m":17.417717,"k":0.174177,"delta_pct":-10.334305,"middle_ordinate_m":0.023252,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":16,"chainage_m":260.0,"bvc_m":259.1,"evc_m":260.9,"bvc_elevation_m":847.549119,"evc_elevation_m":847.071434,"l_m":1.8,"r_m":4.755512,"k":0.047555,"delta_pct":37.850811,"middle_ordinate_m":0.085164,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":17,"chainage_m":280.0,"bvc_m":272.5,"evc_m":287.5,"bvc_elevation_m":846.188368,"evc_elevation_m":845.555677,"l_m":15.0,"r_m":220.933161,"k":2.209332,"delta_pct":6.789384,"middle_ordinate_m":0.127301,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":18,"chainage_m":300.0,"bvc_m":292.5,"evc_m":307.5,"bvc_elevation_m":845.514515,"evc_elevation_m":844.82493,"l_m":15.0,"r_m":198.72931,"k":1.987293,"delta_pct":-7.547956,"middle_ordinate_m":0.141524,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":19,"chainage_m":320.0,"bvc_m":314.6,"evc_m":325.4,"bvc_elevation_m":844.230575,"evc_elevation_m":843.388079,"l_m":10.8,"r_m":946.835736,"k":9.468357,"delta_pct":1.140641,"middle_ordinate_m":0.015399,"omitted":false,"skip_allowed":true,"omit_reason":"비포장 대수차 5% 이하 (법정 생략 가능)"},{"pvi_index":20,"chainage_m":332.0,"bvc_m":328.4,"evc_m":335.6,"bvc_elevation_m":843.171162,"evc_elevation_m":843.093571,"l_m":7.2,"r_m":58.508901,"k":0.585089,"delta_pct":12.30582,"middle_ordinate_m":0.110752,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":21,"chainage_m":340.0,"bvc_m":336.4,"evc_m":343.6,"bvc_elevation_m":843.134173,"evc_elevation_m":843.422442,"l_m":7.2,"r_m":335.970411,"k":3.359704,"delta_pct":-2.143046,"middle_ordinate_m":0.019287,"omitted":false,"skip_allowed":true,"omit_reason":"비포장 대수차 5% 이하 (법정 생략 가능)"},{"pvi_index":22,"chainage_m":360.0,"bvc_m":352.5,"evc_m":367.5,"bvc_elevation_m":843.683409,"evc_elevation_m":844.119473,"l_m":15.0,"r_m":29867.168842,"k":298.671688,"delta_pct":-0.050222,"middle_ordinate_m":0.000942,"omitted":false,"skip_allowed":true,"omit_reason":"비포장 대수차 5% 이하 (법정 생략 가능)"},{"pvi_index":23,"chainage_m":380.0,"bvc_m":372.5,"evc_m":387.5,"bvc_elevation_m":844.263573,"evc_elevation_m":843.646302,"l_m":15.0,"r_m":107.186846,"k":1.071868,"delta_pct":-13.994254,"middle_ordinate_m":0.262392,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":24,"chainage_m":400.0,"bvc_m":392.5,"evc_m":407.5,"bvc_elevation_m":843.090688,"evc_elevation_m":843.096118,"l_m":15.0,"r_m":67.273839,"k":0.672738,"delta_pct":22.296929,"middle_ordinate_m":0.418067,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":25,"chainage_m":420.0,"bvc_m":416.4,"evc_m":423.6,"bvc_elevation_m":844.091553,"evc_elevation_m":844.029151,"l_m":7.2,"r_m":29.872155,"k":0.298722,"delta_pct":-24.102714,"middle_ordinate_m":0.216924,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":26,"chainage_m":428.0,"bvc_m":424.4,"evc_m":431.6,"bvc_elevation_m":843.925806,"evc_elevation_m":843.432738,"l_m":7.2,"r_m":59.309301,"k":0.593093,"delta_pct":12.139748,"middle_ordinate_m":0.109258,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":27,"chainage_m":440.0,"bvc_m":434.6,"evc_m":445.4,"bvc_elevation_m":843.409388,"evc_elevation_m":844.289733,"l_m":10.8,"r_m":60.472745,"k":0.604727,"delta_pct":17.859285,"middle_ordinate_m":0.2411,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":28,"chainage_m":460.0,"bvc_m":452.5,"evc_m":467.5,"bvc_elevation_m":845.502483,"evc_elevation_m":845.58516,"l_m":15.0,"r_m":45.372601,"k":0.453726,"delta_pct":-33.059599,"middle_ordinate_m":0.619867,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":29,"chainage_m":480.0,"bvc_m":472.5,"evc_m":487.5,"bvc_elevation_m":844.786229,"evc_elevation_m":843.154806,"l_m":15.0,"r_m":146.987845,"k":1.469878,"delta_pct":10.204925,"middle_ordinate_m":0.191342,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":30,"chainage_m":500.0,"bvc_m":492.5,"evc_m":507.5,"bvc_elevation_m":842.866121,"evc_elevation_m":843.041974,"l_m":15.0,"r_m":107.975113,"k":1.079751,"delta_pct":13.89209,"middle_ordinate_m":0.260477,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":31,"chainage_m":520.0,"bvc_m":518.2,"evc_m":521.8,"bvc_elevation_m":843.910643,"evc_elevation_m":843.09556,"l_m":3.6,"r_m":5.851834,"k":0.058518,"delta_pct":-61.519176,"middle_ordinate_m":0.276836,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":32,"chainage_m":524.0,"bvc_m":522.2,"evc_m":525.8,"bvc_elevation_m":842.881957,"evc_elevation_m":841.841756,"l_m":3.6,"r_m":7.345045,"k":0.07345,"delta_pct":49.012632,"middle_ordinate_m":0.220557,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":33,"chainage_m":540.0,"bvc_m":532.8,"evc_m":547.2,"bvc_elevation_m":841.534586,"evc_elevation_m":841.31932,"l_m":14.4,"r_m":248.85613,"k":2.488561,"delta_pct":5.786476,"middle_ordinate_m":0.104157,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":34,"chainage_m":560.0,"bvc_m":552.5,"evc_m":567.5,"bvc_elevation_m":841.393431,"evc_elevation_m":840.513336,"l_m":15.0,"r_m":103.225755,"k":1.032258,"delta_pct":-14.531257,"middle_ordinate_m":0.272461,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":35,"chainage_m":580.0,"bvc_m":572.5,"evc_m":587.5,"bvc_elevation_m":839.85669,"evc_elevation_m":838.751816,"l_m":15.0,"r_m":130.047954,"k":1.30048,"delta_pct":11.534207,"middle_ordinate_m":0.216266,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":36,"chainage_m":600.0,"bvc_m":593.25,"evc_m":606.75,"bvc_elevation_m":838.65989,"evc_elevation_m":837.899362,"l_m":13.5,"r_m":167.293584,"k":1.672936,"delta_pct":-8.069646,"middle_ordinate_m":0.136175,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":37,"chainage_m":615.0,"bvc_m":612.75,"evc_m":617.25,"bvc_elevation_m":837.31926,"evc_elevation_m":837.60623,"l_m":4.5,"r_m":14.022634,"k":0.140226,"delta_pct":32.090976,"middle_ordinate_m":0.180512,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":38,"chainage_m":620.0,"bvc_m":617.75,"evc_m":622.25,"bvc_elevation_m":837.718343,"evc_elevation_m":838.518558,"l_m":4.5,"r_m":48.490835,"k":0.484908,"delta_pct":-9.280104,"middle_ordinate_m":0.052201,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":39,"chainage_m":640.0,"bvc_m":632.5,"evc_m":647.5,"bvc_elevation_m":839.865665,"evc_elevation_m":842.373612,"l_m":15.0,"r_m":209.664525,"k":2.096645,"delta_pct":7.154286,"middle_ordinate_m":0.134143,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":40,"chainage_m":660.0,"bvc_m":652.5,"evc_m":667.5,"bvc_elevation_m":843.388452,"evc_elevation_m":843.610807,"l_m":15.0,"r_m":39.863036,"k":0.39863,"delta_pct":-37.628845,"middle_ordinate_m":0.705541,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":41,"chainage_m":680.0,"bvc_m":672.5,"evc_m":687.5,"bvc_elevation_m":842.744205,"evc_elevation_m":842.235302,"l_m":15.0,"r_m":53.804449,"k":0.538044,"delta_pct":27.878736,"middle_ordinate_m":0.522726,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":42,"chainage_m":700.0,"bvc_m":694.15,"evc_m":705.85,"bvc_elevation_m":842.936656,"evc_elevation_m":842.563841,"l_m":11.7,"r_m":42.597684,"k":0.425977,"delta_pct":-27.466282,"middle_ordinate_m":0.401694,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":43,"chainage_m":713.0,"bvc_m":709.85,"evc_m":716.15,"bvc_elevation_m":841.887057,"evc_elevation_m":841.124478,"l_m":6.3,"r_m":65.418217,"k":0.654182,"delta_pct":9.630345,"middle_ordinate_m":0.075839,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":44,"chainage_m":720.0,"bvc_m":716.85,"evc_m":723.15,"bvc_elevation_m":841.073453,"evc_elevation_m":840.679901,"l_m":6.3,"r_m":302.189924,"k":3.021899,"delta_pct":2.084782,"middle_ordinate_m":0.016418,"omitted":false,"skip_allowed":true,"omit_reason":"비포장 대수차 5% 이하 (법정 생략 가능)"},{"pvi_index":45,"chainage_m":740.0,"bvc_m":732.5,"evc_m":747.5,"bvc_elevation_m":840.193282,"evc_elevation_m":839.097807,"l_m":15.0,"r_m":357.364261,"k":3.573643,"delta_pct":-4.197398,"middle_ordinate_m":0.078701,"omitted":false,"skip_allowed":true,"omit_reason":"비포장 대수차 5% 이하 (법정 생략 가능)"},{"pvi_index":46,"chainage_m":760.0,"bvc_m":752.5,"evc_m":767.5,"bvc_elevation_m":838.627713,"evc_elevation_m":838.707858,"l_m":15.0,"r_m":75.48179,"k":0.754818,"delta_pct":19.872343,"middle_ordinate_m":0.372606,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":47,"chainage_m":780.0,"bvc_m":772.5,"evc_m":787.5,"bvc_elevation_m":839.231382,"evc_elevation_m":840.049248,"l_m":15.0,"r_m":149.460984,"k":1.49461,"delta_pct":-10.036064,"middle_ordinate_m":0.188176,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":48,"chainage_m":800.0,"bvc_m":795.5,"evc_m":804.5,"bvc_elevation_m":840.084,"evc_elevation_m":838.858283,"l_m":9.0,"r_m":32.020512,"k":0.320205,"delta_pct":-28.106984,"middle_ordinate_m":0.316204,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":49,"chainage_m":810.0,"bvc_m":805.5,"evc_m":814.5,"bvc_elevation_m":838.581557,"evc_elevation_m":837.341837,"l_m":9.0,"r_m":32.378974,"k":0.32379,"delta_pct":27.795816,"middle_ordinate_m":0.312703,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":50,"chainage_m":820.0,"bvc_m":815.5,"evc_m":824.5,"bvc_elevation_m":837.343069,"evc_elevation_m":836.422388,"l_m":9.0,"r_m":43.465524,"k":0.434655,"delta_pct":-20.706066,"middle_ordinate_m":0.232943,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":51,"chainage_m":840.0,"bvc_m":832.5,"evc_m":847.5,"bvc_elevation_m":834.775762,"evc_elevation_m":833.998704,"l_m":15.0,"r_m":48.69357,"k":0.486936,"delta_pct":30.804888,"middle_ordinate_m":0.577592,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":52,"chainage_m":860.0,"bvc_m":852.5,"evc_m":867.5,"bvc_elevation_m":834.509808,"evc_elevation_m":835.471744,"l_m":15.0,"r_m":196.894218,"k":1.968942,"delta_pct":-7.618304,"middle_ordinate_m":0.142843,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":53,"chainage_m":880.0,"bvc_m":872.5,"evc_m":887.5,"bvc_elevation_m":835.601932,"evc_elevation_m":834.59996,"l_m":15.0,"r_m":80.787853,"k":0.807879,"delta_pct":-18.567148,"middle_ordinate_m":0.348134,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":54,"chainage_m":900.0,"bvc_m":898.2,"evc_m":901.8,"bvc_elevation_m":832.891877,"evc_elevation_m":832.352306,"l_m":3.6,"r_m":184.558142,"k":1.845581,"delta_pct":1.950605,"middle_ordinate_m":0.008778,"omitted":false,"skip_allowed":true,"omit_reason":"비포장 대수차 5% 이하 (법정 생략 가능)"},{"pvi_index":55,"chainage_m":904.0,"bvc_m":902.2,"evc_m":905.8,"bvc_elevation_m":832.296255,"evc_elevation_m":832.096405,"l_m":3.6,"r_m":21.273043,"k":0.21273,"delta_pct":16.922826,"middle_ordinate_m":0.076153,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":56,"chainage_m":920.0,"bvc_m":912.8,"evc_m":927.2,"bvc_elevation_m":832.300108,"evc_elevation_m":831.866464,"l_m":14.4,"r_m":121.591623,"k":1.215916,"delta_pct":-11.842921,"middle_ordinate_m":0.213173,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":57,"chainage_m":940.0,"bvc_m":932.5,"evc_m":947.5,"bvc_elevation_m":831.393021,"evc_elevation_m":831.781414,"l_m":15.0,"r_m":65.091931,"k":0.650919,"delta_pct":23.044331,"middle_ordinate_m":0.432081,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":58,"chainage_m":960.0,"bvc_m":952.5,"evc_m":967.5,"bvc_elevation_m":832.486987,"evc_elevation_m":832.574752,"l_m":15.0,"r_m":55.447336,"k":0.554473,"delta_pct":-27.052697,"middle_ordinate_m":0.507238,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":59,"chainage_m":980.0,"bvc_m":972.8,"evc_m":987.2,"bvc_elevation_m":831.888866,"evc_elevation_m":832.503671,"l_m":14.4,"r_m":41.834381,"k":0.418344,"delta_pct":34.421448,"middle_ordinate_m":0.619586,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":60,"chainage_m":996.0,"bvc_m":994.2,"evc_m":997.8,"bvc_elevation_m":834.007285,"evc_elevation_m":834.287956,"l_m":3.6,"r_m":13.154262,"k":0.131543,"delta_pct":-27.367556,"middle_ordinate_m":0.123154,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":61,"chainage_m":1000.0,"bvc_m":998.2,"evc_m":1001.8,"bvc_elevation_m":834.264407,"evc_elevation_m":834.184794,"l_m":3.6,"r_m":48.967748,"k":0.489677,"delta_pct":7.351778,"middle_ordinate_m":0.033083,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":62,"chainage_m":1020.0,"bvc_m":1012.5,"evc_m":1027.5,"bvc_elevation_m":834.341487,"evc_elevation_m":833.683348,"l_m":15.0,"r_m":128.16094,"k":1.281609,"delta_pct":-11.704034,"middle_ordinate_m":0.219451,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":63,"chainage_m":1040.0,"bvc_m":1032.5,"evc_m":1047.5,"bvc_elevation_m":833.171368,"evc_elevation_m":831.584697,"l_m":15.0,"r_m":2217.648925,"k":22.176489,"delta_pct":-0.676392,"middle_ordinate_m":0.012682,"omitted":false,"skip_allowed":true,"omit_reason":"비포장 대수차 5% 이하 (법정 생략 가능)"},{"pvi_index":64,"chainage_m":1060.0,"bvc_m":1052.5,"evc_m":1067.5,"bvc_elevation_m":831.038897,"evc_elevation_m":830.831647,"l_m":15.0,"r_m":78.663072,"k":0.786631,"delta_pct":19.068668,"middle_ordinate_m":0.357538,"omitted":false,"skip_allowed":false,"omit_reason":null},{"pvi_index":65,"chainage_m":1080.0,"bvc_m":1074.47895,"evc_m":1085.52105,"bvc_elevation_m":831.400617,"evc_elevation_m":832.37608,"l_m":11.0421,"r_m":810.288131,"k":8.102881,"delta_pct":1.362737,"middle_ordinate_m":0.018809,"omitted":false,"skip_allowed":true,"omit_reason":"비포장 대수차 5% 이하 (법정 생략 가능)"}],"stations":[{"station_id":"station_000000000000","chainage_m":0.0,"distance_m":0.0,"ground_elevation_m":879.138051,"plan_elevation_m":879.138051,"cut_m":0.0,"fill_m":-0.0},{"station_id":"station_000000020000","chainage_m":20.0,"distance_m":20.0,"ground_elevation_m":872.146618,"plan_elevation_m":872.146608,"cut_m":1e-05,"fill_m":0.0},{"station_id":"station_000000040000","chainage_m":40.0,"distance_m":20.0,"ground_elevation_m":867.176663,"plan_elevation_m":867.176675,"cut_m":0.0,"fill_m":1.2e-05},{"station_id":"station_000000060000","chainage_m":60.0,"distance_m":20.0,"ground_elevation_m":866.907262,"plan_elevation_m":866.907258,"cut_m":4e-06,"fill_m":0.0},{"station_id":"station_000000080000","chainage_m":80.0,"distance_m":20.0,"ground_elevation_m":864.904824,"plan_elevation_m":864.904819,"cut_m":5e-06,"fill_m":0.0},{"station_id":"station_000000086000","chainage_m":86.0,"distance_m":6.0,"ground_elevation_m":861.591987,"plan_elevation_m":861.591994,"cut_m":0.0,"fill_m":7e-06},{"station_id":"station_000000100000","chainage_m":100.0,"distance_m":14.0,"ground_elevation_m":858.867935,"plan_elevation_m":858.867931,"cut_m":4e-06,"fill_m":0.0},{"station_id":"station_000000120000","chainage_m":120.0,"distance_m":20.0,"ground_elevation_m":856.941147,"plan_elevation_m":856.941144,"cut_m":3e-06,"fill_m":0.0},{"station_id":"station_000000140000","chainage_m":140.0,"distance_m":20.0,"ground_elevation_m":853.593109,"plan_elevation_m":853.593114,"cut_m":0.0,"fill_m":5e-06},{"station_id":"station_000000160000","chainage_m":160.0,"distance_m":20.0,"ground_elevation_m":851.704809,"plan_elevation_m":851.70481,"cut_m":0.0,"fill_m":1e-06},{"station_id":"station_000000175000","chainage_m":175.0,"distance_m":15.0,"ground_elevation_m":850.443291,"plan_elevation_m":850.443283,"cut_m":8e-06,"fill_m":0.0},{"station_id":"station_000000180000","chainage_m":180.0,"distance_m":5.0,"ground_elevation_m":849.436107,"plan_elevation_m":849.436121,"cut_m":0.0,"fill_m":1.4e-05},{"station_id":"station_000000200000","chainage_m":200.0,"distance_m":20.0,"ground_elevation_m":850.075616,"plan_elevation_m":850.075553,"cut_m":6.3e-05,"fill_m":0.0},{"station_id":"station_000000220000","chainage_m":220.0,"distance_m":20.0,"ground_elevation_m":849.075379,"plan_elevation_m":849.075462,"cut_m":0.0,"fill_m":8.3e-05},{"station_id":"station_000000240000","chainage_m":240.0,"distance_m":20.0,"ground_elevation_m":853.145927,"plan_elevation_m":853.145864,"cut_m":6.3e-05,"fill_m":0.0},{"station_id":"station_000000258000","chainage_m":258.0,"distance_m":18.0,"ground_elevation_m":848.025959,"plan_elevation_m":848.025964,"cut_m":0.0,"fill_m":5e-06},{"station_id":"station_000000260000","chainage_m":260.0,"distance_m":2.0,"ground_elevation_m":847.225115,"plan_elevation_m":847.225112,"cut_m":3e-06,"fill_m":0.0},{"station_id":"station_000000280000","chainage_m":280.0,"distance_m":20.0,"ground_elevation_m":845.744717,"plan_elevation_m":845.744722,"cut_m":0.0,"fill_m":5e-06},{"station_id":"station_000000300000","chainage_m":300.0,"distance_m":20.0,"ground_elevation_m":845.31125,"plan_elevation_m":845.311247,"cut_m":3e-06,"fill_m":0.0},{"station_id":"station_000000320000","chainage_m":320.0,"distance_m":20.0,"ground_elevation_m":843.79393,"plan_elevation_m":843.793928,"cut_m":2e-06,"fill_m":0.0},{"station_id":"station_000000332000","chainage_m":332.0,"distance_m":12.0,"ground_elevation_m":843.021608,"plan_elevation_m":843.021614,"cut_m":0.0,"fill_m":6e-06},{"station_id":"station_000000340000","chainage_m":340.0,"distance_m":8.0,"ground_elevation_m":843.297604,"plan_elevation_m":843.297595,"cut_m":9e-06,"fill_m":0.0},{"station_id":"station_000000360000","chainage_m":360.0,"distance_m":20.0,"ground_elevation_m":843.902358,"plan_elevation_m":843.902383,"cut_m":0.0,"fill_m":2.5e-05},{"station_id":"station_000000380000","chainage_m":380.0,"distance_m":20.0,"ground_elevation_m":844.217362,"plan_elevation_m":844.217329,"cut_m":3.3e-05,"fill_m":0.0},{"station_id":"station_000000400000","chainage_m":400.0,"distance_m":20.0,"ground_elevation_m":842.675308,"plan_elevation_m":842.675336,"cut_m":0.0,"fill_m":2.8e-05},{"station_id":"station_000000420000","chainage_m":420.0,"distance_m":20.0,"ground_elevation_m":844.277286,"plan_elevation_m":844.277276,"cut_m":1e-05,"fill_m":0.0},{"station_id":"station_000000428000","chainage_m":428.0,"distance_m":8.0,"ground_elevation_m":843.570011,"plan_elevation_m":843.570014,"cut_m":0.0,"fill_m":3e-06},{"station_id":"station_000000440000","chainage_m":440.0,"distance_m":12.0,"ground_elevation_m":843.608452,"plan_elevation_m":843.60846,"cut_m":0.0,"fill_m":8e-06},{"station_id":"station_000000460000","chainage_m":460.0,"distance_m":20.0,"ground_elevation_m":846.163709,"plan_elevation_m":846.163689,"cut_m":2e-05,"fill_m":0.0},{"station_id":"station_000000480000","chainage_m":480.0,"distance_m":20.0,"ground_elevation_m":843.779157,"plan_elevation_m":843.779175,"cut_m":0.0,"fill_m":1.8e-05},{"station_id":"station_000000500000","chainage_m":500.0,"distance_m":20.0,"ground_elevation_m":842.693579,"plan_elevation_m":842.693571,"cut_m":8e-06,"fill_m":0.0},{"station_id":"station_000000520000","chainage_m":520.0,"distance_m":20.0,"ground_elevation_m":843.77994,"plan_elevation_m":843.779938,"cut_m":2e-06,"fill_m":0.0},{"station_id":"station_000000524000","chainage_m":524.0,"distance_m":4.0,"ground_elevation_m":842.141298,"plan_elevation_m":842.1413,"cut_m":0.0,"fill_m":2e-06},{"station_id":"station_000000540000","chainage_m":540.0,"distance_m":16.0,"ground_elevation_m":841.322787,"plan_elevation_m":841.322796,"cut_m":0.0,"fill_m":9e-06},{"station_id":"station_000000560000","chainage_m":560.0,"distance_m":20.0,"ground_elevation_m":841.225867,"plan_elevation_m":841.225845,"cut_m":2.2e-05,"fill_m":0.0},{"station_id":"station_000000580000","chainage_m":580.0,"distance_m":20.0,"ground_elevation_m":839.087957,"plan_elevation_m":839.087987,"cut_m":0.0,"fill_m":3e-05},{"station_id":"station_000000600000","chainage_m":600.0,"distance_m":20.0,"ground_elevation_m":838.415828,"plan_elevation_m":838.415801,"cut_m":2.7e-05,"fill_m":0.0},{"station_id":"station_000000615000","chainage_m":615.0,"distance_m":15.0,"ground_elevation_m":837.28222,"plan_elevation_m":837.282233,"cut_m":0.0,"fill_m":1.3e-05},{"station_id":"station_000000620000","chainage_m":620.0,"distance_m":5.0,"ground_elevation_m":838.170665,"plan_elevation_m":838.170651,"cut_m":1.4e-05,"fill_m":0.0},{"station_id":"station_000000640000","chainage_m":640.0,"distance_m":20.0,"ground_elevation_m":840.985446,"plan_elevation_m":840.985496,"cut_m":0.0,"fill_m":5e-05},{"station_id":"station_000000660000","chainage_m":660.0,"distance_m":20.0,"ground_elevation_m":844.205241,"plan_elevation_m":844.20517,"cut_m":7.1e-05,"fill_m":0.0},{"station_id":"station_000000680000","chainage_m":680.0,"distance_m":20.0,"ground_elevation_m":841.966958,"plan_elevation_m":841.967027,"cut_m":0.0,"fill_m":6.9e-05},{"station_id":"station_000000700000","chainage_m":700.0,"distance_m":20.0,"ground_elevation_m":843.151988,"plan_elevation_m":843.151943,"cut_m":4.5e-05,"fill_m":0.0},{"station_id":"station_000000713000","chainage_m":713.0,"distance_m":13.0,"ground_elevation_m":841.429908,"plan_elevation_m":841.429928,"cut_m":0.0,"fill_m":2e-05},{"station_id":"station_000000720000","chainage_m":720.0,"distance_m":7.0,"ground_elevation_m":840.860268,"plan_elevation_m":840.860259,"cut_m":9e-06,"fill_m":0.0},{"station_id":"station_000000740000","chainage_m":740.0,"distance_m":20.0,"ground_elevation_m":839.72425,"plan_elevation_m":839.724246,"cut_m":4e-06,"fill_m":0.0},{"station_id":"station_000000760000","chainage_m":760.0,"distance_m":20.0,"ground_elevation_m":838.295175,"plan_elevation_m":838.295179,"cut_m":0.0,"fill_m":4e-06},{"station_id":"station_000000780000","chainage_m":780.0,"distance_m":20.0,"ground_elevation_m":839.828476,"plan_elevation_m":839.828491,"cut_m":0.0,"fill_m":1.5e-05},{"station_id":"station_000000800000","chainage_m":800.0,"distance_m":20.0,"ground_elevation_m":839.787393,"plan_elevation_m":839.787345,"cut_m":4.8e-05,"fill_m":0.0},{"station_id":"station_000000810000","chainage_m":810.0,"distance_m":10.0,"ground_elevation_m":837.648911,"plan_elevation_m":837.648994,"cut_m":0.0,"fill_m":8.3e-05},{"station_id":"station_000000820000","chainage_m":820.0,"distance_m":10.0,"ground_elevation_m":837.115732,"plan_elevation_m":837.115672,"cut_m":6e-05,"fill_m":0.0},{"station_id":"station_000000840000","chainage_m":840.0,"distance_m":20.0,"ground_elevation_m":833.809593,"plan_elevation_m":833.809641,"cut_m":0.0,"fill_m":4.8e-05},{"station_id":"station_000000860000","chainage_m":860.0,"distance_m":20.0,"ground_elevation_m":835.133652,"plan_elevation_m":835.133619,"cut_m":3.3e-05,"fill_m":0.0},{"station_id":"station_000000880000","chainage_m":880.0,"distance_m":20.0,"ground_elevation_m":835.449062,"plan_elevation_m":835.44908,"cut_m":0.0,"fill_m":1.8e-05},{"station_id":"station_000000900000","chainage_m":900.0,"distance_m":20.0,"ground_elevation_m":832.613319,"plan_elevation_m":832.613314,"cut_m":5e-06,"fill_m":0.0},{"station_id":"station_000000904000","chainage_m":904.0,"distance_m":4.0,"ground_elevation_m":832.120169,"plan_elevation_m":832.120177,"cut_m":0.0,"fill_m":8e-06},{"station_id":"station_000000920000","chainage_m":920.0,"distance_m":16.0,"ground_elevation_m":832.296506,"plan_elevation_m":832.296459,"cut_m":4.7e-05,"fill_m":0.0},{"station_id":"station_000000940000","chainage_m":940.0,"distance_m":20.0,"ground_elevation_m":831.155066,"plan_elevation_m":831.155136,"cut_m":0.0,"fill_m":7e-05},{"station_id":"station_000000960000","chainage_m":960.0,"distance_m":20.0,"ground_elevation_m":833.038183,"plan_elevation_m":833.038107,"cut_m":7.6e-05,"fill_m":0.0},{"station_id":"station_000000980000","chainage_m":980.0,"distance_m":20.0,"ground_elevation_m":831.576624,"plan_elevation_m":831.576682,"cut_m":0.0,"fill_m":5.8e-05},{"station_id":"station_000000996000","chainage_m":996.0,"distance_m":16.0,"ground_elevation_m":834.270787,"plan_elevation_m":834.270775,"cut_m":1.2e-05,"fill_m":0.0},{"station_id":"station_000001000000","chainage_m":1000.0,"distance_m":4.0,"ground_elevation_m":834.19151,"plan_elevation_m":834.191517,"cut_m":0.0,"fill_m":7e-06},{"station_id":"station_000001020000","chainage_m":1020.0,"distance_m":20.0,"ground_elevation_m":834.231871,"plan_elevation_m":834.231868,"cut_m":3e-06,"fill_m":0.0},{"station_id":"station_000001040000","chainage_m":1040.0,"distance_m":20.0,"ground_elevation_m":832.390718,"plan_elevation_m":832.390715,"cut_m":3e-06,"fill_m":0.0},{"station_id":"station_000001060000","chainage_m":1060.0,"distance_m":20.0,"ground_elevation_m":830.577728,"plan_elevation_m":830.577734,"cut_m":0.0,"fill_m":6e-06},{"station_id":"station_000001080000","chainage_m":1080.0,"distance_m":20.0,"ground_elevation_m":831.869543,"plan_elevation_m":831.869539,"cut_m":4e-06,"fill_m":0.0},{"station_id":"station_000001092269","chainage_m":1092.26901,"distance_m":12.26901,"ground_elevation_m":833.018175,"plan_elevation_m":833.018175,"cut_m":0.0,"fill_m":0.0}],"samples":[{"chainage_m":0.0,"elevation_m":879.138051,"ground_elevation_m":879.138051,"difference_m":0.0},{"chainage_m":1.0,"elevation_m":878.779977,"ground_elevation_m":879.102482,"difference_m":-0.322505},{"chainage_m":2.0,"elevation_m":878.421903,"ground_elevation_m":879.03624,"difference_m":-0.614337},{"chainage_m":3.0,"elevation_m":878.06383,"ground_elevation_m":878.940988,"difference_m":-0.877158},{"chainage_m":4.0,"elevation_m":877.705756,"ground_elevation_m":878.752063,"difference_m":-1.046307},{"chainage_m":5.0,"elevation_m":877.347682,"ground_elevation_m":878.43879,"difference_m":-1.091108},{"chainage_m":6.0,"elevation_m":876.989608,"ground_elevation_m":878.076554,"difference_m":-1.086946},{"chainage_m":7.0,"elevation_m":876.631535,"ground_elevation_m":877.564606,"difference_m":-0.933071},{"chainage_m":8.0,"elevation_m":876.273461,"ground_elevation_m":877.096031,"difference_m":-0.82257},{"chainage_m":9.0,"elevation_m":875.915387,"ground_elevation_m":876.591025,"difference_m":-0.675638},{"chainage_m":10.0,"elevation_m":875.557313,"ground_elevation_m":876.165731,"difference_m":-0.608418},{"chainage_m":11.0,"elevation_m":875.199239,"ground_elevation_m":875.854784,"difference_m":-0.655545},{"chainage_m":12.0,"elevation_m":874.841166,"ground_elevation_m":875.490883,"difference_m":-0.649717},{"chainage_m":12.5,"elevation_m":874.662129,"ground_elevation_m":875.223312,"difference_m":-0.561183},{"chainage_m":13.0,"elevation_m":874.483848,"ground_elevation_m":874.95574,"difference_m":-0.471892},{"chainage_m":14.0,"elevation_m":874.131819,"ground_elevation_m":874.415187,"difference_m":-0.283368},{"chainage_m":15.0,"elevation_m":873.785837,"ground_elevation_m":874.055541,"difference_m":-0.269704},{"chainage_m":16.0,"elevation_m":873.4459,"ground_elevation_m":873.712599,"difference_m":-0.266699},{"chainage_m":17.0,"elevation_m":873.112009,"ground_elevation_m":873.154005,"difference_m":-0.041996},{"chainage_m":18.0,"elevation_m":872.784163,"ground_elevation_m":872.84932,"difference_m":-0.065157},{"chainage_m":19.0,"elevation_m":872.462363,"ground_elevation_m":872.346942,"difference_m":0.115421},{"chainage_m":20.0,"elevation_m":872.146608,"ground_elevation_m":872.146618,"difference_m":-1e-05},{"chainage_m":21.0,"elevation_m":871.836899,"ground_elevation_m":871.74059,"difference_m":0.096309},{"chainage_m":22.0,"elevation_m":871.533236,"ground_elevation_m":871.336659,"difference_m":0.196577},{"chainage_m":23.0,"elevation_m":871.235618,"ground_elevation_m":871.168334,"difference_m":0.067284},{"chainage_m":24.0,"elevation_m":870.944046,"ground_elevation_m":871.047673,"difference_m":-0.103627},{"chainage_m":25.0,"elevation_m":870.65852,"ground_elevation_m":870.764396,"difference_m":-0.105876},{"chainage_m":26.0,"elevation_m":870.379039,"ground_elevation_m":870.41947,"difference_m":-0.040431},{"chainage_m":27.0,"elevation_m":870.105604,"ground_elevation_m":869.945618,"difference_m":0.159986},{"chainage_m":27.5,"elevation_m":869.971153,"ground_elevation_m":869.781094,"difference_m":0.190059},{"chainage_m":28.0,"elevation_m":869.837458,"ground_elevation_m":869.616571,"difference_m":0.220887},{"chainage_m":29.0,"elevation_m":869.570069,"ground_elevation_m":869.609051,"difference_m":-0.038982},{"chainage_m":30.0,"elevation_m":869.302679,"ground_elevation_m":869.503157,"difference_m":-0.200478},{"chainage_m":31.0,"elevation_m":869.035289,"ground_elevation_m":869.303376,"difference_m":-0.268087},{"chainage_m":32.0,"elevation_m":868.7679,"ground_elevation_m":868.763649,"difference_m":0.004251},{"chainage_m":32.5,"elevation_m":868.634205,"ground_elevation_m":868.396449,"difference_m":0.237757},{"chainage_m":33.0,"elevation_m":868.502945,"ground_elevation_m":868.029248,"difference_m":0.473697},{"chainage_m":34.0,"elevation_m":868.255036,"ground_elevation_m":868.074186,"difference_m":0.18085},{"chainage_m":35.0,"elevation_m":868.026608,"ground_elevation_m":868.013192,"difference_m":0.013416},{"chainage_m":36.0,"elevation_m":867.81766,"ground_elevation_m":867.842735,"difference_m":-0.025075},{"chainage_m":37.0,"elevation_m":867.628193,"ground_elevation_m":867.811527,"difference_m":-0.183334},{"chainage_m":38.0,"elevation_m":867.458206,"ground_elevation_m":867.615711,"difference_m":-0.157505},{"chainage_m":39.0,"elevation_m":867.3077,"ground_elevation_m":867.363748,"difference_m":-0.056048},{"chainage_m":40.0,"elevation_m":867.176675,"ground_elevation_m":867.176663,"difference_m":1.2e-05},{"chainage_m":41.0,"elevation_m":867.06513,"ground_elevation_m":867.109874,"difference_m":-0.044744},{"chainage_m":42.0,"elevation_m":866.973066,"ground_elevation_m":867.11573,"difference_m":-0.142664},{"chainage_m":43.0,"elevation_m":866.900482,"ground_elevation_m":867.141817,"difference_m":-0.241335},{"chainage_m":44.0,"elevation_m":866.847379,"ground_elevation_m":867.183203,"difference_m":-0.335824},{"chainage_m":45.0,"elevation_m":866.813757,"ground_elevation_m":867.228706,"difference_m":-0.414949},{"chainage_m":46.0,"elevation_m":866.799615,"ground_elevation_m":867.252608,"difference_m":-0.452993},{"chainage_m":47.0,"elevation_m":866.804954,"ground_elevation_m":867.343852,"difference_m":-0.538898},{"chainage_m":47.5,"elevation_m":866.814928,"ground_elevation_m":867.443866,"difference_m":-0.628938},{"chainage_m":48.0,"elevation_m":866.827338,"ground_elevation_m":867.54388,"difference_m":-0.716542},{"chainage_m":49.0,"elevation_m":866.852157,"ground_elevation_m":867.4587,"difference_m":-0.606543},{"chainage_m":50.0,"elevation_m":866.876977,"ground_elevation_m":867.307795,"difference_m":-0.430818},{"chainage_m":51.0,"elevation_m":866.901796,"ground_elevation_m":867.267036,"difference_m":-0.36524},{"chainage_m":52.0,"elevation_m":866.926615,"ground_elevation_m":867.113256,"difference_m":-0.186641},{"chainage_m":52.5,"elevation_m":866.939025,"ground_elevation_m":867.154507,"difference_m":-0.215482},{"chainage_m":53.0,"elevation_m":866.950466,"ground_elevation_m":867.195758,"difference_m":-0.245292},{"chainage_m":54.0,"elevation_m":866.967538,"ground_elevation_m":867.262792,"difference_m":-0.295254},{"chainage_m":55.0,"elevation_m":866.976861,"ground_elevation_m":867.34028,"difference_m":-0.363419},{"chainage_m":56.0,"elevation_m":866.978436,"ground_elevation_m":867.26987,"difference_m":-0.291434},{"chainage_m":57.0,"elevation_m":866.972264,"ground_elevation_m":867.031427,"difference_m":-0.059163},{"chainage_m":58.0,"elevation_m":866.958343,"ground_elevation_m":866.852308,"difference_m":0.106035},{"chainage_m":59.0,"elevation_m":866.936674,"ground_elevation_m":866.838166,"difference_m":0.098508},{"chainage_m":60.0,"elevation_m":866.907258,"ground_elevation_m":866.907262,"difference_m":-4e-06},{"chainage_m":61.0,"elevation_m":866.870093,"ground_elevation_m":866.942671,"difference_m":-0.072578},{"chainage_m":62.0,"elevation_m":866.82518,"ground_elevation_m":866.719299,"difference_m":0.105881},{"chainage_m":63.0,"elevation_m":866.772519,"ground_elevation_m":866.667886,"difference_m":0.104633},{"chainage_m":64.0,"elevation_m":866.712111,"ground_elevation_m":866.279405,"difference_m":0.432706},{"chainage_m":65.0,"elevation_m":866.643954,"ground_elevation_m":866.058934,"difference_m":0.58502},{"chainage_m":66.0,"elevation_m":866.568049,"ground_elevation_m":866.084625,"difference_m":0.483424},{"chainage_m":67.0,"elevation_m":866.484396,"ground_elevation_m":865.963185,"difference_m":0.521211},{"chainage_m":67.5,"elevation_m":866.439664,"ground_elevation_m":865.969922,"difference_m":0.469742},{"chainage_m":68.0,"elevation_m":866.393964,"ground_elevation_m":865.97666,"difference_m":0.417304},{"chainage_m":69.0,"elevation_m":866.302563,"ground_elevation_m":866.043558,"difference_m":0.259005},{"chainage_m":70.0,"elevation_m":866.211162,"ground_elevation_m":866.042461,"difference_m":0.168701},{"chainage_m":71.0,"elevation_m":866.119761,"ground_elevation_m":865.95434,"difference_m":0.165421},{"chainage_m":72.0,"elevation_m":866.02836,"ground_elevation_m":865.564798,"difference_m":0.463562},{"chainage_m":73.0,"elevation_m":865.93696,"ground_elevation_m":865.096312,"difference_m":0.840648},{"chainage_m":74.0,"elevation_m":865.845559,"ground_elevation_m":865.108911,"difference_m":0.736648},{"chainage_m":75.0,"elevation_m":865.754158,"ground_elevation_m":865.301556,"difference_m":0.452602},{"chainage_m":76.0,"elevation_m":865.662757,"ground_elevation_m":865.219004,"difference_m":0.443753},{"chainage_m":77.0,"elevation_m":865.571356,"ground_elevation_m":865.343499,"difference_m":0.227857},{"chainage_m":77.3,"elevation_m":865.543936,"ground_elevation_m":865.263659,"difference_m":0.280277},{"chainage_m":78.0,"elevation_m":865.453584,"ground_elevation_m":865.077365,"difference_m":0.376219},{"chainage_m":79.0,"elevation_m":865.23302,"ground_elevation_m":864.964581,"difference_m":0.268439},{"chainage_m":80.0,"elevation_m":864.904819,"ground_elevation_m":864.904824,"difference_m":-5e-06},{"chainage_m":81.0,"elevation_m":864.468981,"ground_elevation_m":864.56286,"difference_m":-0.093879},{"chainage_m":82.0,"elevation_m":863.925508,"ground_elevation_m":864.402716,"difference_m":-0.477208},{"chainage_m":82.7,"elevation_m":863.481032,"ground_elevation_m":864.198638,"difference_m":-0.717606},{"chainage_m":83.0,"elevation_m":863.279241,"ground_elevation_m":864.111176,"difference_m":-0.831935},{"chainage_m":83.3,"elevation_m":863.07745,"ground_elevation_m":863.569808,"difference_m":-0.492358},{"chainage_m":84.0,"elevation_m":862.628829,"ground_elevation_m":862.306615,"difference_m":0.322214},{"chainage_m":85.0,"elevation_m":862.065053,"ground_elevation_m":861.698717,"difference_m":0.366336},{"chainage_m":86.0,"elevation_m":861.591994,"ground_elevation_m":861.591987,"difference_m":7e-06},{"chainage_m":87.0,"elevation_m":861.209653,"ground_elevation_m":861.415579,"difference_m":-0.205926},{"chainage_m":88.0,"elevation_m":860.918029,"ground_elevation_m":861.064435,"difference_m":-0.146406},{"chainage_m":88.7,"elevation_m":860.76787,"ground_elevation_m":861.116229,"difference_m":-0.348359},{"chainage_m":89.0,"elevation_m":860.713041,"ground_elevation_m":861.138426,"difference_m":-0.425385},{"chainage_m":90.0,"elevation_m":860.530278,"ground_elevation_m":860.827667,"difference_m":-0.297389},{"chainage_m":91.0,"elevation_m":860.347516,"ground_elevation_m":860.674965,"difference_m":-0.327449},{"chainage_m":92.0,"elevation_m":860.164754,"ground_elevation_m":860.370519,"difference_m":-0.205765},{"chainage_m":93.0,"elevation_m":859.981991,"ground_elevation_m":860.115098,"difference_m":-0.133107},{"chainage_m":93.7,"elevation_m":859.854057,"ground_elevation_m":860.300802,"difference_m":-0.446745},{"chainage_m":94.0,"elevation_m":859.799603,"ground_elevation_m":860.38039,"difference_m":-0.580787},{"chainage_m":95.0,"elevation_m":859.623504,"ground_elevation_m":860.832766,"difference_m":-1.209262},{"chainage_m":96.0,"elevation_m":859.455732,"ground_elevation_m":860.584769,"difference_m":-1.129037},{"chainage_m":97.0,"elevation_m":859.296289,"ground_elevation_m":860.572889,"difference_m":-1.2766},{"chainage_m":98.0,"elevation_m":859.145175,"ground_elevation_m":860.249654,"difference_m":-1.104479},{"chainage_m":99.0,"elevation_m":859.002389,"ground_elevation_m":859.358555,"difference_m":-0.356166},{"chainage_m":100.0,"elevation_m":858.867931,"ground_elevation_m":858.867935,"difference_m":-4e-06},{"chainage_m":101.0,"elevation_m":858.741801,"ground_elevation_m":858.855723,"difference_m":-0.113922},{"chainage_m":102.0,"elevation_m":858.624,"ground_elevation_m":859.135998,"difference_m":-0.511998},{"chainage_m":103.0,"elevation_m":858.514527,"ground_elevation_m":859.149935,"difference_m":-0.635408},{"chainage_m":104.0,"elevation_m":858.413383,"ground_elevation_m":858.968436,"difference_m":-0.555053},{"chainage_m":105.0,"elevation_m":858.320567,"ground_elevation_m":858.830251,"difference_m":-0.509684},{"chainage_m":106.0,"elevation_m":858.236079,"ground_elevation_m":858.972467,"difference_m":-0.736388},{"chainage_m":106.3,"elevation_m":858.212357,"ground_elevation_m":859.034999,"difference_m":-0.822642},{"chainage_m":107.0,"elevation_m":858.157879,"ground_elevation_m":859.180907,"difference_m":-1.023028},{"chainage_m":108.0,"elevation_m":858.080055,"ground_elevation_m":858.619394,"difference_m":-0.539339},{"chainage_m":109.0,"elevation_m":858.00223,"ground_elevation_m":858.231668,"difference_m":-0.229438},{"chainage_m":110.0,"elevation_m":857.924405,"ground_elevation_m":858.225586,"difference_m":-0.301181},{"chainage_m":111.0,"elevation_m":857.84658,"ground_elevation_m":858.055105,"difference_m":-0.208525},{"chainage_m":112.0,"elevation_m":857.768755,"ground_elevation_m":857.744148,"difference_m":0.024607},{"chainage_m":112.5,"elevation_m":857.729842,"ground_elevation_m":857.704312,"difference_m":0.025531},{"chainage_m":113.0,"elevation_m":857.690019,"ground_elevation_m":857.664475,"difference_m":0.025544},{"chainage_m":114.0,"elevation_m":857.604904,"ground_elevation_m":857.689342,"difference_m":-0.084438},{"chainage_m":115.0,"elevation_m":857.512501,"ground_elevation_m":857.508295,"difference_m":0.004206},{"chainage_m":116.0,"elevation_m":857.412808,"ground_elevation_m":857.221593,"difference_m":0.191215},{"chainage_m":117.0,"elevation_m":857.305826,"ground_elevation_m":857.36072,"difference_m":-0.054894},{"chainage_m":118.0,"elevation_m":857.191554,"ground_elevation_m":857.280634,"difference_m":-0.08908},{"chainage_m":119.0,"elevation_m":857.069994,"ground_elevation_m":857.0154,"difference_m":0.054594},{"chainage_m":120.0,"elevation_m":856.941144,"ground_elevation_m":856.941147,"difference_m":-3e-06},{"chainage_m":121.0,"elevation_m":856.805004,"ground_elevation_m":856.617106,"difference_m":0.187898},{"chainage_m":122.0,"elevation_m":856.661576,"ground_elevation_m":856.462557,"difference_m":0.199019},{"chainage_m":123.0,"elevation_m":856.510858,"ground_elevation_m":856.477085,"difference_m":0.033773},{"chainage_m":124.0,"elevation_m":856.35285,"ground_elevation_m":856.46627,"difference_m":-0.11342},{"chainage_m":125.0,"elevation_m":856.187554,"ground_elevation_m":856.577612,"difference_m":-0.390058},{"chainage_m":126.0,"elevation_m":856.014968,"ground_elevation_m":856.997434,"difference_m":-0.982466},{"chainage_m":127.0,"elevation_m":855.835093,"ground_elevation_m":857.158127,"difference_m":-1.323034},{"chainage_m":127.5,"elevation_m":855.742422,"ground_elevation_m":856.722976,"difference_m":-0.980555},{"chainage_m":128.0,"elevation_m":855.64884,"ground_elevation_m":856.287826,"difference_m":-0.638986},{"chainage_m":129.0,"elevation_m":855.461675,"ground_elevation_m":855.298846,"difference_m":0.162829},{"chainage_m":130.0,"elevation_m":855.274511,"ground_elevation_m":854.921918,"difference_m":0.352593},{"chainage_m":131.0,"elevation_m":855.087346,"ground_elevation_m":854.542439,"difference_m":0.544907},{"chainage_m":132.0,"elevation_m":854.900182,"ground_elevation_m":853.934301,"difference_m":0.965881},{"chainage_m":132.5,"elevation_m":854.806599,"ground_elevation_m":854.078861,"difference_m":0.727738},{"chainage_m":133.0,"elevation_m":854.713863,"ground_elevation_m":854.223421,"difference_m":0.490442},{"chainage_m":134.0,"elevation_m":854.533463,"ground_elevation_m":854.405076,"difference_m":0.128387},{"chainage_m":135.0,"elevation_m":854.359827,"ground_elevation_m":854.450149,"difference_m":-0.090322},{"chainage_m":136.0,"elevation_m":854.192956,"ground_elevation_m":854.094284,"difference_m":0.098672},{"chainage_m":137.0,"elevation_m":854.032849,"ground_elevation_m":853.780468,"difference_m":0.252381},{"chainage_m":138.0,"elevation_m":853.879506,"ground_elevation_m":854.011524,"difference_m":-0.132018},{"chainage_m":139.0,"elevation_m":853.732928,"ground_elevation_m":853.87833,"difference_m":-0.145402},{"chainage_m":140.0,"elevation_m":853.593114,"ground_elevation_m":853.593109,"difference_m":5e-06},{"chainage_m":141.0,"elevation_m":853.460065,"ground_elevation_m":853.499699,"difference_m":-0.039634},{"chainage_m":142.0,"elevation_m":853.33378,"ground_elevation_m":853.281395,"difference_m":0.052385},{"chainage_m":143.0,"elevation_m":853.214259,"ground_elevation_m":853.242585,"difference_m":-0.028326},{"chainage_m":144.0,"elevation_m":853.101503,"ground_elevation_m":853.486809,"difference_m":-0.385306},{"chainage_m":145.0,"elevation_m":852.995511,"ground_elevation_m":853.613448,"difference_m":-0.617937},{"chainage_m":146.0,"elevation_m":852.896284,"ground_elevation_m":853.369719,"difference_m":-0.473435},{"chainage_m":147.0,"elevation_m":852.803821,"ground_elevation_m":853.248707,"difference_m":-0.444886},{"chainage_m":147.5,"elevation_m":852.760126,"ground_elevation_m":853.380369,"difference_m":-0.620242},{"chainage_m":148.0,"elevation_m":852.717277,"ground_elevation_m":853.51203,"difference_m":-0.794753},{"chainage_m":149.0,"elevation_m":852.631578,"ground_elevation_m":853.412102,"difference_m":-0.780524},{"chainage_m":150.0,"elevation_m":852.545879,"ground_elevation_m":853.302247,"difference_m":-0.756368},{"chainage_m":151.0,"elevation_m":852.460181,"ground_elevation_m":853.076698,"difference_m":-0.616517},{"chainage_m":152.0,"elevation_m":852.374482,"ground_elevation_m":853.003132,"difference_m":-0.62865},{"chainage_m":153.0,"elevation_m":852.288783,"ground_elevation_m":853.116525,"difference_m":-0.827742},{"chainage_m":153.25,"elevation_m":852.267359,"ground_elevation_m":853.143844,"difference_m":-0.876485},{"chainage_m":154.0,"elevation_m":852.203281,"ground_elevation_m":853.2258,"difference_m":-1.022519},{"chainage_m":155.0,"elevation_m":852.118456,"ground_elevation_m":852.420276,"difference_m":-0.30182},{"chainage_m":156.0,"elevation_m":852.034329,"ground_elevation_m":851.929696,"difference_m":0.104633},{"chainage_m":157.0,"elevation_m":851.950901,"ground_elevation_m":851.69442,"difference_m":0.256481},{"chainage_m":158.0,"elevation_m":851.868172,"ground_elevation_m":851.523211,"difference_m":0.344961},{"chainage_m":159.0,"elevation_m":851.786142,"ground_elevation_m":851.416022,"difference_m":0.37012},{"chainage_m":160.0,"elevation_m":851.70481,"ground_elevation_m":851.704809,"difference_m":1e-06},{"chainage_m":161.0,"elevation_m":851.624177,"ground_elevation_m":852.070751,"difference_m":-0.446574},{"chainage_m":162.0,"elevation_m":851.544242,"ground_elevation_m":852.010964,"difference_m":-0.466722},{"chainage_m":163.0,"elevation_m":851.465007,"ground_elevation_m":851.588298,"difference_m":-0.123291},{"chainage_m":164.0,"elevation_m":851.386469,"ground_elevation_m":851.164323,"difference_m":0.222146},{"chainage_m":165.0,"elevation_m":851.308631,"ground_elevation_m":851.04303,"difference_m":0.265601},{"chainage_m":166.0,"elevation_m":851.231491,"ground_elevation_m":851.044965,"difference_m":0.186526},{"chainage_m":166.75,"elevation_m":851.174095,"ground_elevation_m":850.534528,"difference_m":0.639567},{"chainage_m":167.0,"elevation_m":851.155029,"ground_elevation_m":850.364383,"difference_m":0.790646},{"chainage_m":168.0,"elevation_m":851.078762,"ground_elevation_m":850.377008,"difference_m":0.701754},{"chainage_m":169.0,"elevation_m":851.002496,"ground_elevation_m":850.416094,"difference_m":0.586402},{"chainage_m":170.0,"elevation_m":850.92623,"ground_elevation_m":850.445237,"difference_m":0.480993},{"chainage_m":171.0,"elevation_m":850.849964,"ground_elevation_m":850.760021,"difference_m":0.089943},{"chainage_m":172.0,"elevation_m":850.773697,"ground_elevation_m":850.822379,"difference_m":-0.048682},{"chainage_m":172.75,"elevation_m":850.716498,"ground_elevation_m":850.673885,"difference_m":0.042613},{"chainage_m":173.0,"elevation_m":850.696176,"ground_elevation_m":850.624387,"difference_m":0.071789},{"chainage_m":174.0,"elevation_m":850.589802,"ground_elevation_m":850.504511,"difference_m":0.085291},{"chainage_m":175.0,"elevation_m":850.443283,"ground_elevation_m":850.443291,"difference_m":-8e-06},{"chainage_m":176.0,"elevation_m":850.256619,"ground_elevation_m":850.357494,"difference_m":-0.100875},{"chainage_m":177.0,"elevation_m":850.029811,"ground_elevation_m":850.066371,"difference_m":-0.03656},{"chainage_m":177.25,"elevation_m":849.966837,"ground_elevation_m":849.896102,"difference_m":0.070735},{"chainage_m":177.75,"elevation_m":849.838378,"ground_elevation_m":849.555564,"difference_m":0.282814},{"chainage_m":178.0,"elevation_m":849.77632,"ground_elevation_m":849.385295,"difference_m":0.391025},{"chainage_m":179.0,"elevation_m":849.571494,"ground_elevation_m":849.252499,"difference_m":0.318995},{"chainage_m":180.0,"elevation_m":849.436121,"ground_elevation_m":849.436107,"difference_m":1.4e-05},{"chainage_m":181.0,"elevation_m":849.370202,"ground_elevation_m":849.755497,"difference_m":-0.385295},{"chainage_m":182.0,"elevation_m":849.373736,"ground_elevation_m":849.933222,"difference_m":-0.559486},{"chainage_m":182.25,"elevation_m":849.385472,"ground_elevation_m":849.895398,"difference_m":-0.509926},{"chainage_m":183.0,"elevation_m":849.42719,"ground_elevation_m":849.781925,"difference_m":-0.354735},{"chainage_m":184.0,"elevation_m":849.482815,"ground_elevation_m":849.815886,"difference_m":-0.333071},{"chainage_m":185.0,"elevation_m":849.53844,"ground_elevation_m":849.643071,"difference_m":-0.104631},{"chainage_m":186.0,"elevation_m":849.594064,"ground_elevation_m":848.970702,"difference_m":0.623362},{"chainage_m":187.0,"elevation_m":849.649689,"ground_elevation_m":848.706911,"difference_m":0.942778},{"chainage_m":188.0,"elevation_m":849.705313,"ground_elevation_m":848.33191,"difference_m":1.373403},{"chainage_m":189.0,"elevation_m":849.760938,"ground_elevation_m":847.872825,"difference_m":1.888113},{"chainage_m":190.0,"elevation_m":849.816563,"ground_elevation_m":847.570342,"difference_m":2.246221},{"chainage_m":191.0,"elevation_m":849.872187,"ground_elevation_m":847.234399,"difference_m":2.637788},{"chainage_m":192.0,"elevation_m":849.927812,"ground_elevation_m":847.124955,"difference_m":2.802857},{"chainage_m":192.5,"elevation_m":849.955624,"ground_elevation_m":847.366389,"difference_m":2.589236},{"chainage_m":193.0,"elevation_m":849.982115,"ground_elevation_m":847.607822,"difference_m":2.374293},{"chainage_m":194.0,"elevation_m":850.027171,"ground_elevation_m":848.085143,"difference_m":1.942028},{"chainage_m":195.0,"elevation_m":850.061657,"ground_elevation_m":848.835885,"difference_m":1.225772},{"chainage_m":196.0,"elevation_m":850.085575,"ground_elevation_m":849.091495,"difference_m":0.99408},{"chainage_m":197.0,"elevation_m":850.098923,"ground_elevation_m":849.286921,"difference_m":0.812002},{"chainage_m":198.0,"elevation_m":850.101702,"ground_elevation_m":849.330226,"difference_m":0.771476},{"chainage_m":199.0,"elevation_m":850.093912,"ground_elevation_m":849.894194,"difference_m":0.199718},{"chainage_m":200.0,"elevation_m":850.075553,"ground_elevation_m":850.075616,"difference_m":-6.3e-05}],"balance":{"cut_area_m2":316.50905,"fill_area_m2":227.674489,"net_area_m2":-88.834561,"imbalance_percent":28.066989,"tolerance_percent":10.0,"within_tolerance":false},"violations":[],"warnings":[]}},"cross_sections":[{"station_id":"station_000000020000","chainage_m":20.0,"label":"STA.0+020.000","kind":"regular","center_x":208403.510059,"center_y":367900.753404,"center_z":872.146618,"azimuth_deg":179.11171,"plan_radius_m":null,"curve_outer_side":null,"curve_widening_m":0.0,"uphill_side":"right","frame":{"origin":{"x":208403.510059,"y":367900.753404,"z":872.146618},"tangent_xy":[0.015502967,-0.999879822],"left_xy":[0.999879822,0.015502967],"up_xyz":[0.0,0.0,1.0]},"samples":[{"offset_m":-20.0,"x":208383.512463,"y":367900.443344,"z":885.878007,"elevation_m":885.878007,"valid":true},{"offset_m":-19.5,"x":208384.012403,"y":367900.451096,"z":885.335521,"elevation_m":885.335521,"valid":true},{"offset_m":-19.0,"x":208384.512343,"y":367900.458847,"z":885.037057,"elevation_m":885.037057,"valid":true},{"offset_m":-18.5,"x":208385.012283,"y":367900.466599,"z":884.735357,"elevation_m":884.735357,"valid":true},{"offset_m":-18.0,"x":208385.512223,"y":367900.47435,"z":884.600638,"elevation_m":884.600638,"valid":true},{"offset_m":-17.5,"x":208386.012162,"y":367900.482102,"z":884.487685,"elevation_m":884.487685,"valid":true},{"offset_m":-17.0,"x":208386.512102,"y":367900.489853,"z":884.080643,"elevation_m":884.080643,"valid":true},{"offset_m":-16.5,"x":208387.012042,"y":367900.497605,"z":883.588069,"elevation_m":883.588069,"valid":true},{"offset_m":-16.0,"x":208387.511982,"y":367900.505356,"z":883.181422,"elevation_m":883.181422,"valid":true},{"offset_m":-15.5,"x":208388.011922,"y":367900.513108,"z":882.826494,"elevation_m":882.826494,"valid":true},{"offset_m":-15.0,"x":208388.511862,"y":367900.520859,"z":882.596779,"elevation_m":882.596779,"valid":true},{"offset_m":-14.5,"x":208389.011802,"y":367900.528611,"z":882.515209,"elevation_m":882.515209,"valid":true},{"offset_m":-14.0,"x":208389.511742,"y":367900.536362,"z":882.272214,"elevation_m":882.272214,"valid":true},{"offset_m":-13.5,"x":208390.011682,"y":367900.544114,"z":881.709699,"elevation_m":881.709699,"valid":true},{"offset_m":-13.0,"x":208390.511622,"y":367900.551865,"z":881.111638,"elevation_m":881.111638,"valid":true},{"offset_m":-12.5,"x":208391.011562,"y":367900.559616,"z":880.341737,"elevation_m":880.341737,"valid":true},{"offset_m":-12.0,"x":208391.511501,"y":367900.567368,"z":879.577771,"elevation_m":879.577771,"valid":true},{"offset_m":-11.5,"x":208392.011441,"y":367900.575119,"z":879.267828,"elevation_m":879.267828,"valid":true},{"offset_m":-11.0,"x":208392.511381,"y":367900.582871,"z":878.958537,"elevation_m":878.958537,"valid":true},{"offset_m":-10.5,"x":208393.011321,"y":367900.590622,"z":878.755254,"elevation_m":878.755254,"valid":true},{"offset_m":-10.0,"x":208393.511261,"y":367900.598374,"z":878.564303,"elevation_m":878.564303,"valid":true},{"offset_m":-9.5,"x":208394.011201,"y":367900.606125,"z":878.280484,"elevation_m":878.280484,"valid":true},{"offset_m":-9.0,"x":208394.511141,"y":367900.613877,"z":877.964854,"elevation_m":877.964854,"valid":true},{"offset_m":-8.5,"x":208395.011081,"y":367900.621628,"z":877.622187,"elevation_m":877.622187,"valid":true},{"offset_m":-8.0,"x":208395.511021,"y":367900.62938,"z":877.258715,"elevation_m":877.258715,"valid":true},{"offset_m":-7.5,"x":208396.010961,"y":367900.637131,"z":876.929373,"elevation_m":876.929373,"valid":true},{"offset_m":-7.0,"x":208396.510901,"y":367900.644883,"z":876.642417,"elevation_m":876.642417,"valid":true},{"offset_m":-6.5,"x":208397.010841,"y":367900.652634,"z":876.356968,"elevation_m":876.356968,"valid":true},{"offset_m":-6.0,"x":208397.51078,"y":367900.660386,"z":876.073882,"elevation_m":876.073882,"valid":true},{"offset_m":-5.5,"x":208398.01072,"y":367900.668137,"z":875.794162,"elevation_m":875.794162,"valid":true},{"offset_m":-5.0,"x":208398.51066,"y":367900.675889,"z":875.52443,"elevation_m":875.52443,"valid":true},{"offset_m":-4.5,"x":208399.0106,"y":367900.68364,"z":875.251133,"elevation_m":875.251133,"valid":true},{"offset_m":-4.0,"x":208399.51054,"y":367900.691392,"z":874.807037,"elevation_m":874.807037,"valid":true},{"offset_m":-3.5,"x":208400.01048,"y":367900.699143,"z":874.361945,"elevation_m":874.361945,"valid":true},{"offset_m":-3.0,"x":208400.51042,"y":367900.706895,"z":874.045251,"elevation_m":874.045251,"valid":true},{"offset_m":-2.5,"x":208401.01036,"y":367900.714646,"z":873.7484,"elevation_m":873.7484,"valid":true},{"offset_m":-2.0,"x":208401.5103,"y":367900.722398,"z":873.447543,"elevation_m":873.447543,"valid":true},{"offset_m":-1.5,"x":208402.01024,"y":367900.730149,"z":873.144763,"elevation_m":873.144763,"valid":true},{"offset_m":-1.0,"x":208402.51018,"y":367900.737901,"z":872.806614,"elevation_m":872.806614,"valid":true},{"offset_m":-0.5,"x":208403.010119,"y":367900.745652,"z":872.443285,"elevation_m":872.443285,"valid":true},{"offset_m":0.0,"x":208403.510059,"y":367900.753404,"z":872.146618,"elevation_m":872.146618,"valid":true},{"offset_m":0.5,"x":208404.009999,"y":367900.761155,"z":871.939038,"elevation_m":871.939038,"valid":true},{"offset_m":1.0,"x":208404.509939,"y":367900.768907,"z":871.750173,"elevation_m":871.750173,"valid":true},{"offset_m":1.5,"x":208405.009879,"y":367900.776658,"z":871.614181,"elevation_m":871.614181,"valid":true},{"offset_m":2.0,"x":208405.509819,"y":367900.784409,"z":871.407813,"elevation_m":871.407813,"valid":true},{"offset_m":2.5,"x":208406.009759,"y":367900.792161,"z":870.787529,"elevation_m":870.787529,"valid":true},{"offset_m":3.0,"x":208406.509699,"y":367900.799912,"z":870.171548,"elevation_m":870.171548,"valid":true},{"offset_m":3.5,"x":208407.009639,"y":367900.807664,"z":869.836101,"elevation_m":869.836101,"valid":true},{"offset_m":4.0,"x":208407.509579,"y":367900.815415,"z":869.50136,"elevation_m":869.50136,"valid":true},{"offset_m":4.5,"x":208408.009519,"y":367900.823167,"z":869.233742,"elevation_m":869.233742,"valid":true},{"offset_m":5.0,"x":208408.509458,"y":367900.830918,"z":868.980343,"elevation_m":868.980343,"valid":true},{"offset_m":5.5,"x":208409.009398,"y":367900.83867,"z":868.545001,"elevation_m":868.545001,"valid":true},{"offset_m":6.0,"x":208409.509338,"y":367900.846421,"z":868.035422,"elevation_m":868.035422,"valid":true},{"offset_m":6.5,"x":208410.009278,"y":367900.854173,"z":867.648292,"elevation_m":867.648292,"valid":true},{"offset_m":7.0,"x":208410.509218,"y":367900.861924,"z":867.359716,"elevation_m":867.359716,"valid":true},{"offset_m":7.5,"x":208411.009158,"y":367900.869676,"z":867.089535,"elevation_m":867.089535,"valid":true},{"offset_m":8.0,"x":208411.509098,"y":367900.877427,"z":866.847603,"elevation_m":866.847603,"valid":true},{"offset_m":8.5,"x":208412.009038,"y":367900.885179,"z":866.617756,"elevation_m":866.617756,"valid":true},{"offset_m":9.0,"x":208412.508978,"y":367900.89293,"z":866.424013,"elevation_m":866.424013,"valid":true},{"offset_m":9.5,"x":208413.008918,"y":367900.900682,"z":866.221967,"elevation_m":866.221967,"valid":true},{"offset_m":10.0,"x":208413.508858,"y":367900.908433,"z":865.963582,"elevation_m":865.963582,"valid":true},{"offset_m":10.5,"x":208414.008797,"y":367900.916185,"z":865.7052,"elevation_m":865.7052,"valid":true},{"offset_m":11.0,"x":208414.508737,"y":367900.923936,"z":865.425618,"elevation_m":865.425618,"valid":true},{"offset_m":11.5,"x":208415.008677,"y":367900.931688,"z":865.145271,"elevation_m":865.145271,"valid":true},{"offset_m":12.0,"x":208415.508617,"y":367900.939439,"z":864.854194,"elevation_m":864.854194,"valid":true},{"offset_m":12.5,"x":208416.008557,"y":367900.947191,"z":864.561891,"elevation_m":864.561891,"valid":true},{"offset_m":13.0,"x":208416.508497,"y":367900.954942,"z":864.241594,"elevation_m":864.241594,"valid":true},{"offset_m":13.5,"x":208417.008437,"y":367900.962694,"z":863.907636,"elevation_m":863.907636,"valid":true},{"offset_m":14.0,"x":208417.508377,"y":367900.970445,"z":863.57507,"elevation_m":863.57507,"valid":true},{"offset_m":14.5,"x":208418.008317,"y":367900.978197,"z":863.243314,"elevation_m":863.243314,"valid":true},{"offset_m":15.0,"x":208418.508257,"y":367900.985948,"z":862.928207,"elevation_m":862.928207,"valid":true},{"offset_m":15.5,"x":208419.008197,"y":367900.9937,"z":862.644729,"elevation_m":862.644729,"valid":true},{"offset_m":16.0,"x":208419.508136,"y":367901.001451,"z":862.354961,"elevation_m":862.354961,"valid":true},{"offset_m":16.5,"x":208420.008076,"y":367901.009203,"z":862.037429,"elevation_m":862.037429,"valid":true},{"offset_m":17.0,"x":208420.508016,"y":367901.016954,"z":861.724631,"elevation_m":861.724631,"valid":true},{"offset_m":17.5,"x":208421.007956,"y":367901.024705,"z":861.479732,"elevation_m":861.479732,"valid":true},{"offset_m":18.0,"x":208421.507896,"y":367901.032457,"z":861.234318,"elevation_m":861.234318,"valid":true},{"offset_m":18.5,"x":208422.007836,"y":367901.040208,"z":860.985052,"elevation_m":860.985052,"valid":true},{"offset_m":19.0,"x":208422.507776,"y":367901.04796,"z":860.734394,"elevation_m":860.734394,"valid":true},{"offset_m":19.5,"x":208423.007716,"y":367901.055711,"z":860.500897,"elevation_m":860.500897,"valid":true},{"offset_m":20.0,"x":208423.507656,"y":367901.063463,"z":860.272468,"elevation_m":860.272468,"valid":true}],"design":{"ground_type":"ripping_rock","geometry_preset":"rock","section_mode":"right_cut","ditch_side":"right","ditch_type":"standard","cut_slope_ratio":0.4,"soil_cut_slope_ratio":1.0,"two_stage_slope":true,"fill_slope_ratio":1.2,"roadbed_width_m":4.0,"carriageway_width_m":3.0,"carriageway_standard_width_m":3.0,"widening_left_m":0.0,"widening_right_m":0.0,"cross_slope_pct":3.0,"ditch":{"type":"standard","top_width_m":0.69,"bottom_width_m":0.3,"depth_m":0.3},"ditch_enabled":true,"ditch_choice":null,"paved":false,"road_edges":{"left":{"offset_m":2.0,"elevation_m":872.2066},"right":{"offset_m":-2.0,"elevation_m":872.0866}},"carriageway_edges":{"left":{"offset_m":1.5,"elevation_m":872.1916},"right":{"offset_m":-1.5,"elevation_m":872.1016}},"design_elevation_m":872.1466,"cut_area_m2":3.9494,"cut_soil_area_m2":2.0769,"cut_rock_area_m2":1.8725,"cut_rock_kind":"ripping_rock","fill_area_m2":6.0616,"spoil_fill_area_m2":0.0,"spoil_fill_side":null,"spoil_fill_width_m":0.0,"spoil_fill_max_width_m":0.0,"spoil_fill_line":[],"spoil_fill_unclosed":false,"spoil_fill_replaced_fill_m2":0.0,"bench_cut_length_m":10.7461,"slope_unclosed":false,"fill_ground_slope":0.7167,"ditch_area_m2":0.1485,"ditch_soil_area_m2":0.0,"ditch_rock_area_m2":0.1485,"ditch_split_basis":"rock_boundary","design_line":[{"offset_m":-20.0,"elevation_m":885.878},{"offset_m":-19.5,"elevation_m":885.3355},{"offset_m":-19.0,"elevation_m":885.0371},{"offset_m":-18.5,"elevation_m":884.7354},{"offset_m":-18.0,"elevation_m":884.6006},{"offset_m":-17.5,"elevation_m":884.4877},{"offset_m":-17.0,"elevation_m":884.0806},{"offset_m":-16.5,"elevation_m":883.5881},{"offset_m":-16.0,"elevation_m":883.1814},{"offset_m":-15.5,"elevation_m":882.8265},{"offset_m":-15.0,"elevation_m":882.5968},{"offset_m":-14.5,"elevation_m":882.5152},{"offset_m":-14.0,"elevation_m":882.2722},{"offset_m":-13.5,"elevation_m":881.7097},{"offset_m":-13.0,"elevation_m":881.1116},{"offset_m":-12.5,"elevation_m":880.3417},{"offset_m":-12.0,"elevation_m":879.5778},{"offset_m":-11.5,"elevation_m":879.2678},{"offset_m":-11.0,"elevation_m":878.9585},{"offset_m":-10.5,"elevation_m":878.7553},{"offset_m":-10.0,"elevation_m":878.5643},{"offset_m":-9.5,"elevation_m":878.2805},{"offset_m":-9.0,"elevation_m":877.9649},{"offset_m":-8.5,"elevation_m":877.6222},{"offset_m":-8.0,"elevation_m":877.2587},{"offset_m":-7.5,"elevation_m":876.9294},{"offset_m":-7.0,"elevation_m":876.6424},{"offset_m":-6.5,"elevation_m":876.357},{"offset_m":-6.0,"elevation_m":876.0739},{"offset_m":-5.5,"elevation_m":875.7942},{"offset_m":-5.29,"elevation_m":875.6809},{"offset_m":-5.0,"elevation_m":875.411},{"offset_m":-4.5,"elevation_m":874.911},{"offset_m":-4.0,"elevation_m":874.411},{"offset_m":-3.5,"elevation_m":873.911},{"offset_m":-3.3662,"elevation_m":873.7772},{"offset_m":-3.0,"elevation_m":872.8616},{"offset_m":-2.69,"elevation_m":872.0866},{"offset_m":-2.5,"elevation_m":871.7943},{"offset_m":-2.495,"elevation_m":871.7866},{"offset_m":-2.195,"elevation_m":871.7866},{"offset_m":-2.0,"elevation_m":872.0866},{"offset_m":-1.5,"elevation_m":872.1016},{"offset_m":-1.0,"elevation_m":872.1166},{"offset_m":-0.5,"elevation_m":872.1316},{"offset_m":0.0,"elevation_m":872.1466},{"offset_m":0.5,"elevation_m":872.1616},{"offset_m":1.0,"elevation_m":872.1766},{"offset_m":1.5,"elevation_m":872.1916},{"offset_m":2.0,"elevation_m":872.2066},{"offset_m":2.5,"elevation_m":871.7899},{"offset_m":3.0,"elevation_m":871.3733},{"offset_m":3.5,"elevation_m":870.9566},{"offset_m":4.0,"elevation_m":870.5399},{"offset_m":4.5,"elevation_m":870.1233},{"offset_m":5.0,"elevation_m":869.7066},{"offset_m":5.5,"elevation_m":869.2899},{"offset_m":6.0,"elevation_m":868.8733},{"offset_m":6.5,"elevation_m":868.4566},{"offset_m":7.0,"elevation_m":868.0399},{"offset_m":7.5,"elevation_m":867.6233},{"offset_m":8.0,"elevation_m":867.2066},{"offset_m":8.5,"elevation_m":866.7899},{"offset_m":8.9,"elevation_m":866.4628},{"offset_m":9.0,"elevation_m":866.424},{"offset_m":9.5,"elevation_m":866.222},{"offset_m":10.0,"elevation_m":865.9636},{"offset_m":10.5,"elevation_m":865.7052},{"offset_m":11.0,"elevation_m":865.4256},{"offset_m":11.5,"elevation_m":865.1453},{"offset_m":12.0,"elevation_m":864.8542},{"offset_m":12.5,"elevation_m":864.5619},{"offset_m":13.0,"elevation_m":864.2416},{"offset_m":13.5,"elevation_m":863.9076},{"offset_m":14.0,"elevation_m":863.5751},{"offset_m":14.5,"elevation_m":863.2433},{"offset_m":15.0,"elevation_m":862.9282},{"offset_m":15.5,"elevation_m":862.6447},{"offset_m":16.0,"elevation_m":862.355},{"offset_m":16.5,"elevation_m":862.0374},{"offset_m":17.0,"elevation_m":861.7246},{"offset_m":17.5,"elevation_m":861.4797},{"offset_m":18.0,"elevation_m":861.2343},{"offset_m":18.5,"elevation_m":860.9851},{"offset_m":19.0,"elevation_m":860.7344},{"offset_m":19.5,"elevation_m":860.5009},{"offset_m":20.0,"elevation_m":860.2725}],"cut_slope_segments":[{"side":"right","ratio":0.4,"rise_m":1.6906,"run_m":0.6762,"start_offset_m":-2.69,"end_offset_m":-3.3662,"material":"rock"},{"side":"right","ratio":1.0,"rise_m":1.9238,"run_m":1.9238,"start_offset_m":-3.3662,"end_offset_m":-5.29,"material":"soil"}],"rock_boundary_offset_m":-0.5,"status":"provisional","pavement_suggested":true}},{"station_id":"station_000000040000","chainage_m":40.0,"label":"STA.0+040.000","kind":"regular","center_x":208403.820119,"center_y":367880.755807,"center_z":867.176663,"azimuth_deg":179.11171,"plan_radius_m":null,"curve_outer_side":null,"curve_widening_m":0.0,"uphill_side":"right","frame":{"origin":{"x":208403.820119,"y":367880.755807,"z":867.176663},"tangent_xy":[0.015502967,-0.999879822],"left_xy":[0.999879822,0.015502967],"up_xyz":[0.0,0.0,1.0]},"samples":[{"offset_m":-20.0,"x":208383.822522,"y":367880.445748,"z":882.83409,"elevation_m":882.83409,"valid":true},{"offset_m":-19.5,"x":208384.322462,"y":367880.453499,"z":882.731189,"elevation_m":882.731189,"valid":true},{"offset_m":-19.0,"x":208384.822402,"y":367880.461251,"z":882.721374,"elevation_m":882.721374,"valid":true},{"offset_m":-18.5,"x":208385.322342,"y":367880.469002,"z":882.711299,"elevation_m":882.711299,"valid":true},{"offset_m":-18.0,"x":208385.822282,"y":367880.476754,"z":882.704439,"elevation_m":882.704439,"valid":true},{"offset_m":-17.5,"x":208386.322222,"y":367880.484505,"z":882.672865,"elevation_m":882.672865,"valid":true},{"offset_m":-17.0,"x":208386.822162,"y":367880.492257,"z":882.603593,"elevation_m":882.603593,"valid":true},{"offset_m":-16.5,"x":208387.322102,"y":367880.500008,"z":882.560408,"elevation_m":882.560408,"valid":true},{"offset_m":-16.0,"x":208387.822042,"y":367880.50776,"z":882.602484,"elevation_m":882.602484,"valid":true},{"offset_m":-15.5,"x":208388.321981,"y":367880.515511,"z":882.455868,"elevation_m":882.455868,"valid":true},{"offset_m":-15.0,"x":208388.821921,"y":367880.523263,"z":880.186882,"elevation_m":880.186882,"valid":true},{"offset_m":-14.5,"x":208389.321861,"y":367880.531014,"z":877.928133,"elevation_m":877.928133,"valid":true},{"offset_m":-14.0,"x":208389.821801,"y":367880.538766,"z":876.803717,"elevation_m":876.803717,"valid":true},{"offset_m":-13.5,"x":208390.321741,"y":367880.546517,"z":875.735667,"elevation_m":875.735667,"valid":true},{"offset_m":-13.0,"x":208390.821681,"y":367880.554269,"z":875.551049,"elevation_m":875.551049,"valid":true},{"offset_m":-12.5,"x":208391.321621,"y":367880.56202,"z":875.585674,"elevation_m":875.585674,"valid":true},{"offset_m":-12.0,"x":208391.821561,"y":367880.569772,"z":875.484381,"elevation_m":875.484381,"valid":true},{"offset_m":-11.5,"x":208392.321501,"y":367880.577523,"z":875.307374,"elevation_m":875.307374,"valid":true},{"offset_m":-11.0,"x":208392.821441,"y":367880.585274,"z":874.967982,"elevation_m":874.967982,"valid":true},{"offset_m":-10.5,"x":208393.321381,"y":367880.593026,"z":874.480957,"elevation_m":874.480957,"valid":true},{"offset_m":-10.0,"x":208393.82132,"y":367880.600777,"z":874.033689,"elevation_m":874.033689,"valid":true},{"offset_m":-9.5,"x":208394.32126,"y":367880.608529,"z":873.649403,"elevation_m":873.649403,"valid":true},{"offset_m":-9.0,"x":208394.8212,"y":367880.61628,"z":873.294606,"elevation_m":873.294606,"valid":true},{"offset_m":-8.5,"x":208395.32114,"y":367880.624032,"z":873.063263,"elevation_m":873.063263,"valid":true},{"offset_m":-8.0,"x":208395.82108,"y":367880.631783,"z":872.827284,"elevation_m":872.827284,"valid":true},{"offset_m":-7.5,"x":208396.32102,"y":367880.639535,"z":872.554288,"elevation_m":872.554288,"valid":true},{"offset_m":-7.0,"x":208396.82096,"y":367880.647286,"z":872.278679,"elevation_m":872.278679,"valid":true},{"offset_m":-6.5,"x":208397.3209,"y":367880.655038,"z":872.003901,"elevation_m":872.003901,"valid":true},{"offset_m":-6.0,"x":208397.82084,"y":367880.662789,"z":871.733156,"elevation_m":871.733156,"valid":true},{"offset_m":-5.5,"x":208398.32078,"y":367880.670541,"z":871.491663,"elevation_m":871.491663,"valid":true},{"offset_m":-5.0,"x":208398.82072,"y":367880.678292,"z":871.258081,"elevation_m":871.258081,"valid":true},{"offset_m":-4.5,"x":208399.320659,"y":367880.686044,"z":870.687319,"elevation_m":870.687319,"valid":true},{"offset_m":-4.0,"x":208399.820599,"y":367880.693795,"z":869.928864,"elevation_m":869.928864,"valid":true},{"offset_m":-3.5,"x":208400.320539,"y":367880.701547,"z":869.318325,"elevation_m":869.318325,"valid":true},{"offset_m":-3.0,"x":208400.820479,"y":367880.709298,"z":868.864378,"elevation_m":868.864378,"valid":true},{"offset_m":-2.5,"x":208401.320419,"y":367880.71705,"z":868.514612,"elevation_m":868.514612,"valid":true},{"offset_m":-2.0,"x":208401.820359,"y":367880.724801,"z":868.375869,"elevation_m":868.375869,"valid":true},{"offset_m":-1.5,"x":208402.320299,"y":367880.732553,"z":868.198992,"elevation_m":868.198992,"valid":true},{"offset_m":-1.0,"x":208402.820239,"y":367880.740304,"z":867.882279,"elevation_m":867.882279,"valid":true},{"offset_m":-0.5,"x":208403.320179,"y":367880.748056,"z":867.563589,"elevation_m":867.563589,"valid":true},{"offset_m":0.0,"x":208403.820119,"y":367880.755807,"z":867.176663,"elevation_m":867.176663,"valid":true},{"offset_m":0.5,"x":208404.320059,"y":367880.763559,"z":866.790743,"elevation_m":866.790743,"valid":true},{"offset_m":1.0,"x":208404.819999,"y":367880.77131,"z":866.457147,"elevation_m":866.457147,"valid":true},{"offset_m":1.5,"x":208405.319938,"y":367880.779062,"z":866.129384,"elevation_m":866.129384,"valid":true},{"offset_m":2.0,"x":208405.819878,"y":367880.786813,"z":865.923915,"elevation_m":865.923915,"valid":true},{"offset_m":2.5,"x":208406.319818,"y":367880.794565,"z":865.756345,"elevation_m":865.756345,"valid":true},{"offset_m":3.0,"x":208406.819758,"y":367880.802316,"z":865.63317,"elevation_m":865.63317,"valid":true},{"offset_m":3.5,"x":208407.319698,"y":367880.810068,"z":865.538006,"elevation_m":865.538006,"valid":true},{"offset_m":4.0,"x":208407.819638,"y":367880.817819,"z":865.225272,"elevation_m":865.225272,"valid":true},{"offset_m":4.5,"x":208408.319578,"y":367880.82557,"z":864.649968,"elevation_m":864.649968,"valid":true},{"offset_m":5.0,"x":208408.819518,"y":367880.833322,"z":864.146606,"elevation_m":864.146606,"valid":true},{"offset_m":5.5,"x":208409.319458,"y":367880.841073,"z":863.789103,"elevation_m":863.789103,"valid":true},{"offset_m":6.0,"x":208409.819398,"y":367880.848825,"z":863.457726,"elevation_m":863.457726,"valid":true},{"offset_m":6.5,"x":208410.319338,"y":367880.856576,"z":863.257903,"elevation_m":863.257903,"valid":true},{"offset_m":7.0,"x":208410.819277,"y":367880.864328,"z":863.058182,"elevation_m":863.058182,"valid":true},{"offset_m":7.5,"x":208411.319217,"y":367880.872079,"z":862.784163,"elevation_m":862.784163,"valid":true},{"offset_m":8.0,"x":208411.819157,"y":367880.879831,"z":862.509819,"elevation_m":862.509819,"valid":true},{"offset_m":8.5,"x":208412.319097,"y":367880.887582,"z":862.273132,"elevation_m":862.273132,"valid":true},{"offset_m":9.0,"x":208412.819037,"y":367880.895334,"z":862.0416,"elevation_m":862.0416,"valid":true},{"offset_m":9.5,"x":208413.318977,"y":367880.903085,"z":861.762293,"elevation_m":861.762293,"valid":true},{"offset_m":10.0,"x":208413.818917,"y":367880.910837,"z":861.467259,"elevation_m":861.467259,"valid":true},{"offset_m":10.5,"x":208414.318857,"y":367880.918588,"z":861.21833,"elevation_m":861.21833,"valid":true},{"offset_m":11.0,"x":208414.818797,"y":367880.92634,"z":860.998494,"elevation_m":860.998494,"valid":true},{"offset_m":11.5,"x":208415.318737,"y":367880.934091,"z":860.682679,"elevation_m":860.682679,"valid":true},{"offset_m":12.0,"x":208415.818677,"y":367880.941843,"z":860.254715,"elevation_m":860.254715,"valid":true},{"offset_m":12.5,"x":208416.318616,"y":367880.949594,"z":859.782199,"elevation_m":859.782199,"valid":true},{"offset_m":13.0,"x":208416.818556,"y":367880.957346,"z":859.202455,"elevation_m":859.202455,"valid":true},{"offset_m":13.5,"x":208417.318496,"y":367880.965097,"z":858.687388,"elevation_m":858.687388,"valid":true},{"offset_m":14.0,"x":208417.818436,"y":367880.972849,"z":858.56559,"elevation_m":858.56559,"valid":true},{"offset_m":14.5,"x":208418.318376,"y":367880.9806,"z":858.445161,"elevation_m":858.445161,"valid":true},{"offset_m":15.0,"x":208418.818316,"y":367880.988352,"z":858.010269,"elevation_m":858.010269,"valid":true},{"offset_m":15.5,"x":208419.318256,"y":367880.996103,"z":857.565984,"elevation_m":857.565984,"valid":true},{"offset_m":16.0,"x":208419.818196,"y":367881.003855,"z":857.251521,"elevation_m":857.251521,"valid":true},{"offset_m":16.5,"x":208420.318136,"y":367881.011606,"z":856.958503,"elevation_m":856.958503,"valid":true},{"offset_m":17.0,"x":208420.818076,"y":367881.019358,"z":856.813951,"elevation_m":856.813951,"valid":true},{"offset_m":17.5,"x":208421.318016,"y":367881.027109,"z":856.73418,"elevation_m":856.73418,"valid":true},{"offset_m":18.0,"x":208421.817955,"y":367881.034861,"z":856.348741,"elevation_m":856.348741,"valid":true},{"offset_m":18.5,"x":208422.317895,"y":367881.042612,"z":855.704271,"elevation_m":855.704271,"valid":true},{"offset_m":19.0,"x":208422.817835,"y":367881.050364,"z":855.258233,"elevation_m":855.258233,"valid":true},{"offset_m":19.5,"x":208423.317775,"y":367881.058115,"z":855.092125,"elevation_m":855.092125,"valid":true},{"offset_m":20.0,"x":208423.817715,"y":367881.065866,"z":854.918282,"elevation_m":854.918282,"valid":true}],"design":{"ground_type":"ripping_rock","geometry_preset":"rock","section_mode":"right_cut","ditch_side":"right","ditch_type":"standard","cut_slope_ratio":0.4,"soil_cut_slope_ratio":1.0,"two_stage_slope":true,"fill_slope_ratio":1.2,"roadbed_width_m":4.0,"carriageway_width_m":3.0,"carriageway_standard_width_m":3.0,"widening_left_m":0.0,"widening_right_m":0.0,"cross_slope_pct":3.0,"ditch":{"type":"standard","top_width_m":0.69,"bottom_width_m":0.3,"depth_m":0.3},"ditch_enabled":true,"ditch_choice":null,"paved":false,"road_edges":{"left":{"offset_m":2.0,"elevation_m":867.2367},"right":{"offset_m":-2.0,"elevation_m":867.1167}},"carriageway_edges":{"left":{"offset_m":1.5,"elevation_m":867.2217},"right":{"offset_m":-1.5,"elevation_m":867.1317}},"design_elevation_m":867.1767,"cut_area_m2":5.1161,"cut_soil_area_m2":3.0034,"cut_rock_area_m2":2.1127,"cut_rock_kind":"ripping_rock","fill_area_m2":4.244,"spoil_fill_area_m2":0.0,"spoil_fill_side":null,"spoil_fill_width_m":0.0,"spoil_fill_max_width_m":0.0,"spoil_fill_line":[],"spoil_fill_unclosed":false,"spoil_fill_replaced_fill_m2":0.0,"bench_cut_length_m":7.3083,"slope_unclosed":false,"fill_ground_slope":0.5729,"ditch_area_m2":0.1485,"ditch_soil_area_m2":0.0,"ditch_rock_area_m2":0.1485,"ditch_split_basis":"rock_boundary","design_line":[{"offset_m":-20.0,"elevation_m":882.8341},{"offset_m":-19.5,"elevation_m":882.7312},{"offset_m":-19.0,"elevation_m":882.7214},{"offset_m":-18.5,"elevation_m":882.7113},{"offset_m":-18.0,"elevation_m":882.7044},{"offset_m":-17.5,"elevation_m":882.6729},{"offset_m":-17.0,"elevation_m":882.6036},{"offset_m":-16.5,"elevation_m":882.5604},{"offset_m":-16.0,"elevation_m":882.6025},{"offset_m":-15.5,"elevation_m":882.4559},{"offset_m":-15.0,"elevation_m":880.1869},{"offset_m":-14.5,"elevation_m":877.9281},{"offset_m":-14.0,"elevation_m":876.8037},{"offset_m":-13.5,"elevation_m":875.7357},{"offset_m":-13.0,"elevation_m":875.551},{"offset_m":-12.5,"elevation_m":875.5857},{"offset_m":-12.0,"elevation_m":875.4844},{"offset_m":-11.5,"elevation_m":875.3074},{"offset_m":-11.0,"elevation_m":874.968},{"offset_m":-10.5,"elevation_m":874.481},{"offset_m":-10.0,"elevation_m":874.0337},{"offset_m":-9.5,"elevation_m":873.6494},{"offset_m":-9.0,"elevation_m":873.2946},{"offset_m":-8.5,"elevation_m":873.0633},{"offset_m":-8.0,"elevation_m":872.8273},{"offset_m":-7.5,"elevation_m":872.5543},{"offset_m":-7.0,"elevation_m":872.2787},{"offset_m":-6.89,"elevation_m":872.2182},{"offset_m":-6.5,"elevation_m":871.837},{"offset_m":-6.0,"elevation_m":871.337},{"offset_m":-5.5,"elevation_m":870.837},{"offset_m":-5.0,"elevation_m":870.337},{"offset_m":-4.5,"elevation_m":869.837},{"offset_m":-4.0,"elevation_m":869.337},{"offset_m":-3.5,"elevation_m":868.837},{"offset_m":-3.2969,"elevation_m":868.6339},{"offset_m":-3.0,"elevation_m":867.8917},{"offset_m":-2.69,"elevation_m":867.1167},{"offset_m":-2.5,"elevation_m":866.8244},{"offset_m":-2.495,"elevation_m":866.8167},{"offset_m":-2.195,"elevation_m":866.8167},{"offset_m":-2.0,"elevation_m":867.1167},{"offset_m":-1.5,"elevation_m":867.1317},{"offset_m":-1.0,"elevation_m":867.1467},{"offset_m":-0.5,"elevation_m":867.1617},{"offset_m":0.0,"elevation_m":867.1767},{"offset_m":0.5,"elevation_m":867.1917},{"offset_m":1.0,"elevation_m":867.2067},{"offset_m":1.5,"elevation_m":867.2217},{"offset_m":2.0,"elevation_m":867.2367},{"offset_m":2.5,"elevation_m":866.82},{"offset_m":3.0,"elevation_m":866.4033},{"offset_m":3.5,"elevation_m":865.9867},{"offset_m":4.0,"elevation_m":865.57},{"offset_m":4.5,"elevation_m":865.1533},{"offset_m":5.0,"elevation_m":864.7367},{"offset_m":5.5,"elevation_m":864.32},{"offset_m":6.0,"elevation_m":863.9033},{"offset_m":6.5,"elevation_m":863.4867},{"offset_m":7.0,"elevation_m":863.07},{"offset_m":7.05,"elevation_m":863.0308},{"offset_m":7.5,"elevation_m":862.7842},{"offset_m":8.0,"elevation_m":862.5098},{"offset_m":8.5,"elevation_m":862.2731},{"offset_m":9.0,"elevation_m":862.0416},{"offset_m":9.5,"elevation_m":861.7623},{"offset_m":10.0,"elevation_m":861.4673},{"offset_m":10.5,"elevation_m":861.2183},{"offset_m":11.0,"elevation_m":860.9985},{"offset_m":11.5,"elevation_m":860.6827},{"offset_m":12.0,"elevation_m":860.2547},{"offset_m":12.5,"elevation_m":859.7822},{"offset_m":13.0,"elevation_m":859.2025},{"offset_m":13.5,"elevation_m":858.6874},{"offset_m":14.0,"elevation_m":858.5656},{"offset_m":14.5,"elevation_m":858.4452},{"offset_m":15.0,"elevation_m":858.0103},{"offset_m":15.5,"elevation_m":857.566},{"offset_m":16.0,"elevation_m":857.2515},{"offset_m":16.5,"elevation_m":856.9585},{"offset_m":17.0,"elevation_m":856.814},{"offset_m":17.5,"elevation_m":856.7342},{"offset_m":18.0,"elevation_m":856.3487},{"offset_m":18.5,"elevation_m":855.7043},{"offset_m":19.0,"elevation_m":855.2582},{"offset_m":19.5,"elevation_m":855.0921},{"offset_m":20.0,"elevation_m":854.9183}],"cut_slope_segments":[{"side":"right","ratio":0.4,"rise_m":1.5173,"run_m":0.6069,"start_offset_m":-2.69,"end_offset_m":-3.2969,"material":"rock"},{"side":"right","ratio":1.0,"rise_m":3.5931,"run_m":3.5931,"start_offset_m":-3.2969,"end_offset_m":-6.89,"material":"soil"}],"rock_boundary_offset_m":-0.5,"status":"provisional","pavement_suggested":false}},{"station_id":"station_000000060000","chainage_m":60.0,"label":"STA.0+060.000","kind":"regular","center_x":208404.130178,"center_y":367860.758211,"center_z":866.907262,"azimuth_deg":179.11171,"plan_radius_m":null,"curve_outer_side":null,"curve_widening_m":0.0,"uphill_side":"right","frame":{"origin":{"x":208404.130178,"y":367860.758211,"z":866.907262},"tangent_xy":[0.015502967,-0.999879822],"left_xy":[0.999879822,0.015502967],"up_xyz":[0.0,0.0,1.0]},"samples":[{"offset_m":-20.0,"x":208384.132582,"y":367860.448151,"z":880.707894,"elevation_m":880.707894,"valid":true},{"offset_m":-19.5,"x":208384.632522,"y":367860.455903,"z":880.652191,"elevation_m":880.652191,"valid":true},{"offset_m":-19.0,"x":208385.132461,"y":367860.463654,"z":880.582873,"elevation_m":880.582873,"valid":true},{"offset_m":-18.5,"x":208385.632401,"y":367860.471406,"z":880.421268,"elevation_m":880.421268,"valid":true},{"offset_m":-18.0,"x":208386.132341,"y":367860.479157,"z":880.244661,"elevation_m":880.244661,"valid":true},{"offset_m":-17.5,"x":208386.632281,"y":367860.486909,"z":879.215667,"elevation_m":879.215667,"valid":true},{"offset_m":-17.0,"x":208387.132221,"y":367860.49466,"z":878.184199,"elevation_m":878.184199,"valid":true},{"offset_m":-16.5,"x":208387.632161,"y":367860.502412,"z":877.436662,"elevation_m":877.436662,"valid":true},{"offset_m":-16.0,"x":208388.132101,"y":367860.510163,"z":876.737422,"elevation_m":876.737422,"valid":true},{"offset_m":-15.5,"x":208388.632041,"y":367860.517915,"z":876.550795,"elevation_m":876.550795,"valid":true},{"offset_m":-15.0,"x":208389.131981,"y":367860.525666,"z":876.581495,"elevation_m":876.581495,"valid":true},{"offset_m":-14.5,"x":208389.631921,"y":367860.533418,"z":876.589952,"elevation_m":876.589952,"valid":true},{"offset_m":-14.0,"x":208390.131861,"y":367860.541169,"z":876.582226,"elevation_m":876.582226,"valid":true},{"offset_m":-13.5,"x":208390.6318,"y":367860.548921,"z":876.566382,"elevation_m":876.566382,"valid":true},{"offset_m":-13.0,"x":208391.13174,"y":367860.556672,"z":876.539372,"elevation_m":876.539372,"valid":true},{"offset_m":-12.5,"x":208391.63168,"y":367860.564424,"z":876.487101,"elevation_m":876.487101,"valid":true},{"offset_m":-12.0,"x":208392.13162,"y":367860.572175,"z":876.364632,"elevation_m":876.364632,"valid":true},{"offset_m":-11.5,"x":208392.63156,"y":367860.579927,"z":876.047686,"elevation_m":876.047686,"valid":true},{"offset_m":-11.0,"x":208393.1315,"y":367860.587678,"z":874.519099,"elevation_m":874.519099,"valid":true},{"offset_m":-10.5,"x":208393.63144,"y":367860.59543,"z":873.002344,"elevation_m":873.002344,"valid":true},{"offset_m":-10.0,"x":208394.13138,"y":367860.603181,"z":872.379751,"elevation_m":872.379751,"valid":true},{"offset_m":-9.5,"x":208394.63132,"y":367860.610933,"z":871.764657,"elevation_m":871.764657,"valid":true},{"offset_m":-9.0,"x":208395.13126,"y":367860.618684,"z":871.617201,"elevation_m":871.617201,"valid":true},{"offset_m":-8.5,"x":208395.6312,"y":367860.626435,"z":871.569224,"elevation_m":871.569224,"valid":true},{"offset_m":-8.0,"x":208396.131139,"y":367860.634187,"z":871.549068,"elevation_m":871.549068,"valid":true},{"offset_m":-7.5,"x":208396.631079,"y":367860.641938,"z":871.540725,"elevation_m":871.540725,"valid":true},{"offset_m":-7.0,"x":208397.131019,"y":367860.64969,"z":871.456693,"elevation_m":871.456693,"valid":true},{"offset_m":-6.5,"x":208397.630959,"y":367860.657441,"z":871.311328,"elevation_m":871.311328,"valid":true},{"offset_m":-6.0,"x":208398.130899,"y":367860.665193,"z":871.086763,"elevation_m":871.086763,"valid":true},{"offset_m":-5.5,"x":208398.630839,"y":367860.672944,"z":870.735376,"elevation_m":870.735376,"valid":true},{"offset_m":-5.0,"x":208399.130779,"y":367860.680696,"z":870.361454,"elevation_m":870.361454,"valid":true},{"offset_m":-4.5,"x":208399.630719,"y":367860.688447,"z":869.912881,"elevation_m":869.912881,"valid":true},{"offset_m":-4.0,"x":208400.130659,"y":367860.696199,"z":869.453963,"elevation_m":869.453963,"valid":true},{"offset_m":-3.5,"x":208400.630599,"y":367860.70395,"z":868.955411,"elevation_m":868.955411,"valid":true},{"offset_m":-3.0,"x":208401.130539,"y":367860.711702,"z":868.457407,"elevation_m":868.457407,"valid":true},{"offset_m":-2.5,"x":208401.630478,"y":367860.719453,"z":868.136541,"elevation_m":868.136541,"valid":true},{"offset_m":-2.0,"x":208402.130418,"y":367860.727205,"z":867.826105,"elevation_m":867.826105,"valid":true},{"offset_m":-1.5,"x":208402.630358,"y":367860.734956,"z":867.584161,"elevation_m":867.584161,"valid":true},{"offset_m":-1.0,"x":208403.130298,"y":367860.742708,"z":867.353737,"elevation_m":867.353737,"valid":true},{"offset_m":-0.5,"x":208403.630238,"y":367860.750459,"z":867.127828,"elevation_m":867.127828,"valid":true},{"offset_m":0.0,"x":208404.130178,"y":367860.758211,"z":866.907262,"elevation_m":866.907262,"valid":true},{"offset_m":0.5,"x":208404.630118,"y":367860.765962,"z":866.544277,"elevation_m":866.544277,"valid":true},{"offset_m":1.0,"x":208405.130058,"y":367860.773714,"z":866.043053,"elevation_m":866.043053,"valid":true},{"offset_m":1.5,"x":208405.629998,"y":367860.781465,"z":865.573812,"elevation_m":865.573812,"valid":true},{"offset_m":2.0,"x":208406.129938,"y":367860.789217,"z":865.155579,"elevation_m":865.155579,"valid":true},{"offset_m":2.5,"x":208406.629878,"y":367860.796968,"z":864.805771,"elevation_m":864.805771,"valid":true},{"offset_m":3.0,"x":208407.129818,"y":367860.80472,"z":864.686645,"elevation_m":864.686645,"valid":true},{"offset_m":3.5,"x":208407.629757,"y":367860.812471,"z":864.536023,"elevation_m":864.536023,"valid":true},{"offset_m":4.0,"x":208408.129697,"y":367860.820223,"z":863.97404,"elevation_m":863.97404,"valid":true},{"offset_m":4.5,"x":208408.629637,"y":367860.827974,"z":863.411603,"elevation_m":863.411603,"valid":true},{"offset_m":5.0,"x":208409.129577,"y":367860.835726,"z":863.20893,"elevation_m":863.20893,"valid":true},{"offset_m":5.5,"x":208409.629517,"y":367860.843477,"z":863.028126,"elevation_m":863.028126,"valid":true},{"offset_m":6.0,"x":208410.129457,"y":367860.851228,"z":862.564772,"elevation_m":862.564772,"valid":true},{"offset_m":6.5,"x":208410.629397,"y":367860.85898,"z":862.023667,"elevation_m":862.023667,"valid":true},{"offset_m":7.0,"x":208411.129337,"y":367860.866731,"z":861.704376,"elevation_m":861.704376,"valid":true},{"offset_m":7.5,"x":208411.629277,"y":367860.874483,"z":861.513127,"elevation_m":861.513127,"valid":true},{"offset_m":8.0,"x":208412.129217,"y":367860.882234,"z":861.348774,"elevation_m":861.348774,"valid":true},{"offset_m":8.5,"x":208412.629157,"y":367860.889986,"z":861.216622,"elevation_m":861.216622,"valid":true},{"offset_m":9.0,"x":208413.129096,"y":367860.897737,"z":860.976761,"elevation_m":860.976761,"valid":true},{"offset_m":9.5,"x":208413.629036,"y":367860.905489,"z":860.529044,"elevation_m":860.529044,"valid":true},{"offset_m":10.0,"x":208414.128976,"y":367860.91324,"z":860.092741,"elevation_m":860.092741,"valid":true},{"offset_m":10.5,"x":208414.628916,"y":367860.920992,"z":859.696265,"elevation_m":859.696265,"valid":true},{"offset_m":11.0,"x":208415.128856,"y":367860.928743,"z":859.305725,"elevation_m":859.305725,"valid":true},{"offset_m":11.5,"x":208415.628796,"y":367860.936495,"z":859.064155,"elevation_m":859.064155,"valid":true},{"offset_m":12.0,"x":208416.128736,"y":367860.944246,"z":858.822194,"elevation_m":858.822194,"valid":true},{"offset_m":12.5,"x":208416.628676,"y":367860.951998,"z":858.668153,"elevation_m":858.668153,"valid":true},{"offset_m":13.0,"x":208417.128616,"y":367860.959749,"z":858.522374,"elevation_m":858.522374,"valid":true},{"offset_m":13.5,"x":208417.628556,"y":367860.967501,"z":858.358071,"elevation_m":858.358071,"valid":true},{"offset_m":14.0,"x":208418.128496,"y":367860.975252,"z":858.188507,"elevation_m":858.188507,"valid":true},{"offset_m":14.5,"x":208418.628435,"y":367860.983004,"z":858.091276,"elevation_m":858.091276,"valid":true},{"offset_m":15.0,"x":208419.128375,"y":367860.990755,"z":858.043675,"elevation_m":858.043675,"valid":true},{"offset_m":15.5,"x":208419.628315,"y":367860.998507,"z":857.953117,"elevation_m":857.953117,"valid":true},{"offset_m":16.0,"x":208420.128255,"y":367861.006258,"z":857.81326,"elevation_m":857.81326,"valid":true},{"offset_m":16.5,"x":208420.628195,"y":367861.01401,"z":857.657755,"elevation_m":857.657755,"valid":true},{"offset_m":17.0,"x":208421.128135,"y":367861.021761,"z":857.46957,"elevation_m":857.46957,"valid":true},{"offset_m":17.5,"x":208421.628075,"y":367861.029513,"z":857.290863,"elevation_m":857.290863,"valid":true},{"offset_m":18.0,"x":208422.128015,"y":367861.037264,"z":857.148989,"elevation_m":857.148989,"valid":true},{"offset_m":18.5,"x":208422.627955,"y":367861.045016,"z":856.967184,"elevation_m":856.967184,"valid":true},{"offset_m":19.0,"x":208423.127895,"y":367861.052767,"z":855.806064,"elevation_m":855.806064,"valid":true},{"offset_m":19.5,"x":208423.627835,"y":367861.060519,"z":854.644799,"elevation_m":854.644799,"valid":true},{"offset_m":20.0,"x":208424.127774,"y":367861.06827,"z":854.083287,"elevation_m":854.083287,"valid":true}],"design":{"ground_type":"ripping_rock","geometry_preset":"rock","section_mode":"right_cut","ditch_side":"right","ditch_type":"standard","cut_slope_ratio":0.4,"soil_cut_slope_ratio":1.0,"two_stage_slope":true,"fill_slope_ratio":1.2,"roadbed_width_m":4.0,"carriageway_width_m":3.0,"carriageway_standard_width_m":3.0,"widening_left_m":0.0,"widening_right_m":0.0,"cross_slope_pct":3.0,"ditch":{"type":"standard","top_width_m":0.69,"bottom_width_m":0.3,"depth_m":0.3},"ditch_enabled":true,"ditch_choice":null,"paved":false,"road_edges":{"left":{"offset_m":2.0,"elevation_m":866.9673},"right":{"offset_m":-2.0,"elevation_m":866.8473}},"carriageway_edges":{"left":{"offset_m":1.5,"elevation_m":866.9523},"right":{"offset_m":-1.5,"elevation_m":866.8623}},"design_elevation_m":866.9073,"cut_area_m2":3.5609,"cut_soil_area_m2":2.4779,"cut_rock_area_m2":1.083,"cut_rock_kind":"ripping_rock","fill_area_m2":10.0,"spoil_fill_area_m2":0.0,"spoil_fill_side":null,"spoil_fill_width_m":0.0,"spoil_fill_max_width_m":0.0,"spoil_fill_line":[],"spoil_fill_unclosed":false,"spoil_fill_replaced_fill_m2":0.0,"bench_cut_length_m":13.6794,"slope_unclosed":false,"fill_ground_slope":0.6412,"ditch_area_m2":0.1485,"ditch_soil_area_m2":0.0,"ditch_rock_area_m2":0.1485,"ditch_split_basis":"rock_boundary","design_line":[{"offset_m":-20.0,"elevation_m":880.7079},{"offset_m":-19.5,"elevation_m":880.6522},{"offset_m":-19.0,"elevation_m":880.5829},{"offset_m":-18.5,"elevation_m":880.4213},{"offset_m":-18.0,"elevation_m":880.2447},{"offset_m":-17.5,"elevation_m":879.2157},{"offset_m":-17.0,"elevation_m":878.1842},{"offset_m":-16.5,"elevation_m":877.4367},{"offset_m":-16.0,"elevation_m":876.7374},{"offset_m":-15.5,"elevation_m":876.5508},{"offset_m":-15.0,"elevation_m":876.5815},{"offset_m":-14.5,"elevation_m":876.59},{"offset_m":-14.0,"elevation_m":876.5822},{"offset_m":-13.5,"elevation_m":876.5664},{"offset_m":-13.0,"elevation_m":876.5394},{"offset_m":-12.5,"elevation_m":876.4871},{"offset_m":-12.0,"elevation_m":876.3646},{"offset_m":-11.5,"elevation_m":876.0477},{"offset_m":-11.0,"elevation_m":874.5191},{"offset_m":-10.5,"elevation_m":873.0023},{"offset_m":-10.0,"elevation_m":872.3798},{"offset_m":-9.5,"elevation_m":871.7647},{"offset_m":-9.0,"elevation_m":871.6172},{"offset_m":-8.5,"elevation_m":871.5692},{"offset_m":-8.0,"elevation_m":871.5491},{"offset_m":-7.5,"elevation_m":871.5407},{"offset_m":-7.0,"elevation_m":871.4567},{"offset_m":-6.5,"elevation_m":871.3113},{"offset_m":-6.24,"elevation_m":871.1946},{"offset_m":-6.0,"elevation_m":870.9565},{"offset_m":-5.5,"elevation_m":870.4565},{"offset_m":-5.0,"elevation_m":869.9565},{"offset_m":-4.5,"elevation_m":869.4565},{"offset_m":-4.0,"elevation_m":868.9565},{"offset_m":-3.5,"elevation_m":868.4565},{"offset_m":-3.2228,"elevation_m":868.1794},{"offset_m":-3.0,"elevation_m":867.6223},{"offset_m":-2.69,"elevation_m":866.8473},{"offset_m":-2.5,"elevation_m":866.555},{"offset_m":-2.495,"elevation_m":866.5473},{"offset_m":-2.195,"elevation_m":866.5473},{"offset_m":-2.0,"elevation_m":866.8473},{"offset_m":-1.5,"elevation_m":866.8623},{"offset_m":-1.0,"elevation_m":866.8773},{"offset_m":-0.5,"elevation_m":866.8923},{"offset_m":0.0,"elevation_m":866.9073},{"offset_m":0.5,"elevation_m":866.9223},{"offset_m":1.0,"elevation_m":866.9373},{"offset_m":1.5,"elevation_m":866.9523},{"offset_m":2.0,"elevation_m":866.9673},{"offset_m":2.5,"elevation_m":866.5506},{"offset_m":3.0,"elevation_m":866.1339},{"offset_m":3.5,"elevation_m":865.7173},{"offset_m":4.0,"elevation_m":865.3006},{"offset_m":4.5,"elevation_m":864.8839},{"offset_m":5.0,"elevation_m":864.4673},{"offset_m":5.5,"elevation_m":864.0506},{"offset_m":6.0,"elevation_m":863.6339},{"offset_m":6.5,"elevation_m":863.2173},{"offset_m":7.0,"elevation_m":862.8006},{"offset_m":7.5,"elevation_m":862.3839},{"offset_m":8.0,"elevation_m":861.9673},{"offset_m":8.5,"elevation_m":861.5506},{"offset_m":9.0,"elevation_m":861.1339},{"offset_m":9.5,"elevation_m":860.7173},{"offset_m":10.0,"elevation_m":860.3006},{"offset_m":10.5,"elevation_m":859.8839},{"offset_m":11.0,"elevation_m":859.4673},{"offset_m":11.5,"elevation_m":859.0642},{"offset_m":12.0,"elevation_m":858.8222},{"offset_m":12.5,"elevation_m":858.6682},{"offset_m":13.0,"elevation_m":858.5224},{"offset_m":13.5,"elevation_m":858.3581},{"offset_m":14.0,"elevation_m":858.1885},{"offset_m":14.5,"elevation_m":858.0913},{"offset_m":15.0,"elevation_m":858.0437},{"offset_m":15.5,"elevation_m":857.9531},{"offset_m":16.0,"elevation_m":857.8133},{"offset_m":16.5,"elevation_m":857.6578},{"offset_m":17.0,"elevation_m":857.4696},{"offset_m":17.5,"elevation_m":857.2909},{"offset_m":18.0,"elevation_m":857.149},{"offset_m":18.5,"elevation_m":856.9672},{"offset_m":19.0,"elevation_m":855.8061},{"offset_m":19.5,"elevation_m":854.6448},{"offset_m":20.0,"elevation_m":854.0833}],"cut_slope_segments":[{"side":"right","ratio":0.4,"rise_m":1.3321,"run_m":0.5328,"start_offset_m":-2.69,"end_offset_m":-3.2228,"material":"rock"},{"side":"right","ratio":1.0,"rise_m":3.0172,"run_m":3.0172,"start_offset_m":-3.2228,"end_offset_m":-6.24,"material":"soil"}],"rock_boundary_offset_m":-0.5,"status":"provisional","pavement_suggested":false}},{"station_id":"station_000000080000","chainage_m":80.0,"label":"STA.0+080.000","kind":"regular","center_x":208406.288097,"center_y":367841.11831,"center_z":864.904824,"azimuth_deg":153.39308,"plan_radius_m":null,"curve_outer_side":"right","curve_widening_m":1.9053,"uphill_side":"right","frame":{"origin":{"x":208406.288097,"y":367841.11831,"z":864.904824},"tangent_xy":[0.44786708,-0.89410015],"left_xy":[0.89410015,0.44786708],"up_xyz":[0.0,0.0,1.0]},"samples":[{"offset_m":-20.0,"x":208388.406094,"y":367832.160968,"z":878.655593,"elevation_m":878.655593,"valid":true},{"offset_m":-19.5,"x":208388.853144,"y":367832.384902,"z":878.423541,"elevation_m":878.423541,"valid":true},{"offset_m":-19.0,"x":208389.300194,"y":367832.608835,"z":878.254014,"elevation_m":878.254014,"valid":true},{"offset_m":-18.5,"x":208389.747244,"y":367832.832769,"z":878.068383,"elevation_m":878.068383,"valid":true},{"offset_m":-18.0,"x":208390.194294,"y":367833.056702,"z":877.948733,"elevation_m":877.948733,"valid":true},{"offset_m":-17.5,"x":208390.641344,"y":367833.280636,"z":877.749985,"elevation_m":877.749985,"valid":true},{"offset_m":-17.0,"x":208391.088394,"y":367833.504569,"z":877.495756,"elevation_m":877.495756,"valid":true},{"offset_m":-16.5,"x":208391.535444,"y":367833.728503,"z":877.345171,"elevation_m":877.345171,"valid":true},{"offset_m":-16.0,"x":208391.982494,"y":367833.952436,"z":877.40522,"elevation_m":877.40522,"valid":true},{"offset_m":-15.5,"x":208392.429544,"y":367834.17637,"z":877.483153,"elevation_m":877.483153,"valid":true},{"offset_m":-15.0,"x":208392.876595,"y":367834.400303,"z":877.394273,"elevation_m":877.394273,"valid":true},{"offset_m":-14.5,"x":208393.323645,"y":367834.624237,"z":877.25456,"elevation_m":877.25456,"valid":true},{"offset_m":-14.0,"x":208393.770695,"y":367834.84817,"z":876.779602,"elevation_m":876.779602,"valid":true},{"offset_m":-13.5,"x":208394.217745,"y":367835.072104,"z":875.504891,"elevation_m":875.504891,"valid":true},{"offset_m":-13.0,"x":208394.664795,"y":367835.296038,"z":874.283468,"elevation_m":874.283468,"valid":true},{"offset_m":-12.5,"x":208395.111845,"y":367835.519971,"z":874.027767,"elevation_m":874.027767,"valid":true},{"offset_m":-12.0,"x":208395.558895,"y":367835.743905,"z":873.343097,"elevation_m":873.343097,"valid":true},{"offset_m":-11.5,"x":208396.005945,"y":367835.967838,"z":872.356254,"elevation_m":872.356254,"valid":true},{"offset_m":-11.0,"x":208396.452995,"y":367836.191772,"z":871.365894,"elevation_m":871.365894,"valid":true},{"offset_m":-10.5,"x":208396.900045,"y":367836.415705,"z":870.342193,"elevation_m":870.342193,"valid":true},{"offset_m":-10.0,"x":208397.347095,"y":367836.639639,"z":870.271737,"elevation_m":870.271737,"valid":true},{"offset_m":-9.5,"x":208397.794145,"y":367836.863572,"z":870.204759,"elevation_m":870.204759,"valid":true},{"offset_m":-9.0,"x":208398.241195,"y":367837.087506,"z":870.16636,"elevation_m":870.16636,"valid":true},{"offset_m":-8.5,"x":208398.688246,"y":367837.311439,"z":870.155,"elevation_m":870.155,"valid":true},{"offset_m":-8.0,"x":208399.135296,"y":367837.535373,"z":870.108997,"elevation_m":870.108997,"valid":true},{"offset_m":-7.5,"x":208399.582346,"y":367837.759307,"z":869.979434,"elevation_m":869.979434,"valid":true},{"offset_m":-7.0,"x":208400.029396,"y":367837.98324,"z":869.879474,"elevation_m":869.879474,"valid":true},{"offset_m":-6.5,"x":208400.476446,"y":367838.207174,"z":869.548766,"elevation_m":869.548766,"valid":true},{"offset_m":-6.0,"x":208400.923496,"y":367838.431107,"z":869.101318,"elevation_m":869.101318,"valid":true},{"offset_m":-5.5,"x":208401.370546,"y":367838.655041,"z":868.686928,"elevation_m":868.686928,"valid":true},{"offset_m":-5.0,"x":208401.817596,"y":367838.878974,"z":868.321119,"elevation_m":868.321119,"valid":true},{"offset_m":-4.5,"x":208402.264646,"y":367839.102908,"z":867.934056,"elevation_m":867.934056,"valid":true},{"offset_m":-4.0,"x":208402.711696,"y":367839.326841,"z":867.475817,"elevation_m":867.475817,"valid":true},{"offset_m":-3.5,"x":208403.158746,"y":367839.550775,"z":867.019516,"elevation_m":867.019516,"valid":true},{"offset_m":-3.0,"x":208403.605796,"y":367839.774708,"z":866.543689,"elevation_m":866.543689,"valid":true},{"offset_m":-2.5,"x":208404.052846,"y":367839.998642,"z":866.112327,"elevation_m":866.112327,"valid":true},{"offset_m":-2.0,"x":208404.499896,"y":367840.222575,"z":865.805167,"elevation_m":865.805167,"valid":true},{"offset_m":-1.5,"x":208404.946947,"y":367840.446509,"z":865.695249,"elevation_m":865.695249,"valid":true},{"offset_m":-1.0,"x":208405.393997,"y":367840.670443,"z":865.554713,"elevation_m":865.554713,"valid":true},{"offset_m":-0.5,"x":208405.841047,"y":367840.894376,"z":865.182118,"elevation_m":865.182118,"valid":true},{"offset_m":0.0,"x":208406.288097,"y":367841.11831,"z":864.904824,"elevation_m":864.904824,"valid":true},{"offset_m":0.5,"x":208406.735147,"y":367841.342243,"z":864.685683,"elevation_m":864.685683,"valid":true},{"offset_m":1.0,"x":208407.182197,"y":367841.566177,"z":864.396289,"elevation_m":864.396289,"valid":true},{"offset_m":1.5,"x":208407.629247,"y":367841.79011,"z":864.017409,"elevation_m":864.017409,"valid":true},{"offset_m":2.0,"x":208408.076297,"y":367842.014044,"z":863.459234,"elevation_m":863.459234,"valid":true},{"offset_m":2.5,"x":208408.523347,"y":367842.237977,"z":862.871122,"elevation_m":862.871122,"valid":true},{"offset_m":3.0,"x":208408.970397,"y":367842.461911,"z":862.424772,"elevation_m":862.424772,"valid":true},{"offset_m":3.5,"x":208409.417447,"y":367842.685844,"z":862.177807,"elevation_m":862.177807,"valid":true},{"offset_m":4.0,"x":208409.864497,"y":367842.909778,"z":862.026911,"elevation_m":862.026911,"valid":true},{"offset_m":4.5,"x":208410.311547,"y":367843.133711,"z":861.823345,"elevation_m":861.823345,"valid":true},{"offset_m":5.0,"x":208410.758598,"y":367843.357645,"z":861.618031,"elevation_m":861.618031,"valid":true},{"offset_m":5.5,"x":208411.205648,"y":367843.581579,"z":861.436262,"elevation_m":861.436262,"valid":true},{"offset_m":6.0,"x":208411.652698,"y":367843.805512,"z":861.27166,"elevation_m":861.27166,"valid":true},{"offset_m":6.5,"x":208412.099748,"y":367844.029446,"z":860.971265,"elevation_m":860.971265,"valid":true},{"offset_m":7.0,"x":208412.546798,"y":367844.253379,"z":860.563159,"elevation_m":860.563159,"valid":true},{"offset_m":7.5,"x":208412.993848,"y":367844.477313,"z":860.210392,"elevation_m":860.210392,"valid":true},{"offset_m":8.0,"x":208413.440898,"y":367844.701246,"z":860.015109,"elevation_m":860.015109,"valid":true},{"offset_m":8.5,"x":208413.887948,"y":367844.92518,"z":859.851714,"elevation_m":859.851714,"valid":true},{"offset_m":9.0,"x":208414.334998,"y":367845.149113,"z":859.600232,"elevation_m":859.600232,"valid":true},{"offset_m":9.5,"x":208414.782048,"y":367845.373047,"z":859.326263,"elevation_m":859.326263,"valid":true},{"offset_m":10.0,"x":208415.229098,"y":367845.59698,"z":859.016276,"elevation_m":859.016276,"valid":true},{"offset_m":10.5,"x":208415.676148,"y":367845.820914,"z":858.743262,"elevation_m":858.743262,"valid":true},{"offset_m":11.0,"x":208416.123198,"y":367846.044847,"z":858.597112,"elevation_m":858.597112,"valid":true},{"offset_m":11.5,"x":208416.570249,"y":367846.268781,"z":858.295615,"elevation_m":858.295615,"valid":true},{"offset_m":12.0,"x":208417.017299,"y":367846.492715,"z":857.923101,"elevation_m":857.923101,"valid":true},{"offset_m":12.5,"x":208417.464349,"y":367846.716648,"z":857.530932,"elevation_m":857.530932,"valid":true},{"offset_m":13.0,"x":208417.911399,"y":367846.940582,"z":857.155612,"elevation_m":857.155612,"valid":true},{"offset_m":13.5,"x":208418.358449,"y":367847.164515,"z":856.824731,"elevation_m":856.824731,"valid":true},{"offset_m":14.0,"x":208418.805499,"y":367847.388449,"z":856.844131,"elevation_m":856.844131,"valid":true},{"offset_m":14.5,"x":208419.252549,"y":367847.612382,"z":856.815652,"elevation_m":856.815652,"valid":true},{"offset_m":15.0,"x":208419.699599,"y":367847.836316,"z":856.623962,"elevation_m":856.623962,"valid":true},{"offset_m":15.5,"x":208420.146649,"y":367848.060249,"z":856.260815,"elevation_m":856.260815,"valid":true},{"offset_m":16.0,"x":208420.593699,"y":367848.284183,"z":855.813478,"elevation_m":855.813478,"valid":true},{"offset_m":16.5,"x":208421.040749,"y":367848.508116,"z":855.328021,"elevation_m":855.328021,"valid":true},{"offset_m":17.0,"x":208421.487799,"y":367848.73205,"z":854.858311,"elevation_m":854.858311,"valid":true},{"offset_m":17.5,"x":208421.934849,"y":367848.955983,"z":854.711445,"elevation_m":854.711445,"valid":true},{"offset_m":18.0,"x":208422.381899,"y":367849.179917,"z":854.627505,"elevation_m":854.627505,"valid":true},{"offset_m":18.5,"x":208422.82895,"y":367849.403851,"z":854.437893,"elevation_m":854.437893,"valid":true},{"offset_m":19.0,"x":208423.276,"y":367849.627784,"z":854.125706,"elevation_m":854.125706,"valid":true},{"offset_m":19.5,"x":208423.72305,"y":367849.851718,"z":853.789672,"elevation_m":853.789672,"valid":true},{"offset_m":20.0,"x":208424.1701,"y":367850.075651,"z":853.450097,"elevation_m":853.450097,"valid":true}],"design":{"ground_type":"ripping_rock","geometry_preset":"rock","section_mode":"right_cut","ditch_side":"right","ditch_type":"standard","cut_slope_ratio":0.4,"soil_cut_slope_ratio":1.0,"two_stage_slope":true,"fill_slope_ratio":1.2,"roadbed_width_m":5.9053,"carriageway_width_m":4.9053,"carriageway_standard_width_m":3.0,"widening_left_m":0.0,"widening_right_m":1.9053,"cross_slope_pct":3.0,"ditch":{"type":"standard","top_width_m":0.69,"bottom_width_m":0.3,"depth_m":0.3},"ditch_enabled":true,"ditch_choice":null,"paved":false,"road_edges":{"left":{"offset_m":2.0,"elevation_m":864.9648},"right":{"offset_m":-3.9053,"elevation_m":864.7877}},"carriageway_edges":{"left":{"offset_m":1.5,"elevation_m":864.9498},"right":{"offset_m":-3.4053,"elevation_m":864.8027}},"design_elevation_m":864.9048,"cut_area_m2":9.9176,"cut_soil_area_m2":3.2903,"cut_rock_area_m2":6.6273,"cut_rock_kind":"ripping_rock","fill_area_m2":6.4559,"spoil_fill_area_m2":0.0,"spoil_fill_side":null,"spoil_fill_width_m":0.0,"spoil_fill_max_width_m":0.0,"spoil_fill_line":[],"spoil_fill_unclosed":false,"spoil_fill_replaced_fill_m2":0.0,"bench_cut_length_m":9.4313,"slope_unclosed":false,"fill_ground_slope":0.5771,"ditch_area_m2":0.1485,"ditch_soil_area_m2":0.0,"ditch_rock_area_m2":0.1485,"ditch_split_basis":"rock_boundary","design_line":[{"offset_m":-20.0,"elevation_m":878.6556},{"offset_m":-19.5,"elevation_m":878.4235},{"offset_m":-19.0,"elevation_m":878.254},{"offset_m":-18.5,"elevation_m":878.0684},{"offset_m":-18.0,"elevation_m":877.9487},{"offset_m":-17.5,"elevation_m":877.75},{"offset_m":-17.0,"elevation_m":877.4958},{"offset_m":-16.5,"elevation_m":877.3452},{"offset_m":-16.0,"elevation_m":877.4052},{"offset_m":-15.5,"elevation_m":877.4832},{"offset_m":-15.0,"elevation_m":877.3943},{"offset_m":-14.5,"elevation_m":877.2546},{"offset_m":-14.0,"elevation_m":876.7796},{"offset_m":-13.5,"elevation_m":875.5049},{"offset_m":-13.0,"elevation_m":874.2835},{"offset_m":-12.5,"elevation_m":874.0278},{"offset_m":-12.0,"elevation_m":873.3431},{"offset_m":-11.5,"elevation_m":872.3563},{"offset_m":-11.0,"elevation_m":871.3659},{"offset_m":-10.5,"elevation_m":870.3422},{"offset_m":-10.0,"elevation_m":870.2717},{"offset_m":-9.5,"elevation_m":870.2048},{"offset_m":-9.0,"elevation_m":870.1664},{"offset_m":-8.5,"elevation_m":870.155},{"offset_m":-8.0,"elevation_m":870.109},{"offset_m":-7.5,"elevation_m":869.9794},{"offset_m":-7.3953,"elevation_m":869.9585},{"offset_m":-7.0,"elevation_m":869.5815},{"offset_m":-6.5,"elevation_m":869.0815},{"offset_m":-6.1881,"elevation_m":868.7696},{"offset_m":-6.0,"elevation_m":868.2994},{"offset_m":-5.5,"elevation_m":867.0494},{"offset_m":-5.0,"elevation_m":865.7994},{"offset_m":-4.5953,"elevation_m":864.7877},{"offset_m":-4.5,"elevation_m":864.641},{"offset_m":-4.4003,"elevation_m":864.4877},{"offset_m":-4.1003,"elevation_m":864.4877},{"offset_m":-4.0,"elevation_m":864.642},{"offset_m":-3.9053,"elevation_m":864.7877},{"offset_m":-3.5,"elevation_m":864.7998},{"offset_m":-3.0,"elevation_m":864.8148},{"offset_m":-2.5,"elevation_m":864.8298},{"offset_m":-2.0,"elevation_m":864.8448},{"offset_m":-1.5,"elevation_m":864.8598},{"offset_m":-1.0,"elevation_m":864.8748},{"offset_m":-0.5,"elevation_m":864.8898},{"offset_m":0.0,"elevation_m":864.9048},{"offset_m":0.5,"elevation_m":864.9198},{"offset_m":1.0,"elevation_m":864.9348},{"offset_m":1.5,"elevation_m":864.9498},{"offset_m":2.0,"elevation_m":864.9648},{"offset_m":2.5,"elevation_m":864.5482},{"offset_m":3.0,"elevation_m":864.1315},{"offset_m":3.5,"elevation_m":863.7148},{"offset_m":4.0,"elevation_m":863.2982},{"offset_m":4.5,"elevation_m":862.8815},{"offset_m":5.0,"elevation_m":862.4648},{"offset_m":5.5,"elevation_m":862.0482},{"offset_m":6.0,"elevation_m":861.6315},{"offset_m":6.5,"elevation_m":861.2148},{"offset_m":7.0,"elevation_m":860.7982},{"offset_m":7.5,"elevation_m":860.3815},{"offset_m":7.9,"elevation_m":860.0542},{"offset_m":8.0,"elevation_m":860.0151},{"offset_m":8.5,"elevation_m":859.8517},{"offset_m":9.0,"elevation_m":859.6002},{"offset_m":9.5,"elevation_m":859.3263},{"offset_m":10.0,"elevation_m":859.0163},{"offset_m":10.5,"elevation_m":858.7433},{"offset_m":11.0,"elevation_m":858.5971},{"offset_m":11.5,"elevation_m":858.2956},{"offset_m":12.0,"elevation_m":857.9231},{"offset_m":12.5,"elevation_m":857.5309},{"offset_m":13.0,"elevation_m":857.1556},{"offset_m":13.5,"elevation_m":856.8247},{"offset_m":14.0,"elevation_m":856.8441},{"offset_m":14.5,"elevation_m":856.8157},{"offset_m":15.0,"elevation_m":856.624},{"offset_m":15.5,"elevation_m":856.2608},{"offset_m":16.0,"elevation_m":855.8135},{"offset_m":16.5,"elevation_m":855.328},{"offset_m":17.0,"elevation_m":854.8583},{"offset_m":17.5,"elevation_m":854.7114},{"offset_m":18.0,"elevation_m":854.6275},{"offset_m":18.5,"elevation_m":854.4379},{"offset_m":19.0,"elevation_m":854.1257},{"offset_m":19.5,"elevation_m":853.7897},{"offset_m":20.0,"elevation_m":853.4501}],"cut_slope_segments":[{"side":"right","ratio":0.4,"rise_m":3.982,"run_m":1.5928,"start_offset_m":-4.5953,"end_offset_m":-6.1881,"material":"rock"},{"side":"right","ratio":1.0,"rise_m":1.2072,"run_m":1.2072,"start_offset_m":-6.1881,"end_offset_m":-7.3953,"material":"soil"}],"rock_boundary_offset_m":-0.5,"status":"provisional","pavement_suggested":true}}]}} \ No newline at end of file diff --git a/resources/tester/helper_364_6_entry.ts b/resources/tester/helper_364_6_entry.ts new file mode 100644 index 000000000..b8781a9c4 --- /dev/null +++ b/resources/tester/helper_364_6_entry.ts @@ -0,0 +1,8 @@ +/* 364-6 시험 묶음 진입점 — 표준 횡단 패널 열기 전후 같은 다시 셈인지 잼(vite ssr). */ +export { refreshCrossDesigns } from "../../B06_Section/B06_Section_Cross_Refresh"; +export { + createStandardPanel, + effectiveStandardCross, + rememberStandardDefaults, +} from "../../B06_Section/B06_Section_UI_Standard_Panel"; +export { readState, writeState } from "../../A00_Common/b_page_state"; diff --git a/resources/tester/helper_364_6_std_panel.mjs b/resources/tester/helper_364_6_std_panel.mjs new file mode 100644 index 000000000..8d6c38094 --- /dev/null +++ b/resources/tester/helper_364_6_std_panel.mjs @@ -0,0 +1,69 @@ +/* 364-6 헬퍼 — vite ssr 로 묶은 진짜 모듈(helper_364_6_entry.ts)로 표준 횡단 칸 열기 전후 다시 셈을 잼. + * node helper_364_6_std_panel.mjs <묶음.mjs> <고정 자료.json> + * 고정 자료 = 검증_sub7 노선 304(모두 리핑암)의 서버 상세 4 측점 + config 표준 횡단. + */ +import { readFileSync } from "node:fs"; +import { pathToFileURL } from "node:url"; + +const store = () => { + const m = new Map(); + return { + getItem: (k) => (m.has(k) ? m.get(k) : null), + setItem: (k, v) => m.set(k, String(v)), + removeItem: (k) => m.delete(k), + key: (i) => [...m.keys()][i] ?? null, + get length() { + return m.size; + }, + clear: () => m.clear(), + }; +}; +globalThis.window = globalThis; +globalThis.sessionStorage = store(); +globalThis.localStorage = store(); +// 패널 DOM — 무엇을 불러도 받아 주는 빈 객체 +const any = new Proxy(function () {}, { + get: (_t, k) => (k === Symbol.toPrimitive ? () => 0 : any), + apply: () => any, + construct: () => any, +}); +globalThis.document = any; +globalThis.requestAnimationFrame = (run) => setTimeout(run, 0); + +const [bundlePath, fixturePath] = process.argv.slice(2); +const m = await import(pathToFileURL(bundlePath).href); +const fixture = JSON.parse(readFileSync(fixturePath, "utf8")); +const raw = JSON.stringify(fixture.detail); +const standard = fixture.standard_cross_section; +const RID = fixture.route_id; +const KEYS = ["cut_area_m2", "fill_area_m2", "ditch_area_m2"]; +const areas = (sections) => + sections.map((s) => Object.fromEntries(KEYS.map((k) => [k, s.design?.[k] ?? null]))); +const saved = fixture.detail.longitudinal.profile_alignment?.edits ?? {}; +const edits = { + station_offsets: saved.station_offsets ?? {}, + curve_radii: saved.curve_radii ?? {}, +}; +const recompute = async (pid) => { + const detail = JSON.parse(raw); + await m.refreshCrossDesigns({ projectId: pid, routeId: RID, detail, edits }); + return areas(detail.cross_sections); +}; + +/** B05 = 칸 없음(config 기본값) → B06 = 칸 열림. seed = 저장 표준 횡단을 세션에 먼저 채운 경우. */ +async function scenario(pid, seed) { + m.rememberStandardDefaults(pid, standard); + if (seed) m.writeState("std-cross", seed, pid); + const b05 = await recompute(pid); + m.createStandardPanel(pid, standard, () => {}); + const b06 = await recompute(pid); + return { b05, b06, session: m.readState("std-cross", pid) }; +} + +const out = { + server: areas(fixture.detail.cross_sections), + standard, + config: await scenario("p364a", null), + stored: await scenario("p364b", standard), +}; +process.stdout.write(JSON.stringify(out)); diff --git a/resources/tester/test_364_6_std_panel_same_value.py b/resources/tester/test_364_6_std_panel_same_value.py new file mode 100644 index 000000000..0eb24e3c2 --- /dev/null +++ b/resources/tester/test_364_6_std_panel_same_value.py @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- +"""364-6 — 편집 없이 B06 를 열어도 B05 와 같은 누가토량. + +까닭: B06 표준 횡단 칸이 열릴 때 공통 칸을 토사 값으로 펼쳐 암 측구 상폭 0.69 → 0.9 · +암 횡단경사 3 → 3~5 로 세션을 고쳤음 → 다시 셈이 그 값으로 절토를 키움(성토 그대로). +못박는 것 + - 브라우저 다시 셈(칸 없음 = B05) = 서버 저장 면적. + - 칸 열림(B06) 뒤 다시 셈 = B05 값 · 세션 표준 횡단 = 서버가 쓴 값 그대로. + - 저장 표준 횡단이 세션에 먼저 채워진 길도 같음. + +Node 헬퍼 `helper_364_6_std_panel.mjs` 가 vite ssr 로 묶은 진짜 모듈(`helper_364_6_entry.ts`)을 부름. +""" + +import json +import shutil +import subprocess +from pathlib import Path + +import pytest + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +FIXTURE = HERE / "fixtures" / "b06_364_6_rock_route_304.json" + + +@pytest.fixture(scope="module") +def out(tmp_path_factory): + work = tmp_path_factory.mktemp("b364_6") + build = subprocess.run( + [ + "node", + str(ROOT / "config" / "node_modules" / "vite" / "bin" / "vite.js"), + "build", + "--configLoader", + "runner", + "--ssr", + "../resources/tester/helper_364_6_entry.ts", + "--outDir", + str(work), + "--logLevel", + "error", + ], + cwd=ROOT, + capture_output=True, + text=True, + encoding="utf-8", + timeout=300, + ) + assert build.returncode == 0, build.stderr + bundle = work / "bundle.mjs" + shutil.copy(work / "helper_364_6_entry.js", bundle) + proc = subprocess.run( + ["node", str(HERE / "helper_364_6_std_panel.mjs"), str(bundle), str(FIXTURE)], + cwd=ROOT, + capture_output=True, + text=True, + encoding="utf-8", + timeout=120, + ) + assert proc.returncode == 0, proc.stderr + return json.loads(proc.stdout) + + +def _close(a: list, b: list) -> bool: + return all(abs((x[k] or 0) - (y[k] or 0)) < 1e-6 for x, y in zip(a, b, strict=True) for k in x) + + +def test_고정_자료는_암_측구가_토사와_다름(out): + std = out["standard"] + assert std["rock"]["ditch"]["top_width_m"] != std["soil"]["ditch"]["top_width_m"] + + +def test_B05_다시_셈은_서버_면적(out): + assert _close(out["config"]["b05"], out["server"]) + + +@pytest.mark.parametrize("case", ["config", "stored"]) +def test_B06_칸_열어도_B05_값(case, out): + assert _close(out[case]["b06"], out[case]["b05"]) + + +@pytest.mark.parametrize("case", ["config", "stored"]) +def test_칸_열기는_표준_횡단을_안_고침(case, out): + assert out[case]["session"] == out["standard"]