All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Refactored monolithic
EGMTrans.pyinto an installableegmtransPython package undersrc/egmtrans/. - Replaced module-level global state with
_state.pygetter/setter pattern. - Extracted code into focused modules:
config,crs,interpolation,flattening,io,transform,cli,numba_utils,logging_setup,file_utils,arcpy_compat. - Root-level
EGMTrans.pyis now a thin backward-compatibility shim that re-exports from the package.
pyproject.tomlwith hatchling build system andegmtransconsole entry point.src/egmtrans/__main__.pyforpython -m egmtranssupport.- Comprehensive test suite under
tests/(64 tests covering config, CRS, interpolation, flattening, I/O, CLI, numba utils). EGMTRANS_BASE_PATHenvironment variable to override project root detection.
- No functional changes — all transformation logic is preserved exactly as-is.
- Initial release of EGMTrans.
- Support for vertical datum transformations between WGS84, EGM96, and EGM2008.
- Support for GeoTIFF and DTED file formats.
- Standalone script and ArcGIS Pro toolbox versions.
- Option to keep ocean at 0 elevation.
- Flattening of water bodies and other flat areas.
- Creation of flat masks.