Topo vers raster (Spatial Analyst)
Récapitulatif
Interpole une surface raster hydrologiquement correcte à partir de données ponctuelles, linéaires et surfaciques.
Utilisation
-
Vous obtiendrez de meilleurs résultats si toutes les données en entrée sont stockées dans le même système de coordonnées planaires et ont les mêmes ZUnits. Des données non projetées (latitude-longitude) peuvent être utilisées ; il est possible toutefois que les résultats ne soient pas aussi précis, en particulier à des latitudes élevées.
-
L'outil Topo vers raster utilise seulement quatre points de données en entrée pour l'interpolation de chaque cellule en sortie. Tous les points supplémentaires sont ignorés. Si l'algorithme rencontre trop de points, une erreur peut se produire, indiquant que le jeu de données ponctuelles contient trop de points. Le nombre maximal de points qui peuvent être utilisés équivaut à NRows * NCols, où NRows correspond au nombre de lignes dans le raster en sortie et NCols correspond au nombre de colonnes.
-
Si l'entité en entrée est du type CONTOUR, l'algorithme génère tout d'abord une morphologie généralisée de la surface en fonction de la courbure des isolignes. Il implémente ensuite les isolignes en tant que source d'informations sur l'altitude. Les isolignes conviennent mieux aux données à grande échelle, pour lesquelles isolignes et angles constituent des indicateurs fiables de cours d'eau et de crêtes. Elles s'avèrent aussi efficaces et moins coûteuses à plus petite échelle, pour numériser des points d'angle d'isolignes et les utiliser comme une classe d'entités points en entrée.
-
La représentation des cours d'eau enchevêtrés ou l'utilisation d'arcs pour représenter deux côtés d'un cours d'eau risquent de ne pas produire de résultats fiables. Les données de cours d'eau prévalent toujours sur les données de points ou d'isolignes ; c'est pourquoi les points de données d'altitude en conflit avec la pente vers chaque cours d'eau sont ignorés. Les données de cours d'eau constituent un moyen très efficace d'ajouter des informations topographiques à l'interpolation, afin de renforcer la qualité du MNT en sortie.
-
Les valeurs types des paramètres Tolérance 1 et Tolérance 2 sont :
- Pour les données ponctuelles avec une échelle de 1:100 000, utilisez 5,0 et 200,0.
- Pour les données ponctuelles moins denses avec une échelle pouvant atteindre 1:500 000, utilisez 10,0 et 400,0.
- Pour les données d'isolignes avec un espacement d'isoligne de 10, utilisez 5,0 et 100,0.
-
Afin de simplifier l'utilisation des entrées et des paramètres, utilisez la boîte de dialogue Topo vers raster pour créer un fichier de paramètres en sortie, qui peut être modifié dans un éditeur de texte quelconque et utilisé comme entrée pour l'outil Topo vers raster - fichier.
La fonction Topo vers raster étant une application qui consomme beaucoup de mémoire, il n'est pas possible de créer des rasters en sortie volumineux. Utilisez le paramètre MARGIN si vous devez générer une sortie de taille importante.
Syntaxe
Paramètre | Explication | Type de données |
in_topo_features topo_input |
La classe Topo précise les entités en entrée contenant les valeurs z à interpoler dans un raster de surface. Six types de données sont des entrées acceptées par la classe Topo : TopoPointElevation, TopoContour, TopoStream, TopoSink, TopoBoundary, TopoLake.
Un champ contenant les valeurs z peut être spécifié pour les types PointElevation, Contour et Sink de l'entité en entrée. Il n'y a aucune option Champ pour les types d'entrée Boundary, Lake ou Stream. | TopoInput |
cell_size (Facultatif) |
Taille des cellules qui sera utilisée pour la création du raster en sortie. Il s'agit de la valeur dans l'environnement s'il est explicitement défini, ou de la plus petite largeur ou hauteur de l'étendue des entités ponctuelles en entrée, dans la référence spatiale en entrée, divisée par 250. | Analysis Cell Size |
extent (Facultatif) |
La classe Etendue détermine l'étendue du jeu de données raster en sortie. L'interpolation se produit en dehors des limites x et y, et les cellules situées hors de cette étendue ont la valeur NoData. Pour optimiser les résultats de l'interpolation le long des tronçons du raster en sortie, les limites x et y doivent être inférieures à l'étendue des données en entrée et ce, d'au moins 10 cellules de chaque côté. La classe Etendue a le format suivant :
L'étendue par défaut est la plus petite de toutes les étendues parmi les données d'entité en entrée. | Extent |
Margin margin (Facultatif) |
Distance dans les cellules à interpoler au-delà de l'étendue et de la limite en sortie spécifiées. La valeur doit être supérieure ou égale à 0 (zéro). La valeur par défaut est 20. Si l'Etendue et la TopoBoundary du jeu de données d'entité sont identiques à la limite des données en entrée (la valeur par défaut), les valeurs interpolées le long de la limite du MNT ne correspondent pas parfaitement aux données MNT adjacentes. Elles ont en effet été interpolées en utilisant la moitié des données en tant que points à l'intérieur du raster, lesquels sont entourés de tous les côtés par des données en entrée. L'option Marge permet d'utiliser, dans l'interpolation, les données en entrée supérieures à ces limites. | Long |
minimum_z_value (Facultatif) |
Valeur z minimale à utiliser dans l'interpolation. La valeur par défaut est fixée à 20% en dessous de la valeur en entrée la plus faible. | Double |
maximum_z_value (Facultatif) |
Valeur z maximale à utiliser dans l'interpolation. La valeur par défaut est fixée à 20% au-dessus de la valeur en entrée la plus élevée. | Double |
enforce (Facultatif) |
Type de drainage à appliquer. Vous pouvez définir l'option de drainage pour tenter de supprimer toutes les cuvettes ou dépressions, afin de générer un MNT hydrologiquement correct. Si les points de cuvettes ont été explicitement identifiées en tant que données d'entité en entrée, ces dépressions ne sont pas comblées.
| String |
data_type (Facultatif) |
Type de données d'altitude dominant dans les données d'entité en entrée.
Sélectionnez l'option adéquate pour optimiser la méthode de recherche utilisée lors de la génération des cours d'eau et des crêtes. | String |
maximum_iterations (Facultatif) |
Nombre maximal d'itérations d'interpolation. Le nombre d'itérations doit être supérieur à zéro. Une valeur par défaut de 40 convient généralement aux données d'isoligne et aux données linéaires. Une valeur de 30 supprime moins de cuvettes. Très rarement, des valeurs supérieures (de 45 à 50) peuvent s'avérer utiles pour supprimer davantage de cuvettes ou pour définir plus de cours d'eau et de crêtes. L'itération cesse pour chaque résolution de grille lorsque le nombre maximal d'itérations est atteint. | Long |
roughness_penalty (Facultatif) |
Second terme de la dérivée au carré intégré en tant que mesure de la rugosité. La pénalité de rugosité doit être égale ou supérieure à zéro. Si le type de données en entrée principal est CONTOUR, la valeur par défaut est zéro. Si le type de données principal est SPOT, la valeur par défaut est 0,5. Les valeurs plus élevées ne sont normalement pas recommandées. | Double |
discrete_error_factor (Facultatif) |
Le facteur d'erreur de discrétisation permet d'ajuster le degré de lissage lors de la conversion des données en entrée en raster. La valeur doit être supérieure à zéro. L'ajustement standard est compris entre 0,5 et 2, et la valeur par défaut est fixée à 1. Une valeur inférieure entraîne un lissage moins important, et une valeur supérieure un lissage plus important. | Double |
vertical_standard_error (Facultatif) |
Quantité d'erreurs aléatoires dans les valeurs z des données en entrée. La valeur doit être égale ou supérieure à zéro. La valeur par défaut est zéro. L'erreur standard verticale peut être définie sur une petite valeur positive si les données présentent des erreurs verticales aléatoires (non systématiques) significatives, avec une variance uniforme. Dans ce cas, définissez l'erreur standard verticale sur l'écart type de ces erreurs. Pour la plupart des jeux de données altimétriques, l'erreur verticale doit être fixée à zéro, mais vous pouvez lui attribuer une petite valeur positive pour stabiliser la convergence lorsque vous rastérisez des données ponctuelles avec des données linéaires de cours d'eau. | Double |
tolerance_1 (Facultatif) |
Cette tolérance reflète la précision et la densité des points d'altitude par rapport au drainage de surface. Pour les jeux de données ponctuelles, définissez l'erreur standard des hauteurs comme tolérance. Pour les jeux de données isolignes, utilisez la moitié de l'intervalle moyen des isolignes. La valeur doit être égale ou supérieure à zéro. La valeur par défaut est 2,5 si le type de données est CONTOUR et zéro si le type de données est SPOT. | Double |
tolerance_2 (Facultatif) |
Cette valeur de tolérance évite tout problème lié à des hauteurs d'interruptions inappropriées. La valeur doit être supérieure à zéro. La valeur par défaut est 100 si le type de données est CONTOUR et 200 si le type de données est SPOT. | Double |
out_stream_features (Facultatif) |
Classe d'entités linéaires en sortie des entités polylignes d'écoulement et des entités linéaires de crête. Les entités linéaires sont créées au début du processus d'interpolation. Cela fournit la morphologie générale du terrain pour l'interpolation. Vous pouvez l'utiliser pour vérifier l'exactitude du drainage et de la morphologie par comparaison avec des données connues de cours d'eau et de crêtes. | Feature Class |
out_sink_features (Facultatif) |
Classe d'entités points en sortie des entités ponctuelles de cuvettes résiduelles. Il s'agit des cuvettes qui n'ont pas été spécifiées dans les données d'entité en entrée de cuvette et n'ont pas été supprimées durant le drainage. L'ajustement des valeurs de tolérance, tolerance_1 et tolerance_2, peut réduire le nombre de cuvettes résiduelles. Les cuvettes résiduelles indiquent souvent des erreurs dans les données en entrée, que l'algorithme de drainage n'a pas pu résoudre. Cela permet de détecter efficacement les erreurs d'altitude minimes. | Feature Class |
out_diagnostic_file (Facultatif) |
Fichier de diagnostic en sortie répertoriant tous les paramètres et entrées utilisés, et le nombre de cuvettes supprimées à chaque résolution et itération. | File |
out_parameter_file (Facultatif) |
Fichier de paramètres en sortie répertoriant l'ensemble des paramètres et entrées utilisés, exploitable avec la fonction Topo vers raster - fichier pour réexécuter l'interpolation. | File |
Valeur renvoyée
Nom | Explication | Type de données |
out_surface_raster |
Raster de surface interpolé en sortie. | Raster |
Exemple de code
Cet exemple crée un raster de surface TIFF hydrologiquement correct à partir de données ponctuelles, linéaires et surfaciques.
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" outTTR = TopoToRaster([TopoPointElevation([['spots.shp', 'spot_meter']]), TopoContour([['contours.shp', 'spot_meter']])], 60, "#", "#", "#", "#", "NO_ENFORCE") outTTR.save("C:/sapyexamples/output/ttrout.tif")
Cet exemple crée un raster de surface Grid hydrologiquement correct à partir de données ponctuelles, linéaires et surfaciques.
# Name: TopoToRaster_Ex_02.py # Description: Interpolates a hydrologically correct surface # from point, line, and polygon data. # Requirements: Spatial Analyst Extension # Import system modules import arcpy from arcpy import env from arcpy.sa import * # Set environment settings env.workspace = "C:/sapyexamples/data" # Set local variables inPointElevations = TopoPointElevation([['spots.shp', 'spot_meter'], ['spots2.shp', 'elev']]) inBoundary = TopoBoundary(['boundary.shp']) inContours = TopoContour([['contours.shp', 'spot_meter']]) inLake = TopoLake(['lakes.shp']) inSinks = TopoSink([['sink1.shp', 'elevation'], ['sink2.shp', 'none']]) inStream = TopoStream(['streams.shp']) inFeatures = ([inPointElevations, inContours, inLake, inBoundary, inSinks]) # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute TopoToRaster outTTR = TopoToRaster(inFeatures) # Save the output outTTR.save("C:/sapyexamples/output/ttrout03")