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 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.
Syntaxe
InterpolateShape_3d (in_surface, in_feature_class, out_feature_class, {sample_distance}, {z_factor}, {method}, {vertices_only}, {pyramid_level_resolution})
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 | 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 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é :
| 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
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
- ArcGIS Desktop Basic: Requiert 3D Analyst
- ArcGIS Desktop Standard: Requiert 3D Analyst
- ArcGIS Desktop Advanced: Requiert 3D Analyst