Passer au contenu

Téléchargement des données

Tableau d’assemblage des fichiers lidarHD IGN

La fonction load_classified_ta() télécharge le tableau d’assemblage des fichiers lidarHD classés dans un fichier temporaire et le charge sous la forme d’un objet sf. Le fichier fait plus d’une centaine de Mo donc l’exécution peut être longue selon la connexion internet disponible.

ta_lidarHD <- load_classified_ta()
ta_lidarHD

Le tableau d’assemblage contient deux champs :

  • nom_pkk avec le nom du fichier sur le modèle “LHD_FXX_0377_6228_PTS_C_LAMB93_IGN69.copc.laz”,
    • LHD: campagne lidar HD,
    • FXX: ?
    • 0377 et 6228: les deux nombres à quatre chiffres sont les coordonnées du coin haut et gauche de la dalle, en milliers de kilomètres
    • PTS_C: nuage de points classés,
    • LAMB93_IGN69 : système de coordonnées Lambert 93, altitude IGN69,
    • copc : les fichiers sont au format copc (spatialement indexés, ils sont légèrement moins compressés que des fichiers laz classiques, mais il peuvent être requêtés plus efficacement),
  • url_telech est le lien de téléchargement du fichier, l’arborescence contient en dernier le nom du fichier, et en avant dernier le nom du bloc. La fonction load_classified_ta() ajoute le nom du bloc dans la table d’attributs.

Les dalles sont des carrés d’un kilomètre de côté. Pour des questions de rapidité de traitement, le tableau d’assemblage est réduit dans le tutoriel aux dalles des blocs OM et PM.

ta_lidarHD <-ta_lidarHD[is.element(ta_lidarHD$bloc, c("OM", "PM")),]

Téléchargement des dalles dans une zone d’intérêt

La fonction download_files() télécharge les dalles qui intersectent une région d’intérêt et qui ne sont pas déjà présentes dans le répertoire de destination. La région d’intérêt peut être un objet spatial au format sf, ou un vecteur comportant les noms des blocs à télécharger.

# creer la region d'interet
roi <- sf::st_as_sfc(
  sf::st_bbox(
    sf::st_as_sf(data.frame(x = c(885900, 886100),
                        y = c(6435600, 6435800)),
             coords = c("x", "y"),
             crs = 2154)))
# dossier pour stocker les fichiers
dossier <- paste0("./data/laz/")

L’opération d’intersection est longue du fait du grand nombre de dalles lidar.

Le paramère prompt est réglé par défaut pour que l’affichage des dalles et le téléchargement soient confirmés par l’utilisateur (recommandé).

Le paramètre buffer permet de télécharger les dalles adjacentes à celles qui intersectent la région d’intérêt, ce qui peut être utile pour que les traitements ultérieurs (notamment calcul de MNT ou de la hauteur des points) sur les dalles d’intérêt ne présentent pas d’effet de bord.

Le script affiche le nombre de dalles selon les croisements de catégories suivantes :

  • intersecte ou pas la région d’intérêt (IN / OUT),
  • déjà téléchargé ou pas (done / todo).

Seules les dalles IN_todo seront téléchargées.

# telecharger les fichiers qui intersectent la region d'interet 
download_files(ta_lidarHD, roi = roi, folder = dossier, prompt = TRUE)

Lors du téléchargement, le script place automatiquement les fichiers dans des sous-dossiers correspondant aux “blocs”. Le nom d’origine est conservé. Au cas où des sous-dossiers sont déjà présents avec des fichiers, la fonction propose uniquement le téléchargement des fichiers non présents localement.

# sous-dossiers
list.dirs(dossier, full.names = FALSE)
## [1] ""   "OM" "PM"

Dans chaque sous-dossier, un catalogue des dalles lidar présentes est créé sous la format d’un objet au format LAS-catalog enregistré une archive R nommée “cata.rda”. Un catalogue de l’ensemble des dalles est créé dans une archive de même nom mais enregistré à la racine du répertoire de destination. Ces catalogues sont mis à jour lorsque des dalles supplémentaires sont ajoutées, ou lorsque des dalles sont modifiées pour leur ajouter la hauteur des points.

# fichiers dans le sous-dossier du bloc "PM"
dir(paste0(dossier, "PM"))
## [1] "cata.rda"                                     
## [2] "LHD_FXX_0886_6435_PTS_O_LAMB93_IGN69.copc.laz"
## [3] "LHD_FXX_0886_6436_PTS_O_LAMB93_IGN69.copc.laz"
## [4] "LHD_FXX_0886_6437_PTS_O_LAMB93_IGN69.copc.laz"
## [5] "LHD_FXX_0887_6435_PTS_O_LAMB93_IGN69.copc.laz"
## [6] "LHD_FXX_0887_6436_PTS_O_LAMB93_IGN69.copc.laz"
## [7] "LHD_FXX_0887_6437_PTS_O_LAMB93_IGN69.copc.laz"

Le code ci-dessous charge le catalogue, l’affiche avec une couleur par bloc, et ajoute la région d’intérêt avec un contour rouge. Les dalles adjacentes à celles qui intersectent la région d’intérêt ont été également téléchargées.

# charger le catalog
load(file = paste0(dossier, "cata.rda"))
lidR::plot(cata, col = ifelse(cata$bloc == "PM", "blue", "green"))
plot(roi, add = TRUE, border = "red")

Contenu des fichiers LAZ

Un tutoriel pour la prise en main des nuages de points Lidar est disponible sur le site du package lidaRtRee. Il détaille notamment les aspects suivants :

  • contenu d’un fichier LAZ,
  • vérification des paramètres d’acquisition,
  • calculs sur les nuages de points :
    • modèles numériques d’élévation,
    • normalisation du nuage de points.

Les commandes R pour réaliser des opérations similaires sur les nuages de points lidar HD seront ajoutées prochainement dans ce tutoriel.