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:
Geometría de entidad Propiedades de Z Punto
Valor Z del punto.
Multipunto
Conteo de puntos y valores Z mínimo, máximo y medio de todos los puntos del registro multipunto.
Polilínea y polígono
Conteo de vértices y distancia 3D de la línea o el perímetro del polígono.
Mínimo, máximo y media del valor Z y pendiente de la línea o el perímetro del polígono.
Multiparche
Área y volumen de la superficie de un multiparche cerrado.
Mínimo, máximo y media del valor Z y pendiente a lo largo de la superficie multiparche.
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 y de los perímetros de polígonos se calculan a lo largo de cada segmento:
- La pendiente mínima se obtiene desde el segmento cuyo valor es más cercano a 0, o grado horizontal.
- La pendiente máxima se obtiene desde el segmento con el mayor valor calculado.
- 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 y de los perímetros de polígonos se calculan a lo largo de cada segmento:
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
AddZInformation_3d (in_feature_class, out_property, {noise_filtering})
Parámetro | Explicación | Tipo de datos |
in_feature_class | Las entidades de entrada que se van a procesar. | 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) | Valor numérico opcional utilizado para excluir porciones de entidades de los cálculos resultantes. Puede ser útil cuando la entrada 3D contiene entidades relativamente pequeñas con pendientes extremas que pueden sesgar los resultados estadísticos. Si la unidad lineal de la entrada 3D es el metro, especificar un valor de 0,001 causará la exclusión de las líneas o bordes de polígono cuya longitud sea inferior a 0,001 metros. En el caso de las entidades multiparche, este mismo valor causará la exclusión de las subpartes cuya área sea inferior a 0,001 metros cuadrados. Este parámetro no se aplica a las entidades de punto y multipunto. El filtro Área está disponible cuando la entrada es un multiparche; el filtro Longitud está disponible cuando la entrada es una línea o un polígono. | String |
Muestra de código
Ejemplo 1 de AddZInformation (ventana de Python)
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de 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')
Ejemplo 2 de AddZInformation (secuencia de comandos independiente)
En el siguiente ejemplo se 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)
Entornos
Información sobre licencias
- ArcGIS Desktop Basic: Requiere 3D Analyst
- ArcGIS Desktop Standard: Requiere 3D Analyst
- ArcGIS Desktop Advanced: Requiere 3D Analyst