Files
Aislo/B05_wf2_Route
eomsangdonandClaude Fable 5 445f51bbcb feat(B05): 흐름 방향을 등고선 하강 방식으로 교체 (TIN 보간 폐기)
영구저장소 데이터를 오프라인 재현해 원인을 특정한 뒤 방식을 바꿨다.

진단 (실데이터 536,708셀, 저장본과 정확히 일치 재현)
- 파랑 셀 365,303개의 사슬 종료 사유가 100% 싱크. 영역 이탈 0%.
- 싱크 3,974개의 표고가 전부 5의 배수(600.0/765.0/585.0) = 등고선 값.
- 원인: 등고선 TIN 보간이 만든 평탄면을 EDT 로 해소할 때 가장 가까운
  비평탄 셀을 출구로 삼는데, 그게 오르막이면 물이 나갈 수 없어 싱크로 남는다.
  싱크 하나가 상류 유역 전체를 삼켰다(최대 10,171셀).
- 화살표(기울기 32방위)와 추적(D8)이 서로 달라 2,055셀에서 어긋났다.

교체 방식 — Watershed_Descent.py 신설
  1. 등고선을 격자에 직접 굽는다(보간면을 만들지 않는다)
  2. 셀마다 가장 가까운 등고 라인의 표고를 밴드로 삼는다
  3. 높은 밴드부터 내려오며 한 단 낮은 등고 라인까지 거리를 잰다
  4. 위치에너지 = 밴드 순위 x 큰 수 + 그 거리
  5. 수신 셀 = 위치에너지가 더 낮은 8이웃 중 화살표 방향에 가장 가까운 셀

위치에너지가 흐름을 따라 반드시 감소하므로 웅덩이도 순환도 원리적으로
생기지 않는다 — 채움/평탄해소 자체가 불필요해졌다. 수신 셀을 화살표에서
고르므로 화면 화살표와 실제 경로가 항상 일치한다.

실측 (같은 데이터)
              적색            파랑           싱크    화살표=경로
  TIN 방식    171,405 (32%)  365,303 (68%)  3,974   불일치 2,055셀
  등고선 하강 424,193 (79%)  112,515 (21%)  15,911  일치 100%, 불일치 0셀

부수 수정
- 최하단 밴드 셀을 무효가 아닌 정지 셀로 남겨 도로/세류면 적색으로 잡히게 함
- 저장에 receiver / band_elevation 추가 (사후에 사슬을 다시 따라갈 수 있게)
- manifest 에 row_spans 가 통째로 들어가 110KB 가 되던 것 정리

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 19:23:33 +09:00
..
2026-07-18 18:31:21 +09:00
2026-07-05 21:27:23 +09:00
2026-07-18 14:47:48 +09:00
2026-07-25 08:16:43 +09:00
2026-07-25 08:16:43 +09:00
2026-07-24 20:47:22 +09:00
2026-07-24 18:13:11 +09:00
2026-07-25 11:15:41 +09:00
2026-07-25 10:01:55 +09:00
2026-07-23 19:44:19 +09:00
2026-07-25 14:21:12 +09:00
2026-07-19 13:08:34 +09:00