Topo vers raster (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Disponible avec une licence 3D Analyst.

Résumé

Interpole une surface raster hydrologiquement correcte à partir de données ponctuelles, linéaires et surfaciques.

Pour en savoir plus sur la fonction Topo vers raster

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 unités z. 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.

  • Si plusieurs points en entrée sont compris dans une cellule en sortie,Topo vers raster utilise la valeur moyenne pour l'interpolation (seuls les 100 premiers points compris dans une cellule sont pris en compte, le reste est ignoré). 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 le type de données des entités en entrée est Isoligne, 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 taille de cellule en sortie (champ Output cell size) peut être définie par une valeur numérique ou obtenue à partir d’un jeu de données raster. Si la taille de cellule n’a pas été spécifiée de manière explicite comme étant la valeur du paramètre, elle est dérivée de l’environnement Cell Size (Taille de cellule) si celui-ci a été spécifié. Lorsque ni le paramètre ni l’environnement de taille de cellule n’a été spécifié, mais que l’environnement Snap Raster (Raster de capture) est défini, c’est la taille de cellule du raster de capture qui est utilisée. Si aucun élément n’est spécifié, la taille de cellule est calculée d’après la largeur ou la hauteur la plus petite (selon celle qui est la plus petite des deux) de l’étendue spécifiée dans le système de coordonnées en sortie (option Output Coordinate System) de l’environnement, divisée par 250.

  • Si la taille de cellule est spécifiée à l’aide d’une valeur numérique, l’outil l’utilise directement pour le raster en sortie.

    Si la taille de cellule est spécifiée à l’aide d’un jeu de données raster, le paramètre affiche le chemin du jeu de données raster au lieu de la valeur de la taille de cellule. La taille de cellule de ce jeu de données raster sera utilisée directement dans l’analyse, à condition que la référence spatiale du jeu de données soit identique à la référence spatiale en sortie. Si la référence spatiale du jeu de données diffère de la référence spatiale en sortie, elle sera projetée d’après la valeur du champ Cell Size Projection Method (Méthode de projection de la taille de cellule).

  • 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.

    La tolérance 2 dot être au moins 6 fois supérieure à la tolérance 1.

  • 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.

  • Cet outil étant une application qui consomme beaucoup de mémoire, il n'est pas possible de créer des rasters en sortie volumineux. Si vous devez générer une sortie de taille importante, utilisez le paramètre Marge pour produire des rasters en sortie plus petits. Pour savoir comment procéder, reportez-vous à la section Création et mosaïquage de rasters de la rubrique Fonctionnement de l'outil Topo vers raster.

  • Pour plus d’informations sur les environnements de géotraitement qui s’appliquent à cet outil, reportez-vous à la rubrique Environnements d’analyse et Spatial Analyst.

Syntaxe

TopoToRaster(in_topo_features, {cell_size}, {extent}, {Margin}, {minimum_z_value}, {maximum_z_value}, {enforce}, {data_type}, {maximum_iterations}, {roughness_penalty}, {discrete_error_factor}, {vertical_standard_error}, {tolerance_1}, {tolerance_2}, {out_stream_features}, {out_sink_features}, {out_diagnostic_file}, {out_parameter_file}, {profile_penalty}, {out_residual_feature}, {out_stream_cliff_error_feature}, {out_contour_error_feature})
ParamètreExplicationType 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.

Neuf types de données sont acceptés en entrée dans la classe Topo : TopoPointElevation, TopoContour, TopoStream, TopoSink, TopoBoundary, TopoLake, TopoCliff, TopoExclusion, et TopoCoast.

  • TopoPointElevation ([[inFeatures,{field}],...])

    Classe d'entités points représentant l'altitude des surfaces.

    Le paramètre field stocke l'altitude des points.

  • TopoContour ([[inFeatures,{field}],...])

    Classe d'entités linéaires représentant des courbes de niveau.

    Le paramètre field stocke l'altitude des isolignes.

  • TopoStream ([inFeatures,...])

    Classe d'entités linéaires d'emplacements de cours d'eau. Tous les arcs doivent être orientés pour pointer vers l'aval. La classe d'entités doit contenir uniquement les cours d'eau constitués d'un arc unique.

  • TopoSink ([[inFeatures,{field}],...])

    Classe d'entités points représentant les dépressions topographiques connues. La fonction Topo vers raster ne tente pas de supprimer de l'analyse les points explicitement identifiés comme des cuvettes.

    Le paramètre field utilisé doit être un champ qui stocke l'altitude de la cuvette en question. Si l'option NONE est sélectionnée, seul l'emplacement de la cuvette est utilisé.

  • TopoBoundary ([inFeatures,...])

    Une limite est une classe d'entités contenant un seul polygone représentant la limite extérieure du raster en sortie. Les cellules du raster en sortie situées hors de cette limite ont la valeur NoData. Cette option permet de découper les zones aquatiques le long des lignes de côtes avant de réaliser le raster en sortie final.

  • TopoLake ([inFeatures,...])

    Classe d'entités surfaciques spécifiant l'emplacement des lacs. Toutes les cellules d'un raster en sortie situées à l'intérieur d'un lac ont la valeur d'altitude minimale de toutes les cellules situées le long de la ligne de berge.

  • TopoCliff ([inFeatures,...])

    Classe d'entités linéaires des falaises. Les entités linéaires de falaises doivent être orientées de telle sorte que le côté gauche de la ligne se trouve en bas de la falaise et le côté droit en haut de la falaise.

  • TopoExclusion ([inFeatures,...])

    Classe d'entités surfaciques des zones dans lesquelles les données en entrée doivent être ignorées. Ces polygones autorisent la suppression de données d'altitude du processus d'interpolation. Ce paramètre est généralement utilisé pour supprimer des données d'altitude associées à des murs de barrage et des ponts. La vallée sous-jacente peut ainsi être interpolée avec la structure de drainage connectée.

  • TopoCoast ([inFeatures,...])

    Classe d'entités surfaciques contenant le contour d'une zone côtière. Les cellules du raster en sortie final qui se trouvent à l'extérieur de ces polygones sont définies sur une valeur qui est inférieure à la limite de hauteur minimale spécifiée par l'utilisateur.

Un champ contenant les valeurs z peut être spécifié pour les types d'entités en entrée PointElevation, Contour et Sink. Les types en entrée Boundary, Lake, Cliff, Coast, Exclusion ou Stream ne comportent pas d'option Champ.

TopoInput
cell_size
(Facultatif)

La taille de cellule du jeu de données raster en sortie sera créée.

Ce paramètre peut être défini par une valeur numérique ou obtenu à partir d’un jeu de données raster. Si la taille de cellule n’est pas explicitement spécifiée en tant que valeur de paramètre, la valeur de la taille de cellule de l’environnement sera utilisée dans la mesure où elle est définie. Dans le cas contraire, le calcul fera appel à des règles supplémentaires pour la déterminer à partir d’autres données en entrée. Pour en savoir plus, consultez la section relative à l’utilisation.

Analysis Cell Size
extent
(Facultatif)

La classe Extent 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 Extent se présente comme suit :

  • Extent (XMin, YMin, XMax, YMax)

    où :

    • XMin : la valeur par défaut est la plus petite coordonnée x de toutes les entrées.
    • YMin : la valeur par défaut est la plus petite coordonnée y de toutes les entrées.
    • XMax : la valeur par défaut est la plus grande coordonnée x de toutes les entrées.
    • YMax : la valeur par défaut est la plus grande coordonnée y de toutes les entrées.

L'étendue par défaut est la plus grande 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 les jeux de données d'entité Extent et TopoBoundary sont identiques à la limite des données en entrée (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 Margin 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.

  • ENFORCEL'algorithme tente de supprimer toutes les cuvettes rencontrées, qu'elles soient réelles ou fictives. Il s’agit de l’option par défaut.
  • NO_ENFORCEAucune cuvette n'est comblée.
  • ENFORCE_WITH_SINKLes points identifiés comme cuvettes dans les données d'entité en entrée représentent des dépressions topographiques connues et ne seront pas modifiés. Les cuvettes non identifiées dans les données d'entité en entrée sont considérées fictives et l'algorithme tentera de les combler.L'existence de plus de 8 000 cuvettes fictives entraîne l'échec de l'outil.
String
data_type
(Facultatif)

Type de données d'altitude dominant dans les données d'entité en entrée.

  • CONTOURLe type dominant de données en entrée est la courbe de niveau. Il s’agit de l’option par défaut.
  • SPOTLe type dominant de données en entrée est le point.

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 20 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 Isoligne, la valeur par défaut est zéro. Si le type de données principal est Point, 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. La plage normale d'ajustement est comprise entre 0,25 et 4, la valeur par défaut est de 1. Une valeur plus petite diminue le lissage des données, une valeur plus grande l'augmente.

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 Isoligne et zéro si le type de données est Point.

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 Isoligne et 200 si le type de données est Point.

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.

Les entités polylignes sont codées comme suit :

1. Ligne d'écoulement en entrée ne dépassant pas la falaise.

2. Ligne d'écoulement en entrée dépassant la falaise (cascade).

3. Application du drainage pour supprimer une cuvette fictive.

4. Ligne d'écoulement déterminée à partir de l'angle de l'isoligne.

5. Ligne de dorsale déterminée à partir de l'angle de l'isoligne.

6. Code inutilisé.

7. Data stream line side conditions.

8. Code inutilisé.

9. Ligne indiquant des marges élevées de données d'altitude.

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
profile_penalty
(Facultatif)

La pénalité de rugosité de la courbure longitudinale est une pénalité adaptative applicable localement qui peut être utilisée pour remplacer partiellement la courbure totale.

Elle peut donner de bons résultats avec des données d'isolignes de qualité mais peut générer une situation de convergence instable si ce n'est pas le cas. Cette entrée est définie sur 0,0 en cas d'absence de courbure longitudinale (valeur par défaut), sur 0,5 pour une courbure longitudinale modérée et sur 0,8 pour une courbure longitudinale maximale. N'utilisez pas de valeurs supérieures à 0,8.

Double
out_residual_feature
(Facultatif)

Classe d'entités ponctuelles en sortie de toutes les valeurs résiduelles d'altitude élevées telles que mises à l'échelle par l'erreur de discrétisation locale.

Vous devez examiner toutes les valeurs résiduelles supérieures à 10 à la recherche d'éventuelles erreurs dans les données de cours d'eau et d'altitude en entrée. Les valeurs résiduelles élevées mises à l'échelle indiquent des conflits entre les données d'altitude et les données linéaires de cours d'eau en entrée. Cela peut également être dû à de mauvaises drainages automatiques. Pour résoudre ces conflits, commencez par rechercher des erreurs dans les données en entrée et, le cas échéant, corrigez-les, puis ajoutez des données linéaires de cours d'eau et/ou d'altitude de point. Les valeurs résiduelles élevées non mises à l'échelle signalent généralement des erreurs d'altitude en entrée.

Feature Class
out_stream_cliff_error_feature
(Facultatif)

Classe d'entités ponctuelles en sortie des emplacements où peuvent se produire des erreurs de cours d'eau et de falaise.

Il est possible d'identifier dans la classe d'entités ponctuelles les emplacements où les cours d'eau présentent des boucles fermées, des effluents et des cours d'eau au-dessus de falaises. Les falaises dont les cellules voisines sont incohérentes avec les côtés haut et bas de la falaise sont également identifiées. Cela permet d'identifier avec précision les falaises dont la direction est incorrecte.

Les points sont codés comme suit :

1. Circuit réel dans le réseau des données linéaires de cours d'eau des données.

2. Circuit dans le réseau de cours d'eau tel qu'il est codé dans le raster en sortie.

3. Circuit dans le réseau hydrographique via des lacs connectés.

4. Points des effluents.

5. Cours d'eau au-dessus d'une falaise (cascade).

6. Points indiquant plusieurs débordements de cours d'eau provenant de lacs.

7. Code inutilisé.

8. Points à proximité de falaises dont la hauteur ne correspond pas à la direction de la falaise.

9. Code inutilisé.

10. Effluent circulaire supprimé.

11. Effluent sans arrivée d'eau.

12. Effluent tramé de la cellule en sortie différent de l'endroit où commence l'effluent .

13. Erreur de traitement des conditions - indicateur de données de lignes d'écoulement très complexes.

Feature Class
out_contour_error_feature
(Facultatif)

Classe d'entités ponctuelles en sortie des erreurs possibles concernant les données d'isolignes en entrée.

Les isolignes présentant une hauteur incorrecte cinq fois supérieure à l'écart type des valeurs d'isolignes représentées dans le raster en sortie sont signalées dans cette classe d'entités. Les isolignes qui rejoignent d'autres isolignes dont l'altitude est différente sont signalées dans cette classe d'entités par le code 1. Cela indique clairement une erreur d'étiquette d'isoligne.

Feature Class

Valeur renvoyée

NomExplicationType de données
out_surface_raster

Raster de surface interpolé en sortie.

Il s'agit toujours d'un raster à virgule flottante.

Raster

Exemple de code

1er exemple de la commande TopoToRaster (fenêtre Python)

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', 'spot_meter']]), 
                       TopoContour([['contours', 'spot_meter']]),
                       TopoCliff(['cliff'])], 60, 
                       "#", "#", "#", "#", "NO_ENFORCE")
outTTR.save("C:/sapyexamples/output/ttrout.tif")
2è exemple de la commande TopoToRaster (script autonome)

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])

# Execute TopoToRaster
outTTR = TopoToRaster(inFeatures)

# Save the output 
outTTR.save("C:/sapyexamples/output/ttrout03")

Informations de licence

  • Basic: Requiert Spatial Analyst ou 3D Analyst
  • Standard: Requiert Spatial Analyst ou 3D Analyst
  • Advanced: Requiert Spatial Analyst ou 3D Analyst

Rubriques connexes