feat(B06): 절토면적을 암반 경계선 기준 토사/암반으로 분리하고 유토곡선에 배선
절토부의 토사·암반 구분은 환산계수가 아니라 횡단도 기하로 갈린다. 지표면~암반 경계선이 토사, 그 아래가 암이다. 기존에는 측점당 절토 단면적이 하나뿐이라 리핑암/발파암 측점의 상단 토사층까지 암 환산계수로 곱해졌다(실데이터 기준 다짐환산 +21% 과대). - Engine_Design: `_split_cut_areas()` 신설. `d=0`, `d=t0` 교차점을 브레이크포인트로 넣어 정확 적분(무작위 2,000회 검산 `soil+rock==cut` 최대오차 1.4e-14). `cut_soil_area_m2` / `cut_rock_area_m2` / `cut_rock_kind` 3필드 추가(기존 키 불변). - UI_Cross_Areas(신규): 면적 readout을 4칩으로 확장하고 절토(토사)/절토(암반)/성토 밴드를 그린다. 선택된 카드에서만 붙어 다른 측점을 고르면 자동 해제된다. - UI_MassHaul: `AreaSample`을 2분할로 교체해 부분별 환산계수를 물리고, 측점별 구간 물량 내역(토사/암반/다짐환산/성토)을 남긴다. 구 데이터는 전량 측점 지반유형으로 폴백. - UI_MassHaul_View: 선택 측점의 구간 물량 표기 줄과 곡선 위 강조점 추가. 측점 매칭은 id가 아니라 누가거리로 한다(종단 기준 곡선의 점 id는 파생값이라 형태가 다름). 암반 경계선 오프셋을 바꾸면 분리 면적과 유토곡선 환산량이 함께 움직인다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -240,6 +240,10 @@ export const ui_locales_b2 = {
|
||||
B06_MassHaul_Legend_Title: ["표시할 유토곡선", "Visible mass haul curves"],
|
||||
B06_MassHaul_Legend_Show: ["표시", "Show"],
|
||||
B06_MassHaul_Legend_Hide: ["숨김", "Hide"],
|
||||
/* 선택 측점의 구간 물량 — 직전 측점부터 이 측점까지의 몫이다. */
|
||||
B06_MassHaul_Station_Segment: ["구간 물량", "Segment volume"],
|
||||
B06_MassHaul_Station_Net: ["순토량", "Net volume"],
|
||||
B06_MassHaul_Station_Cumulative: ["누가토량", "Cumulative"],
|
||||
|
||||
/* --- B06 측점 표준횡단 설계 지정 --- */
|
||||
B06_Design_Ground_Legend: ["지반유형", "Ground type"],
|
||||
@@ -255,6 +259,10 @@ export const ui_locales_b2 = {
|
||||
B06_Design_Ditch_Left: ["좌", "Left"],
|
||||
B06_Design_Ditch_Right: ["우", "Right"],
|
||||
B06_Design_Cut_Area: ["절토", "Cut"],
|
||||
/* 절토 내역 — 지표면~암반 경계선이 토사, 그 아래가 암반(합=절토). */
|
||||
B06_Design_Cut_Soil_Area: ["절토(토사)", "Cut (soil)"],
|
||||
B06_Design_Cut_Rock_Area: ["절토(암반)", "Cut (rock)"],
|
||||
B06_Design_Area_Highlight: ["누르면 해당 면적을 강조합니다", "Click to highlight this area"],
|
||||
B06_Design_Fill_Area: ["성토", "Fill"],
|
||||
B06_Design_Unset: ["미지정", "Not set"],
|
||||
B06_Design_DitchType_Legend: ["측구형식", "Ditch type"],
|
||||
|
||||
Reference in New Issue
Block a user