Agregar información Z (3D Analyst)
Resumen
Agrega información sobre las propiedades de elevación de las entidades de una clase de entidad habilitada para Z.
Se examina cada forma 3D y las propiedades seleccionadas se agregan a la tabla de atributos de la clase de entidad de entrada. Las opciones de salida varían según la geometría de la entidad.
Uso
-
Las siguientes propiedades de Z están disponibles:
- Puntos: Z
- Multipuntos: Z mínimo, Z máximo, Z medio, conteo de puntos
- Polilíneas: Z mínimo, Z máximo, Z medio, longitud 3D, pendiente mínima, pendiente máxima, pendiente promedio, conteo de vértices
- Polígonos: Z mínimo, Z máximo, Z medio, longitud 3D, pendiente mínima, pendiente máxima, pendiente promedio, conteo de vértices
- Multiparches: Z mínimo, Z máximo, área de superficie, volumen, pendiente mínima, pendiente máxima, pendiente promedio
-
La pendiente se obtiene como valor porcentual o grado, y se calcula de un modo distinto para cada tipo de geometría compatible con esta propiedad.
- Los valores de pendiente de las entidades de línea se calculan para cada segmento de línea:
- La pendiente mínima se obtiene del segmento cuyo valor es más cercano a 0, o grado horizontal.
- La pendiente máxima se obtiene del segmento con el valor calculado más grande.
- La pendiente promedio se obtiene promediando la pendiente de todos los segmentos de línea después de ponderar cada segmento por su longitud 3D. Como resultado, los segmentos más largos tienen una influencia mayor que los segmentos más cortos.
- Los valores de pendiente de las entidades multiparche se calculan para cada cara del triángulo.
- La pendiente mínima se obtiene de la cara cuyo valor es más cercano a 0, o grado horizontal.
- La pendiente máxima se obtiene de la cara con el valor más grande.
- La pendiente promedio se obtiene promediando la pendiente de todas las caras del triángulo después de ponderar cada segmento por su área tridimensional. Como resultado, las áreas más grandes tienen una influencia mayor en el valor resultante que las más pequeñas.
- Los valores de pendiente de las entidades poligonales se calculan en los bordes usando la misma técnica que se aplica en el caso de los segmentos de línea.
- Los valores de pendiente de las entidades de línea se calculan para cada segmento de línea:
El volumen solo se puede calcular para los multiparches cerrados. Una entidad multiparche abierta devolverá el valor 0.0. En la plataforma Solaris, una limitación de diseño impide actualmente que la herramienta determine si un multiparche es cerrado y, como resultado, las mediciones de volumen se calculan para todos los multiparches suponiendo que son cerrados.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_feature_class |
Clase de entidad de entrada. | Feature Layer |
out_property [out_property,...] | Las propiedades de Z que se agregan a la tabla de atributos de la clase de entidad de entrada. Las siguientes opciones están disponibles:
| String |
noise_filtering (Opcional) |
Proporciona la opción de excluir pequeñas porciones de entidades de los cálculos estadísticos. Esta opción es útil para obtener buenas estimaciones de pendiente máxima, ya que las pequeñas porciones presentan a menudo pendientes extremas que pueden sesgar los resultados estadísticos. Los valores dados en las opciones Área o Longitud se utilizarán para excluir estas porciones de entidades. Este parámetro no se aplica a las entidades de punto y multipunto.
| String |
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.AddZInformation_3d('lines_3D.shp', 'Z_MEAN; LENGTH_3D; AVG_SLOPE',
'NO_FILTER')
El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:
'''******************************************************************
Name: AddZInformation Example
Description: This script demonstrates AddZInformation on all
z-aware features in a target workspace.
******************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env
try:
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
# Create list of feature classes
fcList = arcpy.ListFeatureClasses()
if fcList:
for fc in fcList:
desc = arcpy.Describe(fc)
if desc.hasZ:
# Set Local Variables
noise = 'No_Filter'
if desc.shapeType == 'Polygon':
Prop = ['Z_MIN', 'Z_MAX', 'VERTEX_COUNT']
elif desc.shapeType == 'Point':
Prop = 'Z'
elif desc.shapeType == 'Multipoint':
Prop = ['Z_MIN', 'Z_MAX', 'Z_MEAN']
elif desc.shapeType == 'Polyline':
Prop = 'LENGTH_3D'
print 'Completed adding Z information.'
# Execute AddZInformation
arcpy.AddZInformation_3d(inFC, Prop, noise)
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)