Files
Aislo/docs/wiki/pages/B05_wf2_Route/B05_backend.md
T
2026-07-15 18:33:33 +09:00

2.9 KiB

type, status, page_id, related_pages, last_updated, source
type status page_id related_pages last_updated source
page-backend stable B05_wf2_Route
B05_wf2_Route/B05_frontend
B05_wf2_Route/B05_api
B05_wf2_Route/B05_db
B05_wf2_Route/B05_dependencies
2026-07-12 상위 프로젝트 B05_wf2_Route 실 코드 직접 확인 (2026-07-12)

B05_wf2_Route — Backend

요청·응답 모델

항목 위치 역할
RoutePoint / CirclePoint B05_wf2_Route_Schema.py:10,20 BP·EP·CP와 AP·FP 입력 검증
RouteSolveRequest B05_wf2_Route_Schema.py:30 지표면·알고리즘·등급·제약·가중치 검증
RouteSolveResponse B05_wf2_Route_Schema.py:84 route ID·길이·메트릭·GeoJSON 상대경로 응답
RouteConfirmResponse B05_wf2_Route_Schema.py:96 확정 route ID와 confirmed 상태 응답

경로 계산 엔진

항목 위치 역할
run_route_design() B05_wf2_Route_Engine.py:68 입력 모델을 경로 설계 오케스트레이터로 실행
solve_optimal_route() B05_wf2_Route_Engine_Solver.py:278 DTM 격자·비용면·선택 알고리즘 기반 최적화
single_segment_dijkstra() B05_wf2_Route_Engine_Geometry.py:149 단일 구간 격자 Dijkstra 탐색
solve_ridge_valley_route() B05_wf2_Route_Engine_RidgeValley.py:510 ridge-valley 후보와 제약 기반 경로 탐색
load_or_build_skeleton() B05_wf2_Route_Engine_Skeleton.py:275 D8 흐름누적 skeleton 캐시·생성
_build_cost_surface() B05_wf2_Route_Engine_Solver.py:173 경사·곡률·회피영역 기반 비용면 생성
_fillet_alignment() B05_wf2_Route_Engine_RidgeValley.py:406 굴곡부 fillet 정렬·곡선반경 반영

기하·결과 변환

항목 위치 역할
compute_gradients() B05_wf2_Route_Engine_Geometry.py:33 격자 경사 계산
circumradius_2d() B05_wf2_Route_Engine_Geometry.py:52 3점 곡선반경 계산
circle_intrusions() B05_wf2_Route_Engine_Geometry.py:90 회피·금지 원 침범 검사
_route_geojson() / _sample_render_points() B05_wf2_Route_Engine.py:20,32 LineString 저장·렌더링 포인트 변환

라우터·workflow

항목 위치 역할
solve_route() B05_wf2_Route_Router.py:34 계산 실행·DB route/points/statistics 저장·stage 2 완료
confirm_latest_route() B05_wf2_Route_Router.py:137 최신 경로 확정·stage 2 완료·후속 단계 stale 전파
start_stage() / complete_stage() / fail_stage() B05_wf2_Route_Router.py:51,96,112,117,122,128,152 WF2 상태 전이 → ../../concepts/workflow_state

기술부채

항목 위치 역할
700줄 초과 B05_wf2_Route_Engine_RidgeValley.py:1 781줄; ridge-valley 기능 분할 검토
700줄 근접 B05_wf2_Route_Engine_Solver.py:1 654줄; 비용면·최적화 분리 검토