This repository contains processing scripts to create the GeoNRW dataset. It also contains a script to generate corresponding TerraSAR-X high-resolution spotlight samples, provided you have the corresponding EEC (Enhanced Ellipsoid Corrected) acquisitions.
The dataset consists of orthorectified aerial photographs, LiDAR derived digital elevation models, segmentation maps with 10 classes, acquired through the open data program of the German state North Rhine-Westphalia and refined with OpenStreeMap, and TerraSAR-X high resolution spotlight acquisitions. Please check the license information Data licence Germany – attribution – Version 2.0. Preprocessing consists of resampling the 0.1m resolution photographs to 1m and taking the first LiDAR return while averaging within 1m² to arrive at the same resolution as the photographs. The geocoded and terrain corrected TerraSAR-X spotlight Enhanced Ellipsoid Corrected (EEC) acquisitions are directly resampled to the same grid.
In total the dataset consists of 7782 tiles of aerial photographs, land cover maps and DEMs of size 1000 × 1000. Since the TerraSAR-X archive does not contain data for all these tiles the SAR dataset is smaller and only consists of 2980 tiles. Below you find the class statistics for the dataset with 7782 tiles.
We include a PyTorch dataloader with a tentative split into train and test set.
All scripts are supposed to be run from the main directory.
- Run download_data.sh
- Setup new environment with necessary tools and libraries
conda create --yes --name pdal --channel conda-forge pdal python-pdal tqdm conda activate pdal
- Downsample orthophotos by running downsample_rgbs.py
- Create DEM geotiffs from LiDAR points clouds by running build_lidar_dem.py
- Rasterize landcover shapefiles with rasterize_landcover.py
- Run verify_dataset.py to check the output. I had one missing LiDAR tile and had to delete the respective RGB and landcover map.
All scripts are supposed to be run from the main directory.
- Download all acquisitions listed in tsx_aquisitions.txt to the directory download_tsx
- Run proc_tsx.py