Terrain parameters such as slope, aspect, and hillshading are essential in various applications, including agriculture, forestry, and hydrology. However, generating high-resolution terrain parameters is computationally intensive, making it challenging to provide these value-added products to communities in need. We present a scalable workflow called GEOtiled that leverages data partitioning to accelerate the computation of terrain parameters from digital elevation models, while preserving accuracy.
This repository contains the library for all functions used by GEOtiled, and includes a Jupyter Notebook walking through GEOtiled's workflow and core features.
- All work has been developed in Ubuntu 24.04
Note: These have to be installed on your own
Note: These will be installed with GEOtiled
- matplotlib
- setuptools
- geopandas
- notebook
- tabulate
- pandas
- scipy
- wheel
- tqdm
- gdal
Note: Instructions on how to download are given
- Performance Copilot
- libgdal-dev
- SAGA
- Create a new Python virtual environment in a desired directory
Note:
<your_path>
should be replaced with your desired working directory
python3 -m venv <your_path>/geotiled_env
- Activate the new virtual environment
source <your_path>/geotiled_env/bin/activate
- Update pip
pip install --upgrade pip
- Update apt-get
sudo apt-get update
- Install libgdal-dev
sudo apt install libgdal-dev=3.8.4+dfsg-3ubuntu3
- Install SAGA
sudo apt-get install saga
- Install Performance Copilot
sudo apt-get install pcp-zeroconf
- Ensure virutal environment is activated
source <your_path>/geotiled_env/bin/activate
- Clone the repository in a desired working directory
git clone https://github.com/TauferLab/GEOtiled
- Change to the geotiled directory
cd <your_path>/GEOtiled/geotiled
- Install editable library
pip install -e .
The plot_raster()
function may throw the following error:
ImportError: cannot import name '_gdal_array' from 'osgeo'
If so, run the following in the virtual environment to correct the issue:
pip install --no-cache --force-reinstall gdal[numpy]==3.8.4
- Ensure you are in the virtual environment
source <your_path>/geotiled_env/bin/activate
- Place the following code snippet towards the top of any Python script to use GEOtiled functions
import geotiled
Camila Roa, Paula Olaya, Ricardo Llamas, Rodrigo Vargas, and Michela Taufer. 2023. GEOtiled: A Scalable Workflow for Generating Large Datasets of High-Resolution Terrain Parameters. In Proceedings of the 32nd International Symposium on High-Performance Parallel and Distributed Computing (HPDC '23). Association for Computing Machinery, New York, NY, USA, 311–312. https://doi.org/10.1145/3588195.3595941
Copyright (c) 2025, Global Computing Lab
GEOtiled is distributed under the 3-Clause BSD License.
See LICENSE for more details.
SENSORY is funded by the National Science Foundation (NSF) under grant numbers #1724843, #1854312, #2103836, #2103845, #2138811, and #2334945. Any opinions, findings, and conclusions, or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
Dr. Michela Taufer: [email protected]
Gabriel Laboy: [email protected]
Jay Ashworth: [email protected]