Interpoler une forme (3D Analyst)
Récapitulatif
Interpole des valeurs Z pour une classe d'entités selon l'altitude dérivée d'un raster, d'un réseau triangulé irrégulier (TIN) ou d'un jeu de données de MNT.
Illustration
Utilisation
-
Lorsque vous utilisez l'option d'interpolation Voisins naturels, assurez-vous de spécifier une distance de référence raisonnable. Cette distance est généralement comprise entre 0,5 et 1 fois l'espacement moyen des points des données utilisées pour créer le jeu de données de TIN ou de MNT.
-
Lors vous utilisez l'option Interpoler les sommets uniquement, les entités en entrée dont les sommets se trouvent en dehors de la zone de données de la surface sont ignorées et ne produisent aucun résultat. Découpez les entités avant d'exécuter la fonction Interpoler les formes afin de garantir qu'elles se trouvent complètement sur la surface.
Syntaxe
Paramètre | Explication | Type de données |
in_surface |
Jeu de données LAS, raster, TIN ou surface de MNT utilisés pour interpoler les valeurs z. | LAS Dataset Layer, Raster Layer; Terrain Layer; TIN Layer |
in_feature_class |
La classe d'entités en entrée. | Feature Layer |
out_feature_class |
Classe d'entités en sortie. | Feature Class |
sample_distance (Facultatif) |
Espacement selon lequel les valeurs z sont interpolées. Par défaut, il s'agit de la taille de cellule d'un raster ou de la densification naturelle d'un TIN. | Double |
z_factor (Facultatif) |
Facteur par lequel les valeurs Z sont multipliées. Il permet généralement de convertir des unités linéaires Z afin d'apparier les unités linéaires XY. La valeur par défaut est 1, qui laisse les valeurs d'altitude inchangées. | Double |
method (Facultatif) |
Méthode d'interpolation utilisée afin de déterminer des valeurs d'altitude pour les entités en sortie. Les options disponibles dépendent du type de surface utilisé. L'interpolation BILINEAR est disponible pour une surface raster, où un point de requête obtient son altitude à partir des valeurs trouvées dans les quatre cellules les plus proches. Les jeux de données de MNT et TIN fournissent les options suivantes :
| String |
vertices_only (Facultatif) |
Indique si l'interpolation survient seulement le long des sommets d'une entité en entrée, en ignorant ainsi l'option de distance de référence.
| Boolean |
pyramid_level_resolution (Facultatif) |
Résolution de taille de fenêtre ou de tolérance z du niveau de pyramide de MNT qui sera utilisée par cet outil. La valeur par défaut est 0 (ou résolution maximale). | Double |
Exemple de code
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python :
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.InterpolateShape_3d("my_tin", "roads.shp", "roads_interp.shp")
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :
'''*********************************************************************
Name: InterpolateShape Example
Description: This script demonstrates how to use InterpolateShape
on all 2D features in a target workspace.
*********************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
# Set local variables
inWorkspace = arcpy.GetParameterAsText(0)
surface = arcpy.GetParameterAsText(1)
try:
arcpy.CheckOutExtension("3D")
# Set default workspace
env.workspace = inWorkspace
# Create list of feature classes in target workspace
fcList = arcpy.ListFeatureClasses()
if fcList:
for fc in fcList:
desc = arcpy.Describe(fc)
# Find 2D features
if not desc.hasZ:
# Set Local Variables
outFC = "{0}_3D.shp".format(desc.basename)
method = "BILINEAR"
# Execute InterpolateShape
arcpy.ddd.InterpolateShape(surface, fc, outFC,
10, 1, method, True)
else:
print "{0} is not a 2D feature.".format(fc)
else:
print "No feature classes were found in {0}.".format(env.workspace)
arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)