Création de MNT et de DSM raster à partir de vastes collections de points lidar
Récapitulatif
Les modèles d'altitude raster ou maillés constituent l'un des types de données SIG les plus courants. Ils permettent de nombreuses utilisations dans le cadre de l'analyse et sont faciles à partager. Le lidar vous fournit la possibilité de produire des modèles d'altitude de qualité, sous forme de deux variantes distinctes : premières données de retour et sol. Une surface de premières données de retour comprend le couvert forestier et les bâtiments et est souvent nommée modèle de surface numérique (DSM). Le sol, ou la terre nue, contient uniquement la topographie et est souvent appelé modèle numérique de terrain (MNT).
Ces graphiques affichent des représentations ombrées d'une première surface de retour, ou DSM, sur la gauche et un modèle de terre nue, ou MNT, à droite.
Etablissement d'un plan
Avant de commencer à créer un raster à partir du lidar, vous devez évaluer certains facteurs de base :
- étendue de couverture du lidar,
- nombre et densité des points lidar,
- résolution du raster en sortie souhaitée,
- étendue du ou des raster(s) en sortie,
- format du ou des raster(s) en sortie.
La considération de ces facteurs aide à déterminer si vous produisez un raster ou un ensemble de rasters. Une partie de ce processus nécessite de déterminer le nombre de lignes et de colonnes que vous êtes disposé à avoir dans un raster. Cela dépend de la finalité du raster en termes d'analyse, d'affichage et de partage ou de distribution potentiels des données. Le souhait d'utiliser un jeu de données pour l'analyse peut être en conflit avec les contraintes pratiques associées à la taille du jeu de données. Le volume de données lidar dont vous disposez est un autre élément à considérer. La tentative de traiter 10 milliards de points lidar en tant que jeu de données, bien que possible, peut s'avérer ingérable. Dans cette situation il est conseillé de produire plusieurs raster à partir de ce volume de données lidar, envisagez par conséquent de diviser également le traitement lidar. Non seulement vous limitez ainsi les jeux de données individuels à des tailles raisonnables, vous réduisez également la durée de traitement sur ces jeux de données. Plus un traitement est long à exécuter, plus il risque de présenter des problèmes (par exemple une panne d'alimentation).
Si vous avez déterminé que vous devez diviser vos données, la prochaine question porte sur la méthode à employer. Doit-elle être basée sur un système de grille régulière, des frontières politiques ou une application anticipée ? Puisque les ensembles lidar ont tendance à présenter plusieurs utilisations, leur division selon un système de grille régulière ou des divisions politiques telles que des limites de comté semble la plus logique. Un ingénieur peut créer une mosaïque à partir des différents morceaux dont il a besoin pour un projet individuel. Si l'utilisation projetée est plutôt réservée à un type d'application, telle que l'hydrologie, utilisez des divisions logiques pour l'application. Par exemple, dans le cas de l'hydrologie, les limites des bassins versants sont un bon candidat.
ArcGIS prend en charge de nombreux formats raster, vous avez donc le choix du format à écrire. Il est conseillé de baser cette décision sur l'utilisation prévue du produit. S'il doit être partagé avec le grand public, il est conseillé de le distribuer au format TIFF ou JPEG. Pour l'analyse à l'aide de la plate-forme ArcGIS, envisagez d'utiliser le format de géodatabase basé sur fichier.
La première étape pour la transition des points lidar au raster consiste à charger les points dans une géodatabase. Pour charger vos points lidar dans une classe d'entités multi-points, utilisez l'outil de géotraitement LAS vers multi-points ou ASCII 3D vers classe d'entités, selon le format de données source des données lidar. Placez la classe d'entités multi-points dans un jeu de classes d'entités si vous projetez de créer un jeu de données de MNT à partir des points lidar. Bien que vous ayez le choix entre l'utilisation des formats de fichier LAS ou ASCII, le format LAS est un format de fichier binaire plus acceptable. Les fichiers LAS contiennent plus d'informations et peuvent être lus plus efficacement par l'outil d'importation en raison de leur structure binaire. Pour plus d'informations sur l'importation de mesures source lidar dans la géodatabase, reportez-vous à la rubrique Outils de chargement et d'importation de données.
Utilisation de l'outil de géotraitement Point vers raster
Si le lidar constitue votre seule source de données, vous pouvez utiliser l'outil de géotraitement Point vers raster pour produire des modèles d'altitude raster. L'outil Point vers raster ne produit pas le résultat de meilleure qualité possible. Le lidar a tendance à être tellement dense que pour de nombreuses applications la précision produite avec l'outil de géotraitement Point vers raster est suffisante et la commodité et la vitesse de cet outil le rendent valable.
Lors de la production d'une surface raster de terre nue, ou MNT, utilisez uniquement les points lidar de sol pour produire le raster. Définissez le paramètre Champ de la valeur de l'outil sur Shape pour utiliser les valeurs z des sommets multi-points. Par ailleurs, définissez le paramètre Type d'attribution de cellule sur MIN ou MOYENNE. MIN fait pencher les hauteurs en sortie vers les surfaces basses locales, alors que MOYENNE est une option à usage plus général. Pour produire une première surface de retour, ou DSM, utilisez les premiers points lidar de retour avec l'option MAX de l'outil puisque vous souhaitez faire pencher la sortie vers les surfaces élevées locales.
L'outil de géotraitement Point vers raster produit des modèles d'altitude maillés à partir d'ensembles de points lidar.
Bien que l'outil Point vers raster propose la méthode la plus facile et la plus rapide pour produire un raster à partir de données lidar, il présente un inconvénient significatif. Vous pouvez obtenir de nombreuses cellules NoData puisqu'il renvoie des valeurs uniquement pour les cellules comportant un ou plusieurs points. Le problème est exacerbé lors de l'utilisation des points au sol uniquement afin de produire un MNT, car des intervalles dans les données se produisent aux emplacements où la végétation et les bâtiments masquent le sol. Pour réduire l'effet des cellules NoData par rapport aux cellules de données, vous pouvez augmenter la taille de cellule en sortie par rapport à l'espacement moyen des points. Vous pouvez également réduire le nombre de cellules NoData après l'exécution de Point vers raster en utilisant l'exemple ci-dessous dans la fenêtre Python si :
- l'extension Spatial Analyst est active ;
- le nom en sortie de la dernière expression de statistiques focales exécutée est "outfocalmNN" (outfocalm03, outfocalm04, outfocalm05, etc.) ;
- la sortie (dans cet exemple, la sortie de Point vers raster est appelée point2ras) est une couche dans la table des matières ;
- le chemin d'accès valide est: C:\data\.
from arcpy.sa import * outfocalm01 = FocalStatistics("point2ras", NbrRectangle(3, 3, "CELL") outfocalm02 = FocalStatistics(outfocalm01, NbrRectangle(3, 3, "CELL") #Repeat using output (temporary raster object) in the next processes until all nodata is gone out = Con(IsNull("point2ras"), outfocalmNN, "point2ras") #Save the result to disk out.save("C:\data\myfinalDEM")
Vous pouvez exécuter l'exemple Python à plusieurs reprises pour remplir des surfaces NoData plus importantes. Il est toutefois recommandé de ne pas l'exécuter plus de deux ou trois fois. Il est préférable d'accepter simplement des surfaces vides plus importantes suite à l'utilisation de cette approche.
Points initiaux sur la gauche, sortie de l'outil Point vers raster au milieu (cellules NoData colorées en blanc), raster après traitement avec les cellules NoData remplies sur la droite.
Utilisation du jeu de données de MNT pour créer un MNT raster
Si vous disposez de lignes de fracture photogrammétriques correspondant à votre lidar, ou nécessitez des résultats de qualité supérieure à celle possible avec l'outil Point vers raster, utilisez le jeu de données de MNT. Pour une vue d'ensemble du jeu de données de MNT, reportez-vous à la rubrique Qu'est-ce qu'un jeu de données de MNT ?
Sur la gauche, vous observez une surface réalisée sans lignes de fracture le long des rives. L'illustration sur le côté droit dispose d'une application des lignes de fracture. Les lignes de fracture sont importantes pour conserver la définition des entités liées à l'eau dans le modèle d'altitude.
Les lignes de fracture permettent de capturer les discontinuités linéaires dans la surface. Les types les plus courants sont les contours de trottoir, les rivages de lac, les lits de rivière simples pour les petits cours d'eau et les lits de rivière doubles pour les cours d'eau importants. Quelquefois les lignes de fracture sont également rassemblées pour aider à définir et à sculpter la surface sans nécessairement représenter des discontinuités. Ces applications concernent notamment les courbes figuratives de type isoligne et les lignes de crête arrondies.
Les lignes de fracture, bien que fréquemment utilisées dans les modèles de terre nue, ont tendance à présenter un effet négatif lorsqu'elles sont utilisées avec les premières surfaces de retour car elles peuvent être en conflit avec les points au-dessus de la surface. Par exemple, les lignes de fracture qui capturent le contour de trottoir des routes peuvent être coïncidentes en coordonnées x,y mais différentes en coordonnée z avec les points de la couverture forestière qui surplombe la route. Pour cette raison, envisagez d'exclure les lignes de fracture de votre première surface de retour, ou au moins celles potentiellement en conflit.
Le moyen le plus efficace d'organiser les lignes de fracture pour une utilisation dans un jeu de données de MNT (voir le tableau ci-dessous) consiste à les séparer en classes d'entités distinctes en fonction du type d'entité de surface (SFType). Les types d'entité de surface contrôlent l'application des entités dans le modèle et l'interprétation de la surface par l'outil d'interpolation par voisins naturels, utilisé pendant le tramage, lorsqu'il traverse ces entités. Une rupture de pente distincte se produit lors de la traversée d'entités "rigides", mais pas lors de la traversée d'entités "malléables".
Type de mesure |
Type de classe d'entités |
SFType |
---|---|---|
Points lidar |
Classe d'entités multi-points 3D |
Masse |
Contours de trottoirs, lits de rivière simples et doubles pour les cours d'eau, lignes de crête abruptes |
Classe d'entités linéaires 3D |
Ligne-rigide |
Lacs, réservoirs |
Classe d'entités surfaciques 2D avec valeur z stockée en tant qu'attribut |
Ligne-rigide ou remplacement-rigide |
Lignes de crête érodées/arrondies, courbes figuratives de type isoligne |
Classe d'entités linéaires 3D |
Ligne-malléable |
Limite de zone d'étude |
Classe d'entités surfaciques 2D sans valeur z |
Découpage-malléable |
Pour des raisons de performances du MNT, il est préférable de regrouper toutes les lignes-rigides dans une classe d'entités. Bien entendu cela peut être impossible, par exemple si vous devez séparer les entités correspondant aux routes et à l'eau. Gardez à l'esprit qu'il est important de limiter le plus possible le nombre de classes d'entités utilisées pour définir un MNT.
L'outil Remplacer SFType permet de définir tout l'intérieur d'un polygone sur une hauteur constante. Il est utilisé principalement pour les lacs lorsqu'ils contiennent par inadvertance d'autres données, tels que des points lidar, dont les hauteurs ne sont pas exactement identiques au rivage et par conséquent empêchent les plans d'eau d'être plat. L'outil Remplacer SFType n'induit pas un coût de traitement supérieur aux lignes rigides ou malléables normales, il est donc préférable d'éviter son utilisation dans un jeu de données de MNT. Idéalement, les plans d'eau ne doivent pas comprendre d'échantillons lidar (envisagez d'ajouter cette stipulation dans le contrat avec votre fournisseur de données), mais le cas échéant, vous pouvez utiliser l'outil de géotraitement Supprimer des points de MNT pour les gérer après la création du jeu de données de MNT. Sinon, vous pouvez éliminer les points concernés avant de créer votre MNT à l'aide de l'outil de géotraitement Effacer un point.
Si vous produisez à la fois une surface de terre nue et de premières données de retour à l'aide de jeux de données de MNT, chargez les points lidar dans deux classes d'entités multi-points différentes, une classe d'entités pour les points au sol et une classe d'entités pour les points au-dessus de la surface. Le MNT de terre nue est défini avec une référence aux points au sol uniquement. Le jeu de données de MNT de premières données de retour référence la même classe d'entités ponctuelles au sol que le MNT de terre nue, avec une référence supplémentaire aux points au-dessus de la surface. Cela signifie que deux jeux de données de MNT différents peuvent référencer une même classe d'entités.
Depuis ArcGIS 9.3, les jeux de données de MNT peuvent être mis en pyramide à l'aide de l'un de deux filtres d'affinage des points : tolérance Z et taille de fenêtre. Pour la production de MNT, vous pouvez utiliser ces deux types de pyramide. Si vous souhaitez effectuer un tramage à partir de l'ensemble de points de résolution maximale, utilisez le filtre de taille de fenêtre pour la construction du MNT, car il est considérablement plus rapide. Si vous êtes prêt à utiliser des données affinées pour l'analyse, ce qui est raisonnable si les données lidar sont suréchantillonnées pour vos besoins, utilisez le filtre de tolérance Z. Bien qu'il soit plus lent, ce filtre est très adapté car il fournit une évaluation de la précision verticale de la représentation affinée. Pour la production de DSM, utilisez le filtre de taille de fenêtre avec l'option MAX.
Utilisez l'outil MNT vers raster pour produire votre modèle d'altitude tramé. Cet outil propose des options pour l'interpolation, la taille de cellule en sortie et les niveaux de pyramide à utiliser à partir du jeu de données de MNT.
L'outil MNT vers raster produit des modèles d'altitude maillés à partir de jeux de données de MNT.
Pour l'interpolation, l'option de voisins naturels est la meilleure. Bien qu'elle ne soit pas aussi rapide que l'interpolation linéaire, elle produit généralement de meilleurs résultats à la fois en termes d'esthétique et de précision. Définissez la taille de cellule en sortie en fonction de la densité d'échantillonnage des points lidar. Vous ne gagnerez pas en précision avec une taille de cellule substantiellement inférieure à l'espacement moyen des points. Par ailleurs, assurez-vous de configurer l'étendue d'analyse, telle que définie dans les Environnements, pour l'extraction de sous-ensembles le cas échéant. L'utilisation d'un raster de capture peut être également utile pour des raisons d'alignement des sorties raster.
La procédure générale de génération d'une surface de MNT raster à partir de données ponctuelles lidar dans ArcGIS est décrite ci-dessous.
En premier lieu, vous créez un jeu de données de MNT dans ArcCatalog ou dans la fenêtre Catalogue de votre application, puis vous utilisez des outils de géotraitement pour convertir ce jeu de données de MNT en MNT raster.
1. Créez un jeu de données de MNT.
-
Déterminez les données source et la manière dont elles contribuent au jeu de données de MNT.
Pour plus d'informations sur la représentation de données source de MNT, reportez-vous aux rubriques Représentation de données source de MNT dans des classes d'entités et Types de données source pris en charge dans les jeux de données de MNT.
Remarque :Toutes les données source doivent avoir la même référence spatiale pour créer un jeu de données de MNT.
- Créez une géodatabase fichier dans ArcCatalog ou dans la fenêtre Catalogue. Cliquez avec le bouton droit de la souris sur le dossier dans lequel vous voulez créer le MNT, pointez sur Nouveau, puis cliquez sur Géodatabase fichier dans le menu contextuel.
-
Créez un jeu de classes d'entités. Cliquez avec le bouton droit de la souris sur la géodatabase fichier, pointez sur Nouveau, puis cliquez sur Jeu de classes d'entités dans le menu contextuel.
Pour plus d'informations sur la procédure correcte de génération d'un jeu de classes d'entités, reportez-vous à la rubrique Création d'un jeu de classes d'entités.
- Importez les mesures source dans des classes d'entités. Ces classes d'entités doivent être produites à l'intérieur du jeu de classes d'entités créé à l'étape 3. Pour plus d'informations sur l'importation de données source pour un MNT, reportez-vous à la rubrique Importation des mesures source du jeu de données de MNT.
-
Construisez un jeu de données de MNT dans ArcCatalog ou dans la fenêtre Catalogue à l'aide de l'assistant Mot-clé de configuration.
Pour accéder à l'assistant Mot-clé de configuration, cliquez avec le bouton droit de la souris sur le jeu de classes d'entités pour afficher le menu, pointez sur Nouveau, puis cliquez sur MNT.
Pour plus d'informations sur l'utilisation de l'assistant Mot-clé de configuration, reportez-vous à la rubrique Création d'un jeu de données de MNT à l'aide de l'Assistant MNT.
2. Utilisez l'outil de géotraitement MNT vers raster.
- A partir des Outils 3D Analyst, double-cliquez sur l'outil de géotraitement MNT vers raster pour l'ouvrir.
- Cliquez sur le bouton Parcourir du MNT en entrée pour ajouter le jeu de données de MNT.
- Cliquez sur le bouton Parcourir du Raster en sortie pour spécifier l'emplacement de création du jeu de données raster.
- Définissez le paramètre facultatif Type de données en sortie soit sur virgule flottante 32 bits, soit sur entier 32 bits. Virgule flottante est la valeur par défaut.
-
Définissez la méthode d'interpolation sur Linéaire ou sur Voisins naturels.
Ces méthodes d'interpolation basées sur des TIN sont appliquées sur toute la surface du MNT triangulée. L'option Linéaire recherche le triangle englobant le centre de chaque cellule et applique une moyenne pondérée des nœuds du triangle pour interpoler une valeur. L'option Voisins naturels utilise les polygones de Voronoi voisins des centres des cellules.
Envisagez la méthode par voisins naturels pour interpoler une surface de MNT. L'interpolation par voisins naturels prend plus de temps, mais la surface générée est beaucoup plus lisse que celle produite à l'aide d'une interpolation linéaire. Elle est également moins sujette à de petits changements de triangulation.
-
Définissez la Distance d'échantillonnage sur Observations ou Taille de cellule, ce qui contrôle la résolution horizontale du raster. Indiquez la valeur en regard de l'option une fois que vous avez sélectionné la méthode de votre choix.
La méthode Observations calcule la taille de cellule en fonction de la valeur définie que ce nombre représente et au nombre de cellules souhaitées sur le plus long tronçon de la surface raster. Vous pouvez définir de manière explicite la taille de cellule à l'aide de l'option Taille de cellule.
- Définissez la résolution à utiliser. Le paramètre de résolution indique le niveau de pyramide du jeu de données de MNT à utiliser pour la conversion. Pour produire un jeu de données raster en sortie en résolution maximale, définissez ce paramètre sur 0. Les niveaux de pyramide sont définis à l'aide de la tolérance Z ou de la taille de fenêtre, qui représente la résolution approximative du jeu de données de MNT par rapport aux données de résolution maximale.
- Pensez à utiliser les paramètres d'environnement pour contrôler explicitement les étendues du MNT à générer. Pour extraire un sous-ensemble du MNT, cliquez sur le bouton Environnements au bas de la fenêtre de l'outil de géotraitement. Cliquez sur l'onglet Paramètres généraux et définissez l'étendue du MNT en sortie.
A l'aide de l'outil de géotraitement Point vers raster ou MNT vers raster, vous pouvez traiter des centaines de millions, ou même des milliards de points lidar en MNT et DSM maillés à haute résolution. Ces modèles de surface peuvent ensuite être utilisés avec la large gamme d'outils raster disponibles dans ArcGIS pour l'analyse.
Ils sont également parfaits pour réaliser des cartes (reportez-vous au graphique ci-dessous) et faciles à partager en raison de leur structure de données simple.