Interpolar forma (3D Analyst)
Resumen
Interpola valores z para una clase de entidad basada en una elevación derivada de un ráster, de red irregular de triángulos (TIN) o de dataset de terreno.
Obtenga más información acerca de cómo funciona Interpolar forma
Ilustración
Uso
-
Cuando utilice la opción de interpolación de vecinos naturales, asegúrese de especificar una distancia de muestra razonable. Por lo general, esto cae entre 0,5 y 1,0 veces el espaciado de punto promedio de los datos utilizados para construir el TIN o dataset de terreno.
-
Cuando utilice la opción Interpolar solo vértices, las entidades de entrada con vértices que caen fuera del área de datos de la superficie, se ignorarán y no generarán una salida. Recorte entidades antes de ejecutar Interpolar forma para asegurarse de que las entidades estén completamente sobre la superficie.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_surface |
El dataset LAS, ráster, TIN o superficie de terreno se utiliza para interpolar valores z. | LAS Dataset Layer, Raster Layer; Terrain Layer; TIN Layer |
in_feature_class |
Clase de entidad de entrada. | Feature Layer |
out_feature_class |
La clase de entidad de salida. | Feature Class |
sample_distance (Opcional) |
El espaciado en el que se interpolarán los valores z. Por defecto, este es un tamaño de celda de un ráster o una densificación natural de un TIN. | Double |
z_factor (Opcional) |
El factor por el que se multiplicarán los valores de elevación. Esto se suele usar para convertir unidades lineales Z que coinciden con las de las unidades lineales XY. El valor predeterminado es 1, que no altera los valores de elevación. | Double |
method (Opcional) |
El método de interpolación usado para determinar los valores de elevación para las entidades de salida. Las opciones disponibles dependen del tipo de superficie que se utiliza. La interpolación BILINEAR está disponible para una superficie ráster, en donde un punto de consulta obtiene su elevación desde los valores encontrados en las cuatro celdas más cercanas. Los dataset de TIN y de terreno proporcionan las siguientes opciones:
| String |
vertices_only (Opcional) |
Especifica si la interpolación ocurrirá solo a lo largo de los vértices de una entidad de entrada, ignorando así la opción de distancia de muestra.
| Boolean |
pyramid_level_resolution (Opcional) |
La tolerancia Z o la resolución del tamaño de la ventana del nivel de pirámide de terreno que utilizará esta herramienta. El valor predeterminado es 0, o resolución completa. | Double |
Ejemplo de código
El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana Python:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.InterpolateShape_3d("my_tin", "roads.shp", "roads_interp.shp")
El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:
'''*********************************************************************
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)