From e69ff275dafc946ee5188a85204f0e19440e9dd6 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 21 Oct 2026 00:15:37 +0000 Subject: [PATCH] fix: report design grade per segment instead of one regression MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A single regression over 4+740..5+480 gives 2.39%, which hides that the grade is 2.491% up to 5+300 and drops after it (likely a vertical curve, [추론]). Segment grades are now reported; no value is adjusted. Co-Authored-By: Claude Haiku 5.5 Claude-Session: https://claude.ai/code/session_01A5Cun3RHQKna9qxE6ybZ4A --- scripts/make_profile_doc.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/make_profile_doc.py b/scripts/make_profile_doc.py index e147182..9b12733 100644 --- a/scripts/make_profile_doc.py +++ b/scripts/make_profile_doc.py @@ -38,8 +38,14 @@ for s in stas: lines.append(f"| {s} | {s // 1000}+{s % 1000:03d} | {gl[s]:.3f} | {dg[s]:.3f} |") lines += ["", "## 3. 검산", - f"- 계획고 직선 회귀 구배: **{grade_pct:.4f}%** (도면 표기 S=2.4913%와 비교)", - f"- 계획고 회귀 잔차 최대: {max_res:.3f} m (구배 전 구간 직선 가정 시). 구배 꺾임이 있으면 잔차에 나타남", + f"- 전구간 직선 회귀 구배 {grade_pct:.4f}%는 **단일 구배가 아님**을 뜻하므로 채택하지 않음 (잔차 최대 {max_res:.3f} m)", + "- 구간별 구배 (계획고 2점 기울기, 도면 표기 S=2.4913%와 비교):"] +for a, b in [(4740, 4800), (4800, 4900), (4900, 5000), (5000, 5100), (5100, 5200), (5200, 5300), (5300, 5400), (5400, 5480)]: + seg = [k for k in stas if a <= k <= b] + if len(seg) >= 2: + g = (dg[seg[-1]] - dg[seg[0]]) / (seg[-1] - seg[0]) * 100 + lines.append(f" - {a // 1000}+{a % 1000:03d} ~ {b // 1000}+{b % 1000:03d}: {g:.4f}%") +lines += ["- 해석: 4+740~5+300은 2.491%로 S=2.4913%와 일치. 5+300 이후 구배 감소는 종곡선 구간으로 보이나 [추론], 종곡선 제원은 도면에서 확인 못함 [확인 못함]", "- 지반고는 구배 검산 대상이 아님 (지형 값)\n", "## 4. 미확정·후속 (OPEN 등재 대상)", "- 4+700~4+740, 5+480~5+500 종단 값 없음 → [미확정]",