등고선 아크 추적 + 능선 행진 방식이 능선/계곡을 안정적으로 분리하지 못해 D8 물 방향 + 도로 기준 상류 추적 방식으로 교체한다. - 능선을 따로 탐지하지 않는다. 물길을 따라가 도로에 닿는 셀만 유역이고, 그 경계가 곧 능선이다. 유역 내부 봉우리는 자동으로 포함된다. - 등고선 TIN 보간 후 웅덩이 채움(형태학적 재구성) + 평탄면 미세경사로 가짜 웅덩이/평탄 삼각형에서 흐름이 끊기는 문제를 없앤다. - 상류 추적은 포인터 더블링으로 전 셀을 한 번에 푼다. 셀의 흐름 종착 도로 셀(root)이 유역 판정·흐름 강도·세부유역 라벨의 공통 근거가 되어, 관을 옮겨도 격자 해석 없이 측구 라우팅만 다시 돌면 된다(.npz 캐시). - 활성 셀이 격자 최외곽에 닿은 방향으로만 확장하고, 경계 링이 전부 비활성이 되면(띠 폐합) 멈춘다. 변경 사항 - 신규 엔진 3종: Engine_Watershed_Grid / _Flow / _Basin - 폐기 엔진 4종은 _legacy_watershed/ 로 원본 보관(ruff 제외) - config_system.py §5-3-1 에 DRAINAGE_* 파라미터 18개 (격자 1m, 반경 300m) - 표고점 데이터 사용 중단(유효 데이터 부족), 프론트 능선 토글 제거 (전체 유역 외곽선과 같은 선이므로 중복) - 응답에 main_polygon_lonlat / strength_profile 추가, 계획선 위 흐름 강도 표기 합성 지형 검증: 유역 179,919㎡ vs 이론 180,000㎡ (오차 0.04%), 능선 자동 검출, 확장 3회 후 자동 정지, 캐시 재사용 1.2s -> 0.1s Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
_legacy_watershed (보관용, 실행 경로 아님)
2026-07-31 배수유역 전면 재설계로 폐기된 등고선 아크 추적 + 능선 행진 방식 엔진 4종이다. 능선/계곡 분리가 안정적이지 않아 격자 흐름(D8 + 상류 BFS) 방식으로 교체되었다.
| 파일 | 폐기 당시 역할 |
|---|---|
B05_wf2_Route_Engine_Drainage_Watershed.py |
유역 산정 오케스트레이터 (build_watershed_basins) |
B05_wf2_Route_Engine_Watershed_Trace.py |
등고선 아크 인덱싱·분수계 행진 |
B05_wf2_Route_Engine_Watershed_Assemble.py |
아크+능선+도로선 폐합 폴리곤 조립 |
B05_wf2_Route_Engine_Watershed_Subdivide.py |
메인 유역 내부 세부유역 분할 |
주의
- 내용은 이동 당시 그대로이며 수정하지 않는다. 서로를
B05_wf2_Route.B05_wf2_Route_Engine_Watershed_*경로로 import하므로 이 폴더에서는 그대로 실행되지 않는다(의도된 상태 — 참고용 보관). - 현행 엔진:
B05_wf2_Route_Engine_Watershed_Grid.py/_Flow.py/_Basin.py.