Overview
Le package covariablechamps permet d’extraire et de calculer des covariables pour des champs agricoles au Québec, à partir de diverses sources de données (LiDAR, pédologiques, etc.).
Fonctionnalités
Module Terrain (disponible)
- Téléchargement automatique des données LiDAR depuis le DataCube du Canada
- Calcul de la pente (degrés)
- Calcul de l’aspect (orientation)
- Classification des formes de terrain avec les géomorphons
Module Ombrage (disponible)
- Calcul des ombres projetées (cast shadows) d’une parcelle à partir du MNE (Modèle Numérique de Surface) LiDAR
- Calcul de la position du soleil avec le package
suncalc - Lancer de rayons (raytracing) avec le package
rayshaderpour des ombres réalistes - Calcul sur une période : moyenne, min, max ou somme des heures d’ensoleillement sur plusieurs jours/mois
- Paramètres ajustables :
-
zscale: facteur d’échelle vertical (ajuste la longueur des ombres) -
max_distance: distance maximale de projection des ombres (défaut: 1000m) -
seuil_ensoleillement: seuil pour compter les heures d’ensoleillement (défaut: 0.1)
-
- Production de cartes :
- Ombrage par heure (0 = ombre complète, 1 = plein soleil)
- Ombrage moyen sur la journée ou sur une période
- Nombre d’heures d’ensoleillement par pixel (journalier ou moyenne sur période)
Installation
Prérequis
Installez d’abord le package rgeomorphon depuis GitHub:
if (!requireNamespace("remotes", quietly = TRUE)) {
install.packages("remotes")
}
remotes::install_github("brownag/rgeomorphon")Utilisation rapide
library(covariablechamps)
# Charger votre champ
champ <- sf::st_read("chemin/vers/champ.shp")
# Extraire toutes les covariables terrain
covariables <- extraire_covariables_terrain(champ)
# Visualiser
plot(covariables$pente, main = "Pente")
plot(covariables$aspect, main = "Aspect")
plot(covariables$geomorphons, main = "Géomorphons")Calculer l’ombrage d’une parcelle
library(covariablechamps)
# Charger votre champ
champ <- sf::st_read("chemin/vers/champ.shp")
# Calculer l'ombrage pour une date spécifique
resultats <- calculer_ombrage(
polygone = champ,
date = "2024-06-21", # Solstice d'été
intervalle_heures = 1,
dossier = "output/ombrage"
)
# Ajuster la longueur des ombres avec zscale
# zscale > 1 : ombres plus longues (exagère la hauteur)
# zscale < 1 : ombres plus courtes (minimise la hauteur)
resultats_ajuste <- calculer_ombrage(
polygone = champ,
date = "2024-06-21",
zscale = 1.5, # Ombres 50% plus longues
max_distance = 1000, # Projection jusqu'à 1000m
dossier = "output/ombrage"
)
# Si vous obtenez trop peu d'heures d'ensoleillement dans les zones ouvertes,
# baissez le seuil d'ensoleillement (défaut: 0.1)
resultats <- calculer_ombrage(
polygone = champ,
date = "2024-06-21",
seuil_ensoleillement = 0.05, # Plus permissif - compte plus d'heures
max_distance = 1000
)
# Visualiser les résultats
plot(resultats$ombrage_moyen, main = "Ombrage moyen")
plot(resultats$heures_ensoleillement, main = "Heures d'ensoleillement")
# Ou utiliser la fonction de visualisation complète
calculer_ombrage_visualisation(resultats, titre = "Ombrage du 21 juin 2024")Calculer l’ombrage sur une période
# Calculer sur un mois complet (moyenne des heures d'ensoleillement)
resultats_mois <- calculer_ombrage_periode(
polygone = champ,
date_debut = "2024-06-01",
date_fin = "2024-06-30",
intervalle_jours = 3 # Calcul tous les 3 jours pour accélérer
)
# Visualiser les statistiques sur la période
plot(resultats_mois$heures_ensoleillement_moyen,
main = "Heures moyennes d'ensoleillement/jour")
plot(resultats_mois$heures_ensoleillement_min,
main = "Heures minimales (pire cas)")
plot(resultats_mois$heures_ensoleillement_max,
main = "Heures maximales (meilleur cas)")
plot(resultats_mois$ombrage_moyen_periode,
main = "Ombrage moyen sur la période")
# Obtenir le total des heures sur toute la période
resultats_total <- calculer_ombrage_periode(
polygone = champ,
date_debut = "2024-06-01",
date_fin = "2024-06-30",
resume_type = "somme" # Somme totale au lieu de moyenne
)Documentation
Consultez la documentation complète pour plus de détails sur: - L’extraction des covariables terrain - Les paramètres des géomorphons - La gestion des données LiDAR
Données
Les données LiDAR proviennent du DataCube du gouvernement du Canada via l’API STAC de Ressources naturelles Canada.