auto: 2026-07-26 18:47 (ESD_LAPTOP)

This commit is contained in:
2026-07-26 18:47:46 +09:00
parent d38e9fbdf2
commit b70a3b4bd8
+39
View File
@@ -283,6 +283,45 @@ def run_surface_analysis(
)
except Exception as exc:
logger.warning("B04 국가 GIS 벡터 다운로드 실패: %s", exc)
# 3-3. 1:5,000 수치지형도 도엽 3x3(9매) 확보 → 프로젝트 영구저장소
# (실패해도 분석은 계속 — 폴백은 수동 다운로드 + 인제스트)
_report(92, "download_maps", "수치지형도 도엽 확보 중")
try:
from pyproj import Transformer
from B04_wf1_Surface.B04_wf1_Surface_Engine_MapSheet import (
latlon_to_sheet5k,
neighbors_3x3,
)
from B04_wf1_Surface.B04_wf1_Surface_Engine_SheetStore import (
ensure_sheets,
get_project_map_sheets_dir,
)
from B04_wf1_Surface.B04_wf1_Surface_Engine_VWorld import get_epsg_from_prj
src_epsg = "EPSG:5186"
if prj_path.exists():
src_epsg = get_epsg_from_prj(prj_path.read_text(encoding="utf-8", errors="ignore"))
transformer = Transformer.from_crs(src_epsg, "EPSG:4326", always_xy=True)
center_lon, center_lat = transformer.transform(
(bounds_dict_for_download["x"][0] + bounds_dict_for_download["x"][1]) / 2.0,
(bounds_dict_for_download["y"][0] + bounds_dict_for_download["y"][1]) / 2.0,
)
step_started = time.monotonic()
sheet_result = ensure_sheets(
get_project_map_sheets_dir(project_root),
neighbors_3x3(latlon_to_sheet5k(center_lat, center_lon)),
)
if sheet_result["failed"]:
logger.warning("B04 수치지형도 도엽 일부 확보 실패: %s", sheet_result["failed"])
logger.info(
"B04 수치지형도 도엽 확보 완료: %d매 (%.1fs)",
len(sheet_result["available"]),
time.monotonic() - step_started,
)
except Exception as exc:
logger.warning("B04 수치지형도 도엽 확보 실패: %s", exc)
except Exception as exc:
logger.warning("B04 지도·GIS 다운로드 단계 실패: %s", exc)