PLAN 8-4b 의 「사면적 없음」 구멍을 메움. 일감 3 의 엔진 덩어리.
⚠ B06 무접촉 — 저장분만으로 유도
설계 엔진이 cut_slope_segments 를 내기는 하나 **정본에 저장되지 않음**
(실측: route 150 측점 20.0 의 저장 design 키 33개에 그 키 없음. 저장되는 것은
화면이 보낸 설계 지정이고 조회는 저장분을 그대로 실음). 그 값을 원천으로 쓰면
사면적이 조용히 0 이 됨.
대신 design_line + 저장된 경사비로 유도함 — 노체 끝 바깥으로 나아가며 기울기가
설계 경사비와 맞는 연속 구간이 사면이고, 원지반은 경사비가 안 맞아 저절로 끊김.
성토도 같은 원리로 잡힘(원지반선이 없어도 됨). 2단 사면(암/토사)은 경사비가
달라 그대로 갈림.
⚠ 측구를 사면으로 세지 않음 — 개발 중 실제로 났던 결함
측구 벽 경사가 n=1.0 으로 토사 절토비와 같아 그대로 걸렸음. 사면 시작점을
노체 끝이 아니라 **측구 바깥 끝**(road_edges ± ditch.top_width_m)으로 옮겨 고침.
그 형상을 실측 그대로 시험에 세워 재발을 막음.
사면 4계열 x 성토면/절토면 = (거리, 면적) 7쌍
층따기[성토면만] · 면고르기 · 법면보호공 · 지장목제거.
거리 = 그 측점 사면길이, 면적 = 토적표와 **같은 평균단면적법**(계산을 두 벌로 안 짬).
법면보호공은 면고르기를 참조하되 끊을 수 있게 둠 — 실무 시트가 값이 같았던 것은
엑셀 복사였고 오솔길 산출에는 보호공 4열이 0 이었음.
반영률은 법정값 아님 — 기본 100 %, 설계자 입력(PLAN 8-11 · 8-10 법대로).
TODO(미결) — 실무 관측 80/50/80 중 지장목제거는 밑수가 안 맞아(14,061 != 10,782)
쫓지 않고 100 % 로 둠.
잘린 측점을 감추지 않음 — slope_unclosed 를 물고 와 unclosed_stations 목록으로 냄.
사면이 원지반을 못 만나면 사면길이도 잘려 있으므로 화면이 드러내야 함.
검증 — tmp/tests/test_b08_slope_area.py 15건 통과.
실측 설계선을 그대로 세워 측구 제외·2단 암토사 분리·성토 유도·원지반 끊김을 못 박음.
실데이터(route 150, 65측점) — 면적이 있는데 사면길이가 0 인 경우 0건,
잘린 측점 17곳 검출.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>