feat(B05): 계획노선 두 벌 + 노선 갈아 끼우기·초기화 서버 경로
노선을 예상노선(원본)·계획노선(수정본) 두 벌로 나눔 (PLAN 0-7 사용자 확정). - 예상노선 정본 `B05_Profile/route/expected_route.csv` 신설 — 자동 체인이 한 번 씀. 초기값 스냅샷 안에도 같은 CSV 가 있으나 그 폴더는 재확정 체인이 지우므로 스냅샷 밖에 한 벌 둠. - 계획노선 수정본 `B05_Profile/route/planned_route.csv` — 설계 계통(`load_design_route`)이 수정본 → 예상노선 → 스냅샷 순으로 읽음. 노선 초기화는 수정본을 지우는 것. - `GET /route/plan` 두 노선 정점 반환(모달이 점선·실선으로 그림). - `POST /route/replan` 고친 노선을 수정본에 쓰고(조밀화) 재확정 체인 재사용 — 배수유역 다시 → 관 새로 → 계획선·종횡단 재생성 → 옛 측점 설계 누가거리 이월. - `POST /route/replan/reset` 수정본 삭제 후 같은 재계산. - 횡단배수 지점은 노선이 바뀌면 저장분을 버리고 새로 계산(사용자 확정). 구조물은 프로젝트 정본이라 옛 측점값 그대로 남음. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -148,6 +148,10 @@ async def run_auto_design_chain(
|
||||
mark_designing,
|
||||
save_initial_snapshot,
|
||||
)
|
||||
from common_util.common_util_route_geometry import (
|
||||
expected_route_csv_path,
|
||||
write_route_csv,
|
||||
)
|
||||
from common_util.common_util_storage import resolve_stored_project_path
|
||||
from common_util.common_util_surface_confirmation import get_surface_confirmation_params
|
||||
from config.config_db import get_db_pool
|
||||
@@ -195,6 +199,12 @@ async def run_auto_design_chain(
|
||||
mark_design_failed(project_root, "계획노선이 없어 초기 노선을 세울 수 없습니다.")
|
||||
return None
|
||||
|
||||
# 2.5) 예상노선(원본) 정본을 남긴다 — 초기값 스냅샷과 달리 재확정 체인이 지우지
|
||||
# 않는 자리라, 노선 초기화가 언제나 이 값으로 돌아갈 수 있다(2026-09-06 PLAN 0-7).
|
||||
expected_path = expected_route_csv_path(project_root)
|
||||
if not expected_path.is_file():
|
||||
write_route_csv(expected_path, points)
|
||||
|
||||
# 3) B05 경로 계산
|
||||
request = RouteSolveRequest(
|
||||
filter_key=str(defaults["source_filter"]),
|
||||
|
||||
Reference in New Issue
Block a user