This repo generates DTM (Digital Terrain Model) from DSM (Digital Surface Model).
Note: We are unable to install Saga as part of the dependency, as it is not avilable on PyPI or conda. 
To install saga_cmd - sudo apt update; sudo apt install saga
conda install -c conda-forge dsm2dtm These step are for Linux. This will differ a bit for MacOS and windows.
# Step 1: Clone the repo
% git clone https://github.com/seedlit/dsm2dtm.git
# Step 2: Move in the folder
% cd dsm2dtm
# Step 3: Create a virtual environment
% python3 -m venv venv
# Step 4: Activate the environment
% source venv/bin/activate
# Step 5: Install requirements
% pip install -r requirements.txt
# Step 6: Install saga_cmd
% sudo apt update
% sudo apt install sagaRun the script dsm2dtm.py and pass the dsm path as argument.
python dsm2dtm.py --dsm data/sample_dsm.tifDSM was derived from this point cloud data

- Add tests and coverage
 - Add poetry (with separate dependencies for dev: black, isort, pyest, etc.)
 - Add pre-commit hooks (isort, black, mypy)
 - Add documentation
 - Move test file(s) to remote server OR use gitlfs OR use fake-geo-images
 - Reduce I/O by passing rasterio object instead of raster path
 - Add exception handling
 - use SAGA python API instead of command line ineterface (saga_cmd)
 - upsample generated DTM if the source DSM was downsampled
 - setup docker-compose (and maybe expose as FastAPI app?)
 

