Files
Pier_v1/pierzainer_ground/README.md
T

6.2 KiB

Pierzainer Ground

AI 연결 없이 종평면도와 교각 Excel에서 지반면 JSON을 생성합니다. 운곡교는 첫 번째 자료, 산외교는 두 번째 자료이며 기존 최종 결과를 유지합니다.

일반 실행 — 두 파일만 선택

  1. 지반모델링 프로그램 실행.bat 실행
  2. 종평면도 DXF/DWG 선택
  3. 교각 Excel 선택
  4. 지반 모델 자동 생성 클릭

새 화면 제목은 도면 + Excel 자동 생성 v2 입니다. 이전 화면이 열려 있으면 닫고 다시 실행하세요. EPSG·블록명·축 방향·레이어·설정 파일을 사용자가 입력할 필요가 없습니다. 결과는 data/output/drawing_도면명/에 자동 저장됩니다.

  • ground_model.json: 실제 지반면·교각·출처·지도 처리 상태 (지도 취득 실패 시)
  • ground_model_3d_with_maps.json: 실제 위성사진·2D 지도까지 포함됐을 때 생성
  • generation_settings.json: 프로그램이 자동 결정한 처리 조건 기록 (입력할 필요 없음)
  • cache/: 원본 DWG 변환본과 실제 지도 이미지. 같은 입력의 반복 처리에 사용

이전에 지도 없는 ground_model.json이 생성되어 있으면, 같은 두 입력의 지도 생성 성공 후 그 파일도 지도 포함 결과로 갱신합니다. 이전 파일명을 열어서 오래된 지도 없는 결과를 보는 일을 방지합니다.

자동 처리 과정

종평면도 + 교각 Excel
  → Excel IP1/IP3 중점으로 교각 중심 계산
  → 도면의 지형 블록과 CAD 축 후보 비교
  → 각 교각 위치에서 실측 표고점·등고선 TIN이 유효한지 확인
  → 일치하는 지형으로 고저차가 있는 지반 격자 생성
  → 원본 좌표계 / 동일 원본의 기존 처리 이력 확인
  → 정보 없음: 프로젝트 기본 EPSG:5186 적용 및 가정 상태 기록
  → 실제 위성사진/2D 지도 취득·결합

교각 문자 삽입점을 교각 중심으로 사용하거나 좌표를 임의 평행이동하지 않습니다. 표고 0의 단순 CAD 선과 구조용 3D 선을 지형으로 자동 채택하지 않습니다. 자료가 없는 영역과 긴 TIN 삼각형은 null입니다. 서로 다른 표고의 지형 원본이 중복되어 자동 판별할 수 없으면 원자료 문제를 표시합니다.

모델 좌표는 X=북(N), Y=동(E), 단위 m입니다. CAD x/y 순서는 실제 교각 좌표와 지형 TIN의 일치를 대조해 결정합니다. 거리·표고는 m, 구조 치수는 기존 스키마의 mm 규약입니다.

지도 처리

지도 좌표계는 도면 GEODATA/WKT, 도면·Excel의 명시된 EPSG 또는 동일 원본 해시로 확인한 기존 처리 규약을 우선합니다. 이전에 사용자가 지정한 좌표계도 두 입력의 해시가 동일할 때만 재사용합니다 (data/input/coordinate_references.json). 정보가 없는 다른 종평면도는 data/input/map_defaults.json의 EPSG:5186을 기본값으로 적용하여 지도도 포함합니다. 이는 원본에서 확인된 좌표계가 아니라 프로젝트의 매핑 가정입니다. 이 경우 crs_assumed=true, crs_status=project_default_not_source_verified로 기록하고 화면에 표시합니다. 산외교처럼 기존 원본 규약이 EPSG:5187인 자료는 이 기본값으로 덮어쓰지 않습니다. 동일 원본의 기존 규약을 재사용한 경우에도 기존의 추정/검증 상태를 보존합니다. 확인된 좌표계의 기존 실제 이미지 캐시를 우선 사용하며, 새 지도 취득은 OSM/Esri 인터넷을 사용합니다. 타일 요청으로 해당 위치 지역이 지도 서비스에 전달됩니다. AI/API 키는 필요 없습니다.

map_status.status는 다음과 같습니다.

상태 의미
mapped 위성사진과 2D 지도가 실제 이미지로 포함됨
unresolved_crs 원본 두 파일에서 지도 좌표계를 확정할 수 없음. 지반면 생성은 완료
image_unavailable 지반면 생성 완료, 지도 이미지 취득 실패
not_requested 코드에서 지도 생성을 요청하지 않음

지도 다운로드가 실패해도 지반 생성 전체를 실패로 처리하지 않습니다. 좌표계 기본값이 실제 도면 좌표계와 다른 경우 지도 위치가 어긋날 수 있습니다. 지도는 위치 확인용 배경이며 공인 측량 정확도를 보장하지 않습니다.

기존 운곡교·산외교 재생성

지반 JSON 생성.bat 또는 아래 명령은 기존 두 교량의 보존된 조건을 그대로 재현합니다.

.venv/Scripts/python.exe -B build_ground_models.py --bridge all

최종 파일은 각각 data/output/ungok/ground_model_3d_with_maps.json, data/output/sanwoe/ground_model_3d_with_maps.json입니다. 운곡교는 최초 지형 DXF가 없어 보존한 실제 지반면을 재사용합니다. 산외교는 동일 원본의 EPSG:5183 → EPSG:5187 처리 규약을 재사용하며, 이 좌표계는 기존에 위치를 대조한 가정입니다.

유지하는 구조

pierzainer_ground/는 실제 실행 소스, data/input/ungok·sanwoe는 원본과 기존 데이터, data/cache/는 실제 지도 이미지, data/output/은 최종 결과입니다. .venv/와 tools/libredwg/는 실행 의존성이며 .backup/의 ZIP 하나는 정리 전 복구 자료입니다. 검증 스크립트·비교 보고서·임시 출력 폴더는 유지하지 않습니다. 설치된 환경이 없으면 pip install -r requirements.txt로 의존성을 설치합니다.

확인된 결과

  • 기존 운곡교: 교각 6개 / 유효 지반 격자 1,759개 / 위성사진·2D 지도
  • 기존 산외교: 교각 7개 / 유효 지반 격자 10,626개 / 위성사진·2D 지도
  • 옥성교: 실제 XR_현황 블록 / 교각 6개 / 여백 100 m·격자 5 m에서 유효 격자 2,344개
  • 옥성교: 이전에 사용자가 선택한 EPSG:5186을 적용하여 실제 OSM 2D 지도와 Esri 위성사진 포함 생성 완료. 좌표계는 user_selected_unverified로 기록합니다.

원본 도면과 최종 두 교량 결과는 검증 없이 삭제하거나 덮어쓰지 않습니다. 모든 작업 결과는 pierzainer_ground 내부에 저장합니다.