fix: report design grade per segment instead of one regression

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 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01A5Cun3RHQKna9qxE6ybZ4A
This commit is contained in:
Claude committed 2026-10-21 00:15:37 +00:00
1 parent 8a533975d6
commit e69ff275da
1 file changed
+8 -2
+8 -2
View File
@@ -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 종단 값 없음 → [미확정]",