Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C6BNBFXFndbqYxu6sZuknK
2.4 KiB
2.4 KiB
type, status, related_pages, last_updated, source
| type | status | related_pages | last_updated | source | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| concept | stable |
|
2026-08-16 |
|
CRS 메타데이터 정상화
검증된 판정
| 항목 | 위치 | 역할·판정 |
|---|---|---|
normalize_crs_metadata() |
B03_FileInput/B03_FileInput_Engine_Analyze.py |
복합 CRS를 수평·수직 요소로 분리하고 JSON 직렬화 가능한 공통 구조로 정규화 |
epsg |
B03 분석 메타데이터 | 복합 CRS 전체가 아니라 지도 변환에 쓰는 수평 EPSG를 유지; 실제 자료에서 5187 확인 |
horizontal_crs |
B03 분석 메타데이터 | 수평 CRS 식별 결과와 authority 보존 |
vertical_crs |
B03 분석 메타데이터 | KNGeoid24 같은 수직 기준을 수평 CRS와 분리 보존 |
crs_status |
B03 분석 메타데이터 | identified, custom_vertical_crs, unknown_horizontal_crs, missing_crs 구분 |
custom_authority_codes |
B03 분석 메타데이터 | KNGeoid24 WKT의 사설 코드 표식을 파싱용 WKT와 분리해 원문 정보 보존 |
데이터 흐름
| 생산자 | 처리 | 소비자 |
|---|---|---|
| GeoTIFF·PRJ·LAS 업로드 | normalize_crs_metadata() |
input_files 메타데이터 및 B04/B05 좌표 변환 |
| 복합 CRS | 수평 EPSG와 수직 기준 분리 | epsg=5187, vertical_crs=KNGeoid24 형태 |
| 알 수 없는 수평 CRS | 추측하지 않고 epsg=None |
사용자 확인이 필요한 unknown_horizontal_crs 상태 |
검증 범위와 모순 이력
- 실제
result.tif,result.prj,cloud_merged.las로 수평 EPSG 5187과 KNGeoid24 분리 처리가 검증됐다. - 같은 검증보고서에서 B04 status 폴링 로그 제거 방식은 전체 access log를 꺼 부작용이 있어 FAIL이었다.
- 해당 B04 실패는 후속 B04 검증에서
access_log=False롤백과 일반 사용자 진입 가드 방식으로 대체됐다. CRS 정상화 PASS와 B04 폴링 FAIL을 하나의 상태로 합치지 않는다.
사용처
- B03_FileInput/B03_backend — 업로드 파일 메타데이터 분석과 DB 저장
- B04_PreProcess/B04_backend — 지표면·GIS 처리 좌표 기준
- dependencies — Rasterio/Pyproj PROJ 런타임 차이 모니터링