diff --git a/docs/raw/plans/2026-10-31_plan_604-610.md b/docs/raw/plans/2026-10-31_plan_604-610.md new file mode 100644 index 000000000..2ade1e661 --- /dev/null +++ b/docs/raw/plans/2026-10-31_plan_604-610.md @@ -0,0 +1,50 @@ +# PLAN 604~610 이관 — 예정노선 영역 루틴 · 임도망 목록 · 도엽 조각 · 공용 지형 창고 읽기 · E07 미리 계산(요구 475~492) + +## 604 예정노선 영역 루틴 · 받기 서클 자리 (요구 475 · 476-2 · 승인 대기 · 요구서_475) + +- 정함(브레인): 요구서_475 2장 1~4 · 한 창. +- 사용자 확정: 서클 자리 = 위치 칸 제목 오른쪽 · 조용한 받기도 서클(요구 476). +- [x] 604-1 영역 사건 한 길(ensureCovered) · have 먼저 → 지문 바뀌면 켠 겹 모두 다시(차례 번호) · 되돌리기 · 다시하기 포함 — `UI_Page.ts` · `UI_Layers.ts` · `UI_Terrain.ts` · `Api.ts` · 확인 = 새 시험 `test_475_plan_area_refresh.py` · 569_1 · 581_1 · 584_3 · 603 +- [x] 604-2 등고 · 세류 · 도엽 겹 = 서버가 받은 범위로 자름 — `Router.py`(도엽 겹 몫) · 확인 = 용화 서쪽 1.9 km · 남쪽 0.7 km 띠 등고선 나옴 +- [x] 604-3 서클 = 위치 칸 제목 오른쪽 · 지형 받기 · 겹 다시 받기 · 임도망 올리기 모두 · 10 km 밖 지점 알림 한 줄 — `UI_Site.ts`(제목 줄 몫) · 확인 = ORCA 받기마다 서클 + - 검증완료 — 시험 475 · 553_4 · 569_1 · 581_1 · 584_3 · 603 · 582 62 통과 · typecheck 0 · 검증 D 서쪽 2 km 지점 → 받은 범위 서 2,350 m 늚 · 겹 범위 = have · 차례 1→2 · 등고 서경 129.064→129.038 · 도로 51→174 · 급경사 칸 217만→334만 · 남쪽 300 m(어두움) → 등고 남위 36.8038→36.7979 · 되돌리기 · 다시하기 = 범위 · 겹 그대로 · 서클 = 위치 제목 오른쪽(지형 n% · 받는 중 n) · 지도 귀퉁이 서클 0 · 10 km 밖 알림 한 줄 · 지점 · 취향 · 현재 프로젝트 되돌림 +- 이음(604): `createPlanLayers({ projectId, map, track })` · `load(have)` = 받은 범위 지문 바뀜 → 차례 +1 · 켠 겹 모두 다시 · 등고 · 세류 = `layers/sheet?key=등고선|하천중심선`(서버가 받은 범위로 자름) · 서클 = `createWorkCircle`(UI_Terrain · 들어간 일 수) + +## 605 예정노선 올린 임도망 색 · 목록 (요구 476-1 · 승인 대기 · 요구서_475) + +- 정함(브레인): 요구서_475 2장 5. +- 사용자 확정: 주황 바꿈 · 올린 뒤 목록 고르기 · 지움(요구 476). +- [x] 605-1 올린 임도망 묶음 쌓기 · 묶음 지움 길 — `D03_PlanAnalysis_ForestRoad.py` · `Router.py`(임도망 몫) · `Api.ts`(임도망 함수 몫) · 확인 = 시험 584_3 · 새 단언 + - 검증완료 — 시험 584_3 14 통과 · 묶음 둘 쌓음 · 하나 지움 → 남은 하나 · 옛 한 파일 꼴 = legacy 한 줄 · typecheck 0 (40cecf27a) +- [x] 605-2 지도 색 = 지도 전용 밝은 색 + 검은 테 · 위치 칸 목록(이름 · 가닥 · 길이 · 고름 = 강조 · 맞춤 · 지움) — `UI_LayerDefs.ts`(임도망 줄) · `UI_Site.ts`(목록 블록 몫) · 확인 = ORCA 밝음 · 어두움 × 위성 대비 · 묶음 둘 올림 → 하나 지움 + - 검증완료 — ORCA(용화 D): 목록 한 줄 → 둘 → 줄 고름 = 노랑 강조(GL 거름 2) + 맞춤 · 하나 지움 → 지도 가닥 2 → 1 · 새로고침 뒤 같음 · 밝은 분홍 #ff2fd0 대비 위성 켬 4.2(최저 3.3) · 끔 4.6 · 검은 테 6.6 (밝음 · 어두움 같은 값 · 지도 바탕 테마 무관) · 올린 묶음 되돌림 + - 합치기(dev 604) 검증완료 — 시험 475 · 569_1 · 581_1 · 584_3 · 603 48 통과 · typecheck 0 · 올림 1→2 · 고름 강조 GL 2 · 지움 2→1 · 범위 밖 선 = 받은 범위 동쪽 +750 m · 겹 차례 1→2 · 묶음 그대로 · 밝음 · 어두움 (9ae25a957) + +## 606 예정노선 수치지형도 화면 맞춤 1 단계 — 도엽 조각 · 공용 창고 · 선 겹 (요구 477 · 승인 대기 · 요구서_475) + +- 정함(브레인): 요구서_475 2장 6 · 7 · 604-1 · 607-2 들어온 뒤 화면 몫. +- 사용자 확정: 2 단계(DEM 조각) = PLAN 607~611 로 옮김 · 등고 · 계곡 조각 원천 = 전국 등고선 파일 · 도엽 zip = 보조 겹 · 빠진 곳만(요구 486~490). +- 이음(606): 조각 = `GET …/plan/sheet-tiles?bbox=경도,위도,경도,위도` → {count, sheets(가운데부터 · 30 장 넘음 = [])} · `GET …/plan/sheet-tiles/<도엽>/<겹>`(등고선 · 계곡선 · 하천중심선 · 도로중심선 · 건물 · 지명 · 물 면 셋) · 창고 `storage/_shared/sheets/<도엽>/layers/` · 화면 `createSheetTiles`(`D03_PlanAnalysis_UI_SheetTiles`) +- [x] 606-1 공용 창고 `storage/_shared/sheets/<번호>/`(도엽 zip · 선 겹 조각) · 있는 프로젝트 도엽 옮겨 담기(복사 · 원본 안 지움) — 새 D 모듈(B04 함수 부름 · B 코드 안 고침) · 확인 = 37 장 · 크기 · B 시험 그대로 + - 검증완료 — 프로젝트 도엽 zip 40 장 복사(받기 0 · 7.6 s · 원본 그대로) · 줌아웃 새 6 장 받음 → 창고 46 장 · 도엽당 zip 1.16 MB + 조각 3.8~7.4 MB(중앙 5.8) · 등고 조각 전국 파일 2.0~2.9 s · zip 겹 0.1~1.8 s · 둘째 · 셋째 프로젝트(B · E) 같은 도엽 = 받기 0 · 14~37 ms · B 파일 바뀜 0 · 시험 606 · 475 · 569_1 · 581_1 · 607 40 통과 +- [x] 606-2 보이는 도엽만 받기 · 조각 하나씩 얹기 · 12 장 이하 · 13~30 = 계곡선만 · 넘음 = 숨김 · 서클 — `UI_Layers.ts`(선 겹 몫) · `Router.py`(조각 길 몫) · 확인 = 화면 옮김 → 새 도엽 수 s · 다시 오면 즉시 · 줌아웃 수치 + - 검증완료 — 검증 D: 보기 멈춘 뒤 0.8 s 목록 → 새 도엽(073 · 075) 3 조각 3.0~4.6 s · 다시 오면 조각 요청 0 · 1.3 s · 줌아웃 도엽 1 → 2 → 9 → 12(다 · 그림 4.8 s) → 15 · 18(계곡선만 · 세류 · 도로 0) → 35(숨김 · 목록 없음) → 다시 줌인 = 2 장 즉시 · typecheck 0 · ORCA 밝음 · 어두움 · 현재 프로젝트 되돌림 + +## 608 예정노선 지형 = 공용 창고 읽기 · 0차곡 공용 (요구 486 · 승인 대기 · 요구서_486) + +- 정함(브레인): 요구서_486 3장 2 · 3 · 6 · 607-2 뒤. +- 사용자 확정: 미리 계산(요구 486). +- 이음(608): D DEM = `load_terrain(epsg, box=받은 범위, cell_m=2)` 이어 붙여 `models_plan/dtm_sheet_laplace.npz`(꼴 그대로 · 열쇠 = 값 지문) · 0차곡 누적 = `storage/_shared/terrain/<도엽>/zero_acc__2m.npz`(uint16 · ix0 · iy0 · 열쇠 = 쓴 도엽 지형 열쇠 · 없는 이웃 = 출구) · `D03_PlanAnalysis_ZeroOrder.sheet_accumulation(도엽, epsg)` +- [x] 608-1 D 지형 받기 = 범위 통째 DEM 걷고 공용 창고 도엽 이어 붙임 — `D03_PlanAnalysis_Terrain.py` · 확인 = 시험 530_1 · 569_1 · 받기 시간 전후(검증 D) · 급경사 · 음영 그대로 + - 검증완료 — 시험 530_1 · 569_1 · 603 · 607 · typecheck 0 · 용화 처음 진입 옛 45.4 s → 67.7 s(창고 새 도엽 2매 함께 셈 · 차례 셈 133.4 s) · 두 번째 0.1 s · 2 km 밖 범위 늘림 85.4 → 55.1 s · 급경사 ≥ 60 % 60.64 → 61.28 % · ORCA 위치 칸 서클 「지형 65%」 · 범위 되돌림 +- [x] 608-2 0차곡 흐름누적 = 도엽별 공용(여유 200 m · 누적 값 저장) — `D03_PlanAnalysis_ZeroOrder.py` · 확인 = 시험 584_1 · 통째 대 조각 차 0 + - 검증완료 — 시험 584_1 · 새 608 · 0차곡 통째 대 조각 칸 차 0(도엽 둘 · 0차곡 109,952 칸) · 가닥 1357 → 1440 · 길이 67.3 → 69.3 km · 첫 셈 10.6 s(도엽 누적 둘) · 임계 바꿈 3.0 → 0.8 s + +## 610 E07 광역 = 공용 지형 · 미리 계산 (요구 487 · 488 · 승인 대기 · 요구서_486) + +- 정함(브레인): 요구서_486 3장 2 · 3 · LAS 안 씀 · 여유 400 m · 기본 물성 안정 지수 미리 · 물성 바꾸면 칸 계산만 · 607-2 뒤. +- 사용자 확정: E07 도 전국 지형으로 미리(요구 487 · 488). +- [x] 610-1 E07 경사 · D∞ · 집수 면적 = 도엽별 공용 · 안정 지수 = 기본 물성으로 미리 · 물성 바꿈 = 칸 계산 — `E07_StabArea_Engine.py` · `Router.py` · 확인 = E07 시험 · 위쪽 유역 잘림 없음 · 물성 바꿈 시간 + - 이음: 창고 도엽 폴더 `e07__<격자>m.npz`(slope · a · ix0 · iy0 · 열쇠 json) · `e07si_…npz`(기본 물성 SI) — `E07_StabArea/E07_StabArea_Sheet.py` `load_area(epsg, box, cell_m, defaults)` + - 검증완료 — 시험 536_2 · 610_1 · 534_3 28 통과 · typecheck 0 · 검증_sub5_E 처음 625.5 s(5176 도엽 지형 12 장 새로) · 두 번째 0.52 s · 물성 바꿈(c 6) 0.74 s · 띠 안 a 상위 1 % 가운데 94 → 43,933 m(잘림 없음) · 지형 있는 띠 178,784 → 236,640 m² · 위험(SI<1) 10.8 → 12.7 % · 측점 높음 10 → 14 · 높이 차(등고선 − LAS) 가운데 +2.3 m · ORCA E07 그대로 +