Résumé
Crée des entités 3D en interpolant les valeurs Z d'une surface.
Illustration
Utilisation
Lorsque vous utilisez une interpolation par voisins naturels, spécifiez une distance d'échantillonnage égale ou supérieure à la moitié de l'espacement moyen des points des données à la surface.
Lors vous utilisez l'option Interpolate Vertices Only (Interpoler les sommets uniquement), les entités dont les sommets se trouvent en dehors de la zone de données de la surface ne feront pas partie de la sortie, sauf en cas de surface raster en entrée et d’utilisation de la méthode d’interpolation du voisin le plus proche.
Syntaxe
arcpy.ddd.InterpolateShape(in_surface, in_feature_class, out_feature_class, {sample_distance}, {z_factor}, {method}, {vertices_only}, {pyramid_level_resolution}, {preserve_features})
Paramètre | Explication | Type de données |
in_surface | Surface à utiliser pour interpoler les valeurs z. | LAS Dataset Layer; Mosaic Layer; Raster Layer; Terrain Layer; TIN Layer |
in_feature_class | Entités en entrée à traiter. | Feature Layer |
out_feature_class | Classe d'entités qui va être produite par cet outil. | 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 jeu de données raster ou de la densification naturelle d'une surface triangulée. | 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 de 1, ce qui laisse les valeurs d’altitude inchangées. Ce paramètre est désactivé si la référence spatiale de la surface en entrée possède un datum Z avec une unité linéaire spécifiée. | 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é.
| 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 |
preserve_features (Facultatif) | Indique si les entités dont un ou plusieurs sommets se trouvent en dehors de la zone de données du raster seront conservées dans la sortie. Ce paramètre est disponible uniquement en cas de surface raster en entrée et d’utilisation de la méthode d’interpolation du voisin le plus proche.
| Boolean |
Exemple de code
1er exemple d'utilisation de l'outil InterpolateShape (fenêtre Python)
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")
2e exemple d'utilisation de l'outil InterpolateShape (script autonome)
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)
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst