Agregar información de superficie (3D Analyst)

Resumen

Atribuye a las entidades información espacial derivada de una superficie.

Uso

Sintaxis

AddSurfaceInformation_3d (in_feature_class, in_surface, out_property, {method}, {sample_distance}, {z_factor}, {pyramid_level_resolution}, {noise_filtering})
ParámetroExplicaciónTipo de datos
in_feature_class

Las entidades de punto, multipunto, polilínea o polígono que definen las ubicaciones para determinar una o más propiedades de superficie.

Feature Layer
in_surface

La superficie de dataset LAS, ráster, de terreno o TIN que se utiliza para interpolar los valores Z.

LAS Dataset Layer; Raster Layer; Terrain Layer; TIN Layer
out_property

La propiedad de elevación de la superficie que se agrega a la tabla de atributos de la clase de entidad de entrada. La siguiente lista resume las palabras clave de propiedad disponibles y sus tipos de geometría compatible:

  • ZElevación de superficie interpolada para la ubicación XY de cada entidad de un punto.
  • Z_MINElevación de superficie más baja en el área definida por el polígono a lo largo de la longitud de una línea o entre los valores interpolados para los puntos de un registro multipunto.
  • Z_MAXElevación de superficie más alta en el área definida por el polígono a lo largo de la longitud de una línea o entre los valores interpolados para los puntos de un registro multipunto.
  • Z_MEANElevación de superficie promedio del área definida por el polígono a lo largo de la longitud de una línea o entre los valores interpolados para los puntos de un registro multipunto.
  • SURFACE_AREAÁrea de la superficie 3D de la región definida por cada polígono.
  • SURFACE_LENGTHDistancia 3D de la línea a lo largo de la superficie.
  • MIN_SLOPEEl valor de la pendiente más cercano a cero a lo largo de la línea o dentro del área definida por el polígono.
  • MAX_SLOPEEl valor de la pendiente más alto a lo largo de la línea o dentro del área definida por el polígono.
  • AVG_SLOPEEl valor de la pendiente promedio a lo largo de la línea o dentro del área definida por el polígono.
String
method
(Opcional)

El método de interpolación que se utilizará para determinar la información de la superficie. La interpolación bilineal siempre se usa para las superficies ráster, mientras que las siguientes opciones están disponibles para las superficies trianguladas:

  • LINEAR El valor Z se interpola desde el plano del triángulo de superficie que contiene el punto de consulta. Esta es la opción predeterminada.
  • NATURAL_NEIGHBORS Aplica pesos basados en el área a las mediciones de superficie incluidas en la vecindad natural de un punto de consulta.
  • CONFLATE_ZMIN Usa el valor Z más bajo de las mediciones de superficie incluidas en la vecindad natural de un punto de consulta.
  • CONFLATE_ZMAX Usa el valor Z más alto de las mediciones de superficie incluidas en la vecindad natural de un punto de consulta.
  • CONFLATE_NEAREST Obtiene el valor Z de la medición de superficie cuya distancia XY está más cerca del punto de consulta.
  • CONFLATE_CLOSEST_TO_MEAN Obtiene el valor Z de la medición de superficie de la vecindad natural del punto de consulta cuyo valor está más cerca del promedio de las mediciones colindantes.
String
sample_distance
(Opcional)

El espaciado en el que se interpolarán los valores z. Por defecto, el tamaño de celda ráster se utiliza cuando la superficie de entrada es un ráster, y la densificación natural de la superficie de triángulos se utiliza cuando la entrada es un dataset de TIN o de terreno.

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
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
noise_filtering
(Opcional)

Impide que las porciones de superficie que pueden estar caracterizadas por mediciones anómalas contribuyan a los cálculos de pendiente. Las entidades de línea ofrecen un filtro de longitud, mientras que los polígonos proporcionan un filtro de área, y el valor correspondiente a las distintas opciones de filtrado se evalúa en las unidades lineales del sistema de coordenadas de la entidad. Las propiedades no relacionadas con la pendiente no se ven afectadas por este parámetro.

  • NO_FILTERNo se utilizará ningún filtro de ruido para limitar los segmentos de línea o los triángulos de superficie incluidos en los cálculos de la pendiente. Esta es la opción predeterminada.
  • AREA <value>Los triángulos de superficie con áreas 3D menores que el valor especificado se excluirán para que no contribuyan a los cálculos de la pendiente.
  • LENGTH <value> Los segmentos de línea cuya longitud 3D tras la interpolación en la superficie sea menor que el valor especificado se excluirán para que no contribuyan a los cálculos de la pendiente.
String

Ejemplo de código

Ejemplo 1 de AddSurfaceInformation (ventana de Python)

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.AddSurfaceInformation_3d("points.shp", "my_tin", "Z", "LINEAR")
Ejemplo 2 de AddSurfaceInformation (secuencia de comandos independiente)

El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:

'''*********************************************************************
Name: AddSurfaceInformation Example
Description: This script demonstrates how to use AddSurfaceInformation 
             on all 2D feature classes in a target workspace.
*********************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback

try:
    arcpy.CheckOutExtension("3D")
    # Set Local Variables
    env.workspace = 'c:/data'
    inSurface = 'fgdb.gdb/municipal/terrain'
    pyramid = 5
    method = "BILINEAR"
    # Create list of feature classes
    fcList = arcpy.ListFeatureClasses()
    if fcList:
        for fc in fcList:
            desc = arcpy.Describe(fc)
            # Determine if the feature is 2D
            if not desc.hasZ:
                if desc.shapeType == "Polygon":
                    # Desired properties separated by semi-colons
                    Prop = "Z_MIN;Z_MAX" 
                elif desc.shapeType == "Point":
                    Prop = "Z"
                elif desc.shapeType == "Multipoint":
                    Prop = "Z_MIN;Z_MAX;Z_MEAN"
                elif desc.shapeType == "Polyline":
                    Prop = "LENGTH_3D"
                # Execute AddSurfaceInformation
                arcpy.ddd.AddSurfaceInformation(fc, inSurface, Prop, 
                                                method, 15, 1, pyramid)
                print "Completed adding surface information."
    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)

Entornos

Temas relacionados

9/11/2013