Skip to content

Tree canopy map of the Jonction neighbourhood (Geneva) in 2019 at a 0.4 m resolution

License

Notifications You must be signed in to change notification settings

martibosch/jonction-tree-canopy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub license DOI

Jonction tree canopy

Tree canopy map for the Jonction neighbourhood (Geneva) at the 40cm resolution obtained with DetecTree [1] from Geneva's Orthophoto 2019 and LiDAR 2019 datasets. The obtained tree canopy raster file (22.0 MB) can be downloaded from Zenodo.

Technical specifications

  • Source: Geneva's Orthophoto 2019 and LiDAR 2019 datasets
  • CRS: CH1903+/LV95 -- Swiss CH1903+/LV95 (EPSG:2056)
  • Resolution: 40cm
  • Extent: From file agglom-extent.shp.
  • Method: supervised learning (AdaBoost) with 2 classifiers on manually-generated ground truth masks for 2 training tiles (out of a total 65 tiles) of 512x512 pixels. See Yang et al. [2] for more details.
  • Accuracy: 94.88%, estimated from a ground truth mask for 1 tile of 512x512 pixels (computed from LiDAR data).

Citation

If you use this dataset, a citation to DetecTree would certainly be appreciated. Note that DetecTree is based on the methods of Yang et al. [2], therefore it seems fair to reference their work too. Additionally, the sources, i.e., Geneva's Orthophoto 2019 and LiDAR 2019 datasets can be acknowledged. An example citation in an academic paper might read as follows:

The tree canopy dataset for the Jonction neighbourhood (Geneva) has been obtained from the Geneva's Orthophoto 2019 and LiDAR 2019 datasets with the Python library DetecTree (Bosch, 2020), which is based on the approach of Yang et al. (2009).

Steps to reproduce

  1. Create a conda environment
make create_environment
  1. Activate it
conda activate jonction-tree-canopy
  1. Download the train/test split used in this workflow run from Zenodo1.
make download_zenodo_split
  1. Compute the responses for the training tiles (i.e., ground truth masks) from LiDAR data (the response tiles will be automatically dumped to data/interim/response-tiles):
make response_tiles
  1. Train tree/non-tree classifiers:
make train_classifiers
  1. Use the classifiers to predict a tree canopy raster:
make tree_canopy

Optional: If you want to use this environment in Jupyter, you might register its IPython kernel as follows:

make register_ipykernel

Notes

  1. If you want to execute your own run of this workflow, you might skip the make download_zenodo_split command from the third step and run make train_test_split instead. Note however that such a step of the workflow has a stochastic component (i.e., from the K-Means initialization), and therefore you might obtain a different train/test split which might require you to download LiDAR data manually from SITG (link in French).

Acknowledgments

References

  1. Bosch, M. (2020). Detectree: Tree detection from aerial imagery in Python. Journal of Open Source Software (under review).
  2. Yang, L., Wu, X., Praun, E., & Ma, X. (2009). Tree detection from aerial imagery. In Proceedings of the 17th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems (pp. 131-137). ACM.

About

Tree canopy map of the Jonction neighbourhood (Geneva) in 2019 at a 0.4 m resolution

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published