knowledge(계획): PLAN 607 · 623~626 · 625-5 · 631 · 633 이관 — 끝난 절 docs/raw/plans 로 · PLAN 에는 621 · 632 만
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015uTVHDcYVshd8kicU5oARJ
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
# PLAN 607 이관 — 공용 지형 창고 · 전국 등고선 → 도엽 지형 · 지형 계산 흠 둘(요구 486~490)
|
||||
|
||||
## 607 공용 지형 창고 — 전국 등고선 → 도엽 지형 · 지형 계산 흠 둘 (요구 486~490 · 승인 대기 · 요구서_486)
|
||||
|
||||
- 정함(브레인): 요구서_486 3장 1~5 · 7 · ⚠ B 그룹 완료 — B04 · B05 도엽 등고선 읽기 · 바꾸는 코드(SheetSurface · SheetParser · SheetStore · Watershed) 안 고침 · 흠 고친 지형 계산은 새 공용 모듈에(B 는 옛 코드 그대로 · 요구 491).
|
||||
- 사용자 확정: 원천 = 전국 등고선 파일 · 도엽 = 빠진 곳만 · 느려도 됨 · 23 GB = 정션 · 갱신 = 사용자(요구 490).
|
||||
- 이음(607-2 꼴 · 608 · 610 이 씀): `common_util/common_util_terrain_store.py` `load_terrain(epsg:int, *, sheets:list[str]|None=None, box:(x0,y0,x1,y1)|None=None, cell_m=2.0, on_progress:(pct:int, stage:str)->None|None=None)` → dict `x`·`y`(셀 중심 · 오름차순) · `z`(float32 (ny,nx) · NaN = 없음) · `valid_mask` · `cell_m` · `epsg` · `sheets` · `computed`(새로 셈 도엽) · `failed`({도엽: 까닭}) · box 주면 그 상자 안 셀만 · 격자 원점 = 좌표 cell_m 배수 · 도엽 하나 = `ensure_sheet_terrain(sheet_no, epsg, cell_m=2.0, on_progress=None)` → npz 경로 또는 None · 상자 → 도엽 = `sheets_for_box(box, epsg)` · 흠 고친 계산 = `common_util/common_util_terrain_surface.py` `build_contour_surface(spec, a, b, z)`(선분 끝 a·b · 높이 z) → (R,C) 북쪽 첫 행 · `surface_grid(spec, surface)` → x·y·z·valid_mask
|
||||
- [x] 607-1 흠 고친 지형 계산 = 새 공용 모듈(B04 `SheetSurface.py:268` 굽기 방향 · `:311 · 319-327` 고리 둘레 채움을 고친 판 · B 파일은 안 고침) · 확인 = 같은 선 뒤집어도 차 0 · 9 m 뒤집힘 0 · B 시험 그대로 통과(B 바뀜 0)
|
||||
- 검증완료 — 시험 test_607 6 통과 · 용화 074 선 뒤집어도 굽은 칸 · 지형 차 0.0 · 용화 넷 조각 대 통째 최대 0.003 m(1 cm 넘는 칸 0 · 옛 판 9.00 m 뒤집힘 없음) · 옛 B 계산과 차 평균 0.15 · 95 % 0.74 · 최대 9.0 m(보고만) · B 시험 64 그대로 · B 바뀜 0 · typecheck 0 · 7ce1841e2
|
||||
- [x] 607-2 공용 창고 `storage/_shared/terrain/<도엽>/` — 전국 등고선 + 여유 200 m → 2 m 지형(처음 쓸 때 · 열쇠 = 원천 지문 + 방식 판) · 읽기 함수(도엽 목록 → 이어 붙인 격자) — 새 공용 모듈 · 확인 = 도엽 넷 통째 대 조각 차 0 · 두 번째 읽기 즉시
|
||||
- 검증완료 — 처음 셈 용화 넷 60.7 · 47.7 · 48.9 · 50.9 s · 상주 36712089 39.0 s · 두 번째 읽기 넷 이어 붙임 0.17 s · 하나 0.07 s · 창고 도엽당 4.2~4.6 MB · 같이 세 번 불러 한 번 셈(시험) · 전국 파일 바뀌면 다시 셈(시험)
|
||||
- [x] 607-3 빠진 곳(전국 파일에 등고선 없는 도엽) = 도엽 zip 받아 같은 창고 · 받는 동안 서클 · 늦게 보여도 됨 · 확인 = 섬 도엽 하나(연평 등) 받기 · 화면 표시
|
||||
- 검증완료 — 섬 셋(연평 37507039 · 대청 · 백령) 브이월드에도 1:5,000 없음(검색 0 · 이웃 8 장도 0) → 빈 도엽 표시 · 다시 안 받음 · 아는 도엽(074)을 zip 길로 강제 = 9 장 받기 + 셈 62 s · 진행 % · 단계 글 · 전국 판과 차 평균 0.0009 m · 받기 실패는 저장 안 함(시험) · 화면 표시는 608 몫
|
||||
- [x] 607-4 정션 — 랩탑 작업 폴더 여덟 = 파일 링크 · 데스크탑 메인 = 21.6 GB 한 벌 · 데스크탑 서브 = 링크
|
||||
- 검증완료 — 11-01 데스크탑 메인 national_contours.gpkg 21.6 GB · sub_desktop_1 SymbolicLink · git 무시
|
||||
@@ -0,0 +1,44 @@
|
||||
# PLAN 623~626 · 625-5 이관 — 지도 일원화 · 노선 긋기 · 노선추천 미리보기 · 620 고침 · − 노드 색(요구 530 · 531 · 535 · 536 · 540)
|
||||
|
||||
## 623~626 지도 일원화 · 노선 긋기 · 노선추천 미리보기 · 620 고침 (요구 530 · 531 승인 · 진행)
|
||||
|
||||
- 사용자 확정(요구 531): 요구서 530 4장 결정 거리 전부 권함대로(A①~⑩ · B1~B9 · D1~D10 · E1).
|
||||
- 1 물결: sub1 624-1 · sub2 623 → 626-2 · sub3 624-2(`D03_PlanAnalysis_UI_Map.ts` 는 625-1 뒤) · sub4 625-1 → 625-2 / 2 물결: 624-3 · 626-1 → 626-3 · 624-4.
|
||||
|
||||
- 요구서 `docs/raw/요구_1025/요구서_530_지도일원화_노선긋기_노선추천.md`(1장 요구 · 3장 정함 · 4장 결정 거리 A①~⑩ · B1~B9 · D1~D10 · E1 · 5장 단계 · 창 · 6장 지킴).
|
||||
- [x] 623 620 고침 — 새 관 기본값에서 집수정이면 `inlet_revet_*` 안 채움(E1) · 시험 기대값
|
||||
- 검증완료 — 새 자동 관 폼 왕복 차 0(지워짐 · 더함 · 바뀜 0 · Φ800 · 1000 · 1200) · 동물이동형 "true" · 관경 수 1000 · 시험 623 · b05_new_structure_defaults · 211_1 · 494_2 · 173_7 · facility_options_merge · drainage_recommend 통과 · 77a769776
|
||||
- [x] 624-1 서버 — D03 겹 길 임도 프로젝트도 · 지형 원천 인자 · 지적도 파일 덮어씀 막기
|
||||
- 검증완료 — 새 시험 7 · D03 겹 시험 142 통과 · typecheck 0 · 실측(B 검증_sub1 · D 검증_sub1_D · 8001) 급경사 B 0.05 s(lidar) · 0.71 s(sheet 첫 셈) · D 0.11 s · 0차곡 B lidar 0.92 s(21 가닥) · B sheet 9.2 s(첫 셈) · D 0.33 s(1440 · 전후 같음) · 보호구역 B 0.75 s · D 0.20 s · 지적 B 0.71 s(113) · D 0.30 s(63) · B04 지적도 파일 안 바뀜 · D lidar 404
|
||||
- 이음(624-2 · 624-3) — 겹 길 = 종류 안 가림 · `/plan/layers/raster` · `/zero-order` 에 `terrain=sheet|lidar|design`(빈 값 = design · D 는 sheet · B 는 설계 지형) · 응답 `source`(raster = `X-Plan-Raster` 머리 · hillshade · zero-order = 몸) · 없는 원천 404 · 틀린 값 400 · 받은 겹 자리 = `D03_PlanAnalysis/layers/` · B 에서 띠(`bands`) · 올린 임도망도(`forest-roads` = B 400)는 목록에서 빼는 화면 몫(A⑨)
|
||||
- [x] 624-2 공용 지도 부품(도구줄 표 · 겹 목록 · 범례 · 지형 칩 · 새 공용 폴더)
|
||||
- 쓰는 법 — 폴더 `A00_Common/map/`: 겹 목록 · 페이지 표 `map_layer_list`(`MAP_LAYER_PAGES` d03 · b05) · GL 꼴 `mapLayerSpecs(light, pick)`(`map_layer_specs`) · 겹 줄 `createMapLayerBar({ page, glOn, onToggle, onGl })` · 범례 `createMapLegend(class).show(rows, tail)` + `tileLegendRows(on)` · 도구줄 `createMapTools({ groups: mapToolGroups(page, parts) })`(`map_toolbar`) · 지형 칩 `createTerrainChip({ page, value, have, onChange })`(값 = 서버 `terrain=` 의 `sheet` · `lidar`) · 받기(fetch) · 받은 자료 범례 줄은 아직 D03(`UI_Layers` · `UI_LayerLegend`)
|
||||
- 검증완료 — typecheck 0 · 시험 96(새 test_624_2_map_parts 4) · 검증_sub3_D 전후 대조(옛 코드 대 새 코드 · 겹 23 모두 켬 · 모두 끔 · 옛 캔버스 · 어두움): 겹 줄 · 범례 · 켬끔 · GL 42 겹 그린 수 · 받은 수 같음(다른 것 = 급경사 칠 ms) · 화면 차 = 오른쪽 위 지형 칩 자리만 · UI_Layers 683 → 639 줄 · UI_MapGl 423 → 115 줄 · ORCA 도구줄 열 칸 + 칩(수치지형도 고름 · 라이다 막힘) (b96479fd7 · 6c25b864a · 검증 대기)
|
||||
- [x] 624-3 B05 평면에 붙이기(띠 = 등고선 · 하천만)
|
||||
- 검증완료 — typecheck 0 · 고친 대상 시험 579 통과(새 test_624_3 4 · 낡은 시험 19 고침 · test_298_3 6 = 전부터 깨짐 · helper 에 design_pipeline_page 가짜 없음) · 검증_sub3 headless + ORCA: 도구줄 15칸(표 b05) + 겹 줄 21+GL · 처음 = 등고선 · 하천 · 둘째 GL 칸 없음 → 위성 · 지적 켬 = 안 자른 둘째 칸(맨 밑 · 지적 20 · 위성 1) · B05 칸만 띠 자름 · 등고선 끔 = 선 · 글 숨김 · 옛 캔버스 = 둘째 칸 0 · 겹 막힘 · 어두움 정상 · [저장] 전후 노선 · 노드 · 곡선 · 구조물 · initial_snapshot · route_recommend 지문 같음 (c6a1efad0 · 99ec4b8ef · 검증 대기)
|
||||
- [x] 624-4 D03 라이다(D 프로젝트 LAS 올리기 · 지형 칩)
|
||||
- 검증완료 — 새 시험 4 · 둘레 시험 64 통과(624-1 · B04 전처리 343 · D03 겹 569 · 603 · 608 · 616) · typecheck 0 · 실측(검증_sub1_D · 8001 · 용화 LAS 200×150 m 590 만 점 · 베셀 5176 → 5187 옮김) 올리기 2.3 s · 지형 30.5 s · lidar 급경사 0.10 s · 음영 0.11 s · 0차곡 첫 0.87 s(8 가닥) · 다시 0.06 s · 높이 격자 0.06 s · 수치지형도 겹 전과 같음(0차곡 1440) · B 프로젝트 · 틀린 파일 400 · 화면 칩 잇기는 624-2 push 뒤
|
||||
- 이음(624-2 지형 칩) — `POST /api/projects/{id}/plan/lidar`(multipart `files` = LAS · LAZ + .prj 하나 · 예정노선만 · 다시 올리면 갈음) → 뒤에서 지형(진행 = `/plan/progress` 의 `lidar`) · `GET …/plan/lidar` → `{ready · epsg · files · source_filter · point_count · bounds}` · 끝나면 `terrain=lidar` 겹 길 됨 · 높이 격자 = `surface_models` 행(경로 `B04_PreProcess/lidar/…`) · LAS 좌표계 다르면 서버가 옮김 · 범위 밖 = 빈칸
|
||||
- [x] 625-1 예정노선 긋기 작은 고침(기본값 길이+기울기 · 버튼 자유지정 오른쪽 · Tab · 숨김 · 「자유지정」)
|
||||
- 검증완료 — ORCA 검증_sub4_D: 처음 방식 길이·기울기 고정 · 차례 자유지정/길이·기울기 고정/길이/기울기 · 칸 숨김(자유 0 · 길이 1 · 기울기 1 · 둘 2) · 긋는 중 Tab both↔free · 길이·기울기 단독 → both · 쉴 때 Tab 막지 않음 (5d4737210)
|
||||
- [x] 625-2 부채꼴 · +/− 색 · 정방향 채움 · Shift 사이 기울기 · 완만한 땅 흠
|
||||
- 검증완료 — test_625_draw 10(경사면 노드 4 · 호 2 · ± 짝 · 꽃잎 노드 2/4/6/8 · 정방향 · 완만한 땅 · Shift 실제 지형) · ORCA 검증_sub4_D: 허용 호 2(130–148° 정방향 · 288–311°) · Shift 사이 20.000 m · −0.543 %(실제 지형 같음 · 기록 length) · 호 밖 Shift = +9 % · 놓인 노드 − = #29e0ff · + = #ff9e2c · Esc 로 선 0 · 저장 안 함
|
||||
- [x] 624-4 화면 — 예정노선 지형 칩 라이다 항목 + LAS 올리기 단추(서버 길 = PLAN 624-4 이음 · 626-1 뒤 · `A00_Common/map/map_terrain_chip.ts` 겹침 피함)
|
||||
- 검증완료 — typecheck 0 · 시험 92(새 test_624_4b 4 · 낡은 글 대조 475 · 624_2 고침) · ORCA 검증_sub1_D(8001 · 5174): 라이다 고름 0.35 s 에 급경사 · 음영 · 0차곡 응답 source = lidar(0차곡 1440 → 8 · 급경사 상자 2 km → 201×151 m) · 수치지형도로 1.5 s · 높이 A–B 기울기 −6.32 → −7.99 % · 라이다 범위 밖 높이 빈칸 · 다시 읽기 = 라이다 되살림 · LAS 없음 흉내(GET ready 거짓) = 「라이다」 숨김 + [LAS 올리기] · 원천 수치지형도 · 끝에 수치지형도 · 겹 끔 · 세션 비움 되돌림 · 실제 올리기는 안 함(LAS 그대로) (92fdf334b · 검증 대기)
|
||||
- 이음 — 공용 겹 받기 `fetchPlanRaster(id, kind, terrain?)` · `fetchPlanZeroOrder(id, terrain?)`(`map_layer_api` · 안 넘김 = 옛 그대로) · 칩 안은 그대로(예정노선이 `onChange` · `setHave` 를 씀) · 고른 원천 = 세션 `d03-terrain`
|
||||
- [x] 626-1 노선추천 → 아이콘 드롭다운(저장본 선만) · [적용] 걷음 · 지형 바꿈 = 지형 칩
|
||||
- 검증완료 — test_626_1 5 · ORCA 검증_sub3: 드롭다운 넷 각각 선 187 · 197 · 195 · 197 점 · 하나만(✓ 1) · 끔 = 0 · 저장본 지문 같음 · 지형 칩 라이다 → 수치지형도(확인창 · 22 s · 새 route_id · 시점 지반고 879.138 → 878.051) → 라이다 되돌림(879.138) · 노선 · 노드 · 곡선 · 구조물 · 예정노선 · initial_snapshot · route_recommend 지문 전후 같음 (99ec4b8ef · 검증 대기)
|
||||
- 이음(626-3) — 추천 보기 `B05_Profile_UI_RouteEdit_RecPreview` · 지형 칩 `_Terrain` · 서버 `POST /route/design-terrain {terrain}`(`Router_TerrainSwitch`) · 장면 다시 그리기 `chrome.onRedraw` · 그리기 덧 `scene.underRoute` · 부품 `createPickMenu` · RouteEdit.ts 684 줄
|
||||
- [x] 626-2 서버 `POST /route/follow` · `expected_route_edit.csv`
|
||||
- 이음(626-3) — `POST /api/projects/{id}/route/follow` 본문 `{points: [[x, y]…], crs: "tm"|"lonlat"}` → `{planned · nodes · curves · node_edits · station_snap · min_radius_m · curve_count · violation_count}`(GET `/route/plan` 칸 이름 · 저장 0) · `RouteDraft.expected`(없음 = 그대로 · [] = 지움 · 점 2 이상 = 씀) → [저장] 때 `B05_Profile/route/expected_route_edit.csv` · GET `/route/plan` 덧칸 `expected_edited` · [초기화] = 지움
|
||||
- 검증완료 — 검증_sub2 B 331점 → 노드 27 · 곡선 25 · 0.38~0.48 s(8004) · 체인 초기선과 같음(거리 0) · 경위도 5 mm · storage 지문 그대로 · 시험 626_2(5) + 노선 저장 · 초기화 13 파일 109 통과 · typecheck 0 · B05 화면 그대로 · fea37b4ce
|
||||
- [x] 625-3 놓은 뒤 노드 +/− 색 안 보임(요구 535-2) — sub1
|
||||
- 검증완료 — 까닭 = 놓인 점 3 px · 테 없음(− 하늘이 민트 노선 선에 묻힘) + 고른 선 흰 네모 손잡이 · 노랑 강조가 덮음 · test_625_draw 11 · 둘레 시험 23 · typecheck 0 · ORCA 검증_sub1_D(5174 · 위성 켬) 길이·기울기 20 m 9 % 넷: 긋는 중 · 끝낸 뒤 · 고른 뒤 점 칠 = #29e0ff ×3(−9 %) · #ff9e2c(+9 %) · 손잡이 테 #ffe94d · 고치기 전 고른 뒤 = #ffffff · 헤드리스 밝음 · 어두움 같음 · 그은 선 지움 · 위성 끔 되돌림 · 저장 안 함 (3de262a4a · 검증 대기)
|
||||
- [x] 625-4 긋는 중 놓인 점이 부채꼴 밑 · [LAS 올리기] 좁은 폭에서 잘림(점검 535-3) — sub1
|
||||
- 검증완료 — 긋는 중 마지막 · 바로 앞 점 부채꼴 · 원 위(ORCA · Playwright) · 도구줄 줄바꿈 1280 · 1497 · 1920 폭 [LAS 올리기] 안 잘림(넘침 0) · test_625_draw 12 통과 · typecheck 0 · 그은 선 되돌림(0 줄)
|
||||
- [x] 626-3 B05 예정노선 그리기(RouteEdit 나눔 · 625 컨테이너) → 편집기 한 걸음 → [저장] · 평면노선 값만 바뀜 지킴 시험 · (요구 535-1) 긋기 · 추가 · 삭제 = 예정노선 페이지와 같음 · 공무원 원본 예정노선 「예정노선(원본)」 겹으로 남겨 보임
|
||||
- 결정 바뀜(요구 535-1 · 536 · 브레인) — D03 긋기 · 고르기 · 우클릭 메뉴 · 속성 판 함수 그대로 한 선(`oneLine` · 노드 끌기 포함 = D10 대신) · 도구줄 「예정노선 변경」 켬끔 · 「예정노선(원본)」 옅은 점선 켬끔(공용 겹 표 대신 도구줄) · 켠 뒤 첫 고침만 확인창 · 놓인 점 = D03 paintNetwork(625-3 paintNodes 합치면 같이)
|
||||
- 검증완료 — typecheck 0 · 시험 515 통과(test_626_3 5 · test_298_3 6 = 전부터) · ORCA 검증_sub4: 속성 판 [다시 긋기] → 확인창 → 재추적 노드 19 → 27 · 노드 끌기 · Delete 노드(확인창 없음) · 되돌리기 2 · 다시 1 · [저장] → 다시 열면 고친 예정노선 332 점(원본 331 그대로) · [초기화] → 원본 · 고친 파일 지움 · 지킴 initial_snapshot · route_recommend · expected_route.csv · planned_route_initial · initial_choice 132 파일 차 0 · 바뀐 것 = 평면(planned_route 넷 · route_main · expected_route_edit) + 따라 다시 셈(종단 · 횡단 중심 좌표 · 관 1 측점만(x·y 같음) · 코리도 · 노선 행) · 시작 판 되돌림 차 0 · D03 판 꼴 전과 같음
|
||||
|
||||
- [x] 625-5 − 노드 색 진한 파랑(요구 540) — sub4
|
||||
- 검증완료 — `--draw-map-slope-down` #29e0ff → #3b6bff(− 노드 전용 토큰) · 민트 선 대비 3.18 : 1 · 검은 테 3.8 : 1 · 어두운 바탕 3.31 : 1 · 밝음 · 어두움 × 바탕 여섯 곳 하위 10 % 3.18 · 시험 20 통과 · typecheck 0 · ORCA 실제 paintFan 픽셀 59,107,255
|
||||
@@ -0,0 +1,14 @@
|
||||
# PLAN 631 · 633 이관 — 급경사 범위 수평 바 · B05 급경사 칸 크기(요구 537 · 538 · 543)
|
||||
|
||||
## 631 급경사 범위 설정 = 수평 바 (요구 537 · 진행)
|
||||
|
||||
- 정함: 칸 사이 경계값 한 번만 · 칸 눌러 색 · 단계 추가(칸 반으로) · 지움(이웃과 합침) · 1~8 단계 · 0 · 250 % 고정 · 결과 꼴(SlopeBand[]) · 그림 · 범례 그대로 · 새 부품 `ui_template_range_bar` · 예정노선 · B05 같은 창.
|
||||
- [x] 631-1 수평 바 창 · 부품 · 시험 — sub3
|
||||
- 검증완료 — test_631 6 · 603 · 552-1 · 624-2 · 624-3 통과 · typecheck 0 · 헤드리스 검증_sub3_D 막음 4(같은 값 · 거꾸로 · 빈 값 · 250) 창 안 닫힘 · 경계 70→60 + 파랑 + 추가 · 지움 → 범례 26.8~60 · 60~83.9 · 지도 674,734 px 바뀜 · 기본값 되돌림 0 px · 8 단계에서 [단계 추가] 막힘 · 넘침 없음(926 px) · 어두움 · ORCA D03 같은 길 범례 넷 · B05 같은 창(경계 26.8 · 70 · 83.9) · 취향 원래대로 (1460ca22f · 검증 대기)
|
||||
|
||||
## 633 B05 급경사 · 음영 · 0차곡 칸 크기 틀림 (요구 538 · 진행)
|
||||
|
||||
- 조사 `docs/raw/요구_1025/_조사_538_B05_급경사_빨강.md` — 평활 라이다 실제 칸 1.078 m · 적힌 칸 0.5 m → 기울기 2.15 배.
|
||||
- [x] 633-1 읽는 쪽 네 곳 좌표 간격으로 칸 · 판 번호 올림 · (조건부) Smooth 쓰는 쪽 — sub2
|
||||
- 검증완료 — 검증_sub2 B 급경사 중앙 146 → 67 % · 빨강 89.4 → 26.7 %(B05 범례 노랑 49.7 · 주황 19.7 · 빨강 26.7) · 0차곡 21 가닥 989 m → 99 가닥 4,110 m · D · B 수치지형도 그림 전후 같음 · B07 도곽 음영 명암 44.4 → 32.3 · 시험 D03 216 · B07 15 통과 · typecheck 0 · a1092b6c7
|
||||
- [x] 633-2 라이다 · 설계 지형 급경사 2 m 다시 표본 = 안 함 · 1 m 그대로(사용자 요구 543)
|
||||
Reference in New Issue
Block a user