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.
Pour en savoir plus sur la fonction Interpoler les formes (3D Analyst)
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.
Le paramètre Facteur Z affecte uniquement les résultats pour les rasters et les TIN, et non pour les jeux de données de MNT. Pour appliquer un facteur Z aux entités issues d'un jeu de données de MNT, utilisez l'outil Ajuster Z 3D.
Syntaxe
| Paramètre | Explication | Type de données |
in_surface |
The raster, TIN, or terrain surface used for interpolating z-values. | Raster Layer; Terrain Layer; TIN Layer |
in_feature_class |
The input feature class. | Feature Layer |
out_feature_class |
The output feature class. | 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) |
The factor by which elevation values will be multiplied. This is typically used to convert Z linear units that match those of the XY linear units. The default is 1, which leaves elevation values unchanged. | 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) |
The z-tolerance or window size resolution of the terrain pyramid level that will be used by this tool. The default is 0, or full resolution. | Double |
Exemple de code
The following sample demonstrates the use of this tool in the Python window:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.InterpolateShape_3d("my_tin", "roads.shp", "roads_interp.shp")
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''*********************************************************************
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)
