From 1f3a880dca799589fbffac5c3e10fdcaf76c35f5 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sat, 31 Oct 2026 22:45:54 +0900 Subject: [PATCH] =?UTF-8?q?knowledge(=EC=9A=94=EA=B5=AC):=20=EC=9A=94?= =?UTF-8?q?=EA=B5=AC=20538=20=EC=A1=B0=EC=82=AC=20=EA=B8=B0=EB=A1=9D=20?= =?UTF-8?q?=E2=80=94=20B05=20=EA=B8=89=EA=B2=BD=EC=82=AC=20=EB=B9=A8?= =?UTF-8?q?=EA=B0=95=20=3D=20=EC=B9=B8=20=ED=81=AC=EA=B8=B0=20=ED=8B=80?= =?UTF-8?q?=EB=A6=BC(0.5=20=EB=8C=80=201.078=20m)=20=C2=B7=20=EB=9D=BC?= =?UTF-8?q?=EC=9D=B4=EB=8B=A4=20=EC=9E=94=EC=9A=94=EC=B2=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_015uTVHHDv583hbLQAFeBmd9 --- .../요구_1025/_조사_538_B05_급경사_빨강.md | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 docs/raw/요구_1025/_조사_538_B05_급경사_빨강.md diff --git a/docs/raw/요구_1025/_조사_538_B05_급경사_빨강.md b/docs/raw/요구_1025/_조사_538_B05_급경사_빨강.md new file mode 100644 index 000000000..3df1dda9b --- /dev/null +++ b/docs/raw/요구_1025/_조사_538_B05_급경사_빨강.md @@ -0,0 +1,76 @@ +# 조사 538 — B05 급경사 거의 빨강 + +## 결론 + +- 주 까닭 = **(가) 칸 크기 틀림.** B05 설계 지형 = 라이다 평활 격자 `dtm_classification_smooth.npz` · 머리값 `resolution = 0.5` · 실제 칸 = 1.078 × 1.062 m. 급경사 셈이 머리값 0.5 를 믿어 기울기가 **약 2.15 배**로 나옴 → 빨강(40° 이상) 89 %. +- 버금 까닭 = (나) 라이다 1 m 잔요철. 칸을 고쳐도 빨강 27.5 % (수치지형도 2 m 15.8 %). 2 m 로 다시 표본하면 18.7 %. +- (다) 범위 설정은 B05 에 먹음(코드 길 정상). 값 자체가 부풀어 범위를 올려도 빨강이 남음 — 빨강 하한 150 %(56°) 로 올려도 47 %. +- 같은 머리값을 믿는 0차곡 · 음영기복도 같은 까닭으로 틀림(0차곡 21 가닥 → 실칸 97 가닥). + +## 1. 원천별 분포 (같은 자리 = B 라이다 유효 칸 안쪽 · 약 20.9 만 점) + +기울기 % 백분위 · 기본 범위 비율(노랑 26.8~70 · 주황 70~83.9 · 빨강 83.9 % 이상 = 15 · 35 · 40°). + +| 원천 | 격자 · 칸 | p10 | p50 | p90 | p99 | 노랑 % | 주황 % | 빨강 % | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | +| **B design(지금 서버 · B05 기본)** | 평활 835×601 · 셈 칸 0.5 | 82.3 | 146.4 | 230.7 | 375.6 | 5.6 | 4.3 | **89.4** | +| B design 실칸으로 셈 | 같은 격자 · 1.078×1.062 | 38.5 | 68.3 | 107.6 | 175.3 | 49.0 | 19.8 | 27.5 | +| B lidar(평활 없음 1 m · D 라이다와 같은 꼴) | 896×645 · 1.0 | 31.7 | 68.8 | 120.5 | 207.9 | 44.3 | 16.4 | 32.0 | +| B sheet(수치지형도 서피스 평활) | 1836×1030 · 1.0 | 48.5 | 67.2 | 89.4 | 123.8 | 56.3 | 28.2 | 14.8 | +| **D sheet(수치지형도 2 m · D03)** | 1000×1000 · 2.0 | 48.3 | 66.1 | 88.4 | 126.9 | 57.4 | 26.1 | 15.8 | + +- 서버 저장본(`_derived/plan_slope/94dd…json` · 835×601) 1 % 칸 수 = 위 첫 줄과 같음(p50 146 · 빨강 89.4 %) — 재현 확인. +- B sheet ↔ D sheet 거의 같음 = 5176 ↔ 5187 좌표 옮김 · 자리 맞춤 정상. +- B 에서 terrain=lidar = design 과 같은 파일(설계 지형이 las → `analysis_terrain_params` 그대로) · 검증 D 는 LAS 안 올림(lidar 404). +- 그림(같은 범위 · 기본 색) — `tmp/brain_538/` + - `slope_sheet_D2m.png` · `slope_lidar_raw.png` · `slope_design_server.png` · `slope_design_fixed.png` · 넷 모음 `slope_4panel.png` · 권하는 꼴 `slope_lidar_2m_mean.png` + +## 2. 까닭 가름 + +| 갈래 | 판정 | 근거 | +| --- | --- | --- | +| (가) 칸 크기 | **맞음 · 주 까닭** | 평활 격자 쓰기 `B04_PreProcess_Engine_Smooth.py:74-75` 요청 0.5 m → `ModelContext.py:371-374` 꼭짓점 50 만 넘으면 칸을 넓힘(실 1.078 m) → `Smooth.py:93` 머리값은 요청값 0.5 그대로 적음. 읽는 쪽 `D03_PlanAnalysis_Layers.py:276` 이 머리값 우선 → `slope_values_png` 에 0.5 · 기울기 ×2.15 | +| (가) 좌표계 · 단위 | 아님 | % = tan × 100(`Layers.py:225`) · 높이 m(756~944) · 범위 셈 % 끼리(`logic/map_slope_bands.ts`) | +| (나) 라이다 거칠기 | 맞음 · 버금 | 칸 고친 뒤도 p90 107.6 대 88.4 · 빨강 27.5 대 15.8. 설계 평활 σ 0.5 m(`config_system_terrain.py:122`)는 거의 안 깎음(평활 없음 32.0 → 27.5) | +| (다) 범위 안 먹음 | 아님 | ⚙ → `B05_Profile_UI_RouteEdit_Layers.ts:147-164` 다시 칠함 → 새 그림 객체로 `gl.setData` → `ui_template_gl_map.ts:153-160` 소스 갈아 끼움. 화면 실측은 안 함 — 범위 적용이 계정 취향 PUT(`b_page_state.ts:449` `pushUiPrefs`)이라 금지 범위 | +| (라) 그 밖 | 작음 | 평활 격자 칸이 정사각 아님(1.078 × 1.062 · 셈은 한 값 · 오차 1.5 %) · 그림 상자 반 칸 0.25 m 로 셈(`Layers.py:278` · 0.3 m 어긋남) | + +범위를 올려도 빨강인 까닭(서버 저장본 그대로): + +| 빨강 하한 | 40°(83.9 %) | 45°(100 %) | 56°(150 %) | 63°(200 %) | 68°(250 %) | +| --- | --- | --- | --- | --- | --- | +| 빨강 비율 | 89.4 % | 82.2 % | 47.1 % | 18.3 % | 7.0 % | + +같은 까닭의 다른 겹(같은 머리값을 믿는 곳): + +| 자리 | 영향 | 실측 | +| --- | --- | --- | +| 0차곡 DEM 길 `D03_PlanAnalysis_ZeroOrder.py:537-538` | 칸 2.0 으로 믿고 실제 4.29 m(4 칸 건너) → 집수넓이 0.22 배 · 기울기 2.1 배 | 1,000~10,000 m² 가닥 **21 · 989 m** → 실칸 **97 · 3,843 m** | +| 0차곡 상자 `ZeroOrder.py:423` | 반 칸 상자만(작음) | — | +| 음영기복 `Layers.py:247` → B07 `hillshade_png` | 기울기 2.15 배 → 지나친 명암 | — | +| B07 도곽 음영 `B07_DesignDetail_Router_Support_Basin.py:493` | 같은 평활 격자 · 같은 부풂 | — | + +- 라이다 원 격자(`ModelBuild.py:80-99` · `context.grid`) · 수치지형도 평활(`SheetSurface.py:195-206`)은 머리값 = 실칸 · 정상. 틀린 건 LAS 평활 격자 하나 — 사업 상자 0.125 km² 넘는 LAS 프로젝트는 모두 해당. + +## 3. 고칠 길 (코드 안 고침) + +1. **칸 크기(필수)** + - 읽는 쪽 = 머리값 대신 좌표 간격(`x[1]-x[0]` · `y[1]-y[0]`)으로 — `Layers.py:276` · `ZeroOrder.py:423` · `ZeroOrder.py:537` · `Basin.py:493`. 옛 파일 다시 짓지 않고 바로 맞음. + - 쓰는 쪽 = `Smooth.py:93` 머리값을 실제 칸(`x_coords[1]-x_coords[0]`)으로 — 앞으로 생길 파일. + - 저장본 열쇠 = 격자 파일 지문이라 그대로면 옛 값 → `SLOPE_VERSION` 2→3 · `HILLSHADE_VERSION` 2→3(`Layers.py:67 · 69`) · 0차곡 DEM 길 판 올림(`ZERO_ORDER_VERSION` 은 도엽 길과 같이 씀 — DEM 길만 따로 판을 두거나 함께 다시 셈 감수). + - 기대 = B05 빨강 89.4 → 27.5 %. +2. **라이다 거칠기(사용자 협의 · 지식DB 에 격자 크기 근거 없음)** — 급경사 · 음영 셈 앞에 2 m 로 다시 표본(`ZERO_ORDER_CELL_M` 과 같은 꼴의 상수 하나). + + | 후보(라이다 1 m 에서) | p50 | p90 | p99 | 빨강 % | + | --- | --- | --- | --- | --- | + | 2 m 칸 평균 | 68.7 | 91.9 | 126.0 | 18.7 | + | σ 1 m 가우스 + 2 m 칸 평균 | 68.6 | 88.7 | 115.9 | 15.8 | + | σ 2 m 가우스(1 m 그대로) | 68.5 | 86.6 | 108.8 | 13.2 | + | 2 칸 건너 표본(평균 없음) | 68.9 | 96.3 | 133.8 | 22.5 | + | 3 m 칸 평균 | 68.7 | 86.7 | 108.6 | 13.5 | + | 비교 — D sheet 2 m | 66.1 | 88.4 | 126.9 | 15.8 | + + - 권함 = **2 m 칸 평균**(D 수치지형도와 같은 칸 · p99 까지 비슷 · 코드 한 줄 꼴) · 더 맞추려면 σ 1 m + 2 m. + - 자리 = 서버 `Layers.slope_layer`(③ 서버 단독) · 원천이 lidar · design 일 때만 · 수치지형도 2 m 는 그대로. + - 1 m 라이다의 실제 깎기 비탈 · 골짜기는 2 m 에서 일부 무뎌짐 — 사용자 판단 몫. +3. **범위 설정** — 고칠 것 없음. 1 이 끝나면 범위 바꿈이 눈에 보이게 먹음.