Files
Aislo/docs/wiki/concepts/crs_metadata.md
T
eomsangdonandClaude Opus 5 eb30b774f8 chore(docs): docs 폴더 git 추적 전환 · PLAN·OWNERS 최상위 이관
- `docs/` 를 .gitignore 에서 빼 git 추적 대상으로 전환 (위키·완료 이력·검증 기록)
- `docs/raw/PLAN.md` · `docs/raw/OWNERS.md` 를 저장소 최상위로 이동 후 .gitignore 에 등록
  — 창끼리 공유하되 저장소에는 안 올리는 장부
- 살아 있는 경로 참조 7개 파일 정정 (아카이브 107건은 그때 사실이라 그대로 둠)
- graphify 날짜별 산출물(`docs/wiki/graphify-out/20*/`) 제외 — `graphify update` 가 다시 만듦

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 18:19:07 +09:00

41 lines
2.4 KiB
Markdown

---
type: concept
status: stable
related_pages: ["[[B03_FileInput/B03_backend]]", "[[B04_PreProcess/B04_backend]]", "[[dependencies]]", "[[architecture/shared_resources]]"]
last_updated: 2026-08-16
source: ["docs/raw/plans/2026-07-18_plan_crs_normalization.md", "docs/raw/verification/2026-07-18_verify_crs_and_polling_log.md"]
---
# 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 런타임 차이 모니터링