33 lines
2.2 KiB
Markdown
33 lines
2.2 KiB
Markdown
# Repository Guidelines
|
|
|
|
## Project Structure & Module Organization
|
|
- `raw_dgm1/`: source DGM1 tiles (`.tif` + `.tfw`) named `dgm1_<utm_zone>_<easting>_<northing>.tif`.
|
|
- `work/`: transient artifacts such as `dgm.vrt` and intermediate `_tmp.tif` files; safe to regenerate.
|
|
- `export_unity/`: delivery assets; `height_png16/` holds 16-bit heightmaps, `tile_index.csv` maps tile IDs to world bounds and global min/max.
|
|
- `export_heightmaps.py`: main Python pipeline that mosaics the VRT, rescales to UInt16, and writes Unity-friendly tiles.
|
|
|
|
## Build, Test, and Development Commands
|
|
- Create/refresh VRT (run in repo root):
|
|
`gdalbuildvrt work/dgm.vrt raw_dgm1/*.tif`
|
|
- Export Unity-ready heightmaps and manifest:
|
|
`python3 export_heightmaps.py`
|
|
- Inspect a tile for sanity (optional spot check):
|
|
`gdalinfo export_unity/height_png16/dgm1_32_328_5511.png | head`
|
|
- Dependencies: GDAL with Python bindings (`osgeo`) available on PATH/PYTHONPATH.
|
|
|
|
## Coding Style & Naming Conventions
|
|
- Python: 4-space indentation, snake_case identifiers, and module-level constants for tunables (e.g., `TILE_SIZE_M`, `OUT_RES`).
|
|
- Keep tile IDs stable and lower_snake_case to align with file naming and manifest entries.
|
|
- Prefer small, composable functions if extending the pipeline; keep GDAL options explicit.
|
|
|
|
## Testing & Validation
|
|
- No formal test suite yet; validate changes by re-running `export_heightmaps.py` on a small subset and diffing outputs.
|
|
- For correctness, compare `gdalinfo` stats of regenerated PNGs against expectations and spot-check manifest bounds.
|
|
- When altering scaling or bounds logic, document rationale in comments and update an example command in this guide if needed.
|
|
|
|
## Commit & Pull Request Guidelines
|
|
- Use short, imperative commit messages (e.g., “add resampling flag”, “document export flow”); follow existing history style.
|
|
- PRs should summarize scope, list commands executed (`gdalbuildvrt`, `export_heightmaps.py`), and call out data changes or new dependencies.
|
|
- Avoid committing large raw datasets if not required; prefer documenting download steps or using `.gitignore` for temporary exports.
|
|
- Include screenshots or brief notes when changes affect Unity import workflows or manifest formats.
|