- `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>
52 lines
2.3 KiB
Markdown
52 lines
2.3 KiB
Markdown
# 2026-07-18 Python GIS 의존성 업그레이드 작업 이력
|
|
|
|
## 상태
|
|
|
|
- 완료일: 2026-07-18
|
|
- 결과: NumPy 2.x 및 GIS 스택 업그레이드, Trimesh·Pyogrio 반영, WhiteboxTools 실행 복구 완료
|
|
|
|
## 확정 버전
|
|
|
|
| 패키지 | 작업 전 | 확정 버전 | 처리 결과 |
|
|
|---|---:|---:|---|
|
|
| numpy | 1.26.4 | 2.5.0 | 업그레이드 |
|
|
| scipy | 1.16.3 | 1.18.0 | 업그레이드 |
|
|
| shapely | 2.0.6 | 2.1.2 | 업그레이드 |
|
|
| rasterio | 1.3.9 | 1.5.0 | 업그레이드 |
|
|
| laspy | 2.4.1 | 2.7.0 | 업그레이드 |
|
|
| geopandas | 0.14.0 | 1.1.4 | 업그레이드 |
|
|
| trimesh | 3.23.0 | 4.12.2 | GLB 검증 후 확정 업그레이드 |
|
|
| pyogrio | 없음 | 0.13.0 | 신규 추가 |
|
|
| whitebox | 2.3.0 | 2.3.6 | 업그레이드 |
|
|
| setuptools | 83.0.0 | 83.0.0 | 유지 |
|
|
|
|
## 변경 파일
|
|
|
|
| 파일 | 변경 내용 |
|
|
|---|---|
|
|
| `requirements.txt` | 위 9개 패키지의 확정 핀 반영 및 Pyogrio 추가 |
|
|
| `B05_wf2_Route/B05_wf2_Route_Engine_Skeleton.py` | Whitebox 임시 DEM에 CRS GeoKey를 부여하여 실제 D8 실행 복구 |
|
|
|
|
## WhiteboxTools 해결 내용
|
|
|
|
1. `whitebox==2.3.0`이 제거된 `pkg_resources`를 사용해 `setuptools==83.0.0`에서 생성 실패하던 문제를 `whitebox==2.3.6` 업그레이드로 해결했다.
|
|
2. 최초 실행 시 WhiteboxTools Windows 바이너리를 내려받았고 `WhiteboxTools v2.4.0`의 `version()` 호출을 확인했다.
|
|
3. B05 임시 GeoTIFF에 GeoKey가 없어 실행 바이너리가 중단되던 문제를 `crs="EPSG:3857"` 지정으로 해결했다. 임시 파일은 D8 격자 계산에만 사용되며 결과 산출물로 보존되지 않는다.
|
|
|
|
## 검증 결과
|
|
|
|
| 검증 | 결과 |
|
|
|---|---|
|
|
| `pip install -r requirements.txt` | 전체 의존성 동시 설치 성공 |
|
|
| `pip check` | `No broken requirements found` |
|
|
| 핵심 10개 패키지 import 및 버전 확인 | 통과 |
|
|
| B04 프로젝트 함수 기반 GLB 생성 | 통과, GLB 헤더 확인 |
|
|
| Pyogrio GeoJSON 쓰기·읽기 왕복 | 통과 |
|
|
| B05 Whitebox D8 직접 실행 | 통과, NumPy 폴백 미사용, `max_acc=9.0` |
|
|
| Ruff format/check 및 `py_compile` | 통과 |
|
|
|
|
## 후속 관리
|
|
|
|
- Rasterio와 Pyproj가 서로 다른 PROJ 런타임을 포함하므로 CRS 변환 이상이 재현될 경우 우선 점검한다.
|
|
- Graphify, Ingest, Lint는 별도 AI 작업 범위로 남긴다.
|