Cercano a 3D (3D Analyst)
Resumen
Calcula la distancia tridimensional desde cada entidad de entrada hasta la entidad más cercana que resida en una o más clases de entidad cercanas.
Uso
Todos los tipos de geometría se admiten y todas las clases de entidad de entrada deben tener valores Z.
Las Entidades cercanas pueden incluir una clase de entidad o más de diferentes tipos de forma.
Las Entidades cercanas pueden ser del mismo dataset que las Entidades de entrada. Cuando la Entidad cercana más cercana a la entidad de entrada es ella misma (la distancia es 0), esta entidad se ignora y se busca la siguiente entidad más cercana.
La diferencia básica entre la herramienta Cercano y la herramienta Cercano 3D es que la herramienta Cercano de 3D trabaja con entidades 3D en lugar de entidades 2D. Además, las distancias que se comparan mediante la herramienta Cerca de 3D son las distancias 3D (pendiente), en vez de las distancias horizontales. Varios campos adicionales también pueden ser salida.
Los campos de ángulo sólo se crearán o completarán si opción Ángulo está habilitada.
Los siguientes campos están incorporados a la tabla de atributos de la entidad de entrada:
- NEAR_FID: el FID de la entidad cercana más cercana.
- NEAR_DIST: la distancia 2D (distancia horizontal) entre el punto más cercano sobre una entidad de entrada y el punto más cercano sobre la entidad cercana más cercana.
- NEAR_DIST3: la distancia 3D (distancia de pendiente) entre el punto más cercano sobre una entidad de entrada y el punto más cercano sobre la entidad cercana más cercana.
- NEAR_DELTX: la distancia a lo largo del eje X desde el punto más cercano sobre la entidad de entrada hasta el punto más cercano sobre la entidad cercana más cercana.
- NEAR_DELTY: la distancia a lo largo del eje Y desde el punto más cercano sobre la entidad de entrada hasta el punto más cercano sobre la entidad cercana más cercana.
- NEAR_DELTZ: la distancia a lo largo del eje Z desde el punto más cercano sobre la entidad de entrada hasta el punto más cercano sobre la entidad cercana más cercana.
- NEAR_FROMX: la coordenada X del punto más cercano sobre la entidad de entrada más cercana al punto más cercano sobre la entidad cercana más cercana.
- NEAR_FROMY: la coordenada Y del punto más cercano sobre la entidad de entrada más cercana al punto más cercano sobre la entidad cercana más cercana.
- NEAR_FROMZ: la coordenada Z del punto más cercano sobre la entidad de entrada más cercana al punto más cercano sobre la entidad cercana más cercana.
- NEAR_X: la coordenada X del punto más cercano sobre la entidad cercana más cercana o del punto imaginario más cercano a lo largo de la entidad cercana más cercana.
- NEAR_Y: la coordenada Y del punto más cercano sobre la entidad cercana más cercana o del punto imaginario más cercano a lo largo de la entidad cercana más cercana.
- NEAR_Z: la coordenada Z del punto más cercano sobre la entidad cercana más cercana o del punto imaginario más cercano a lo largo de la entidad cercana más cercana.
- NEAR_ANG_H: el ángulo geográfico horizontal (acimut norte), en grados, entre el punto más cercano sobre la entidad de entrada y el punto más cercano sobre la entidad cercana más cercana. Es el mismo sistema utilizado por la herramienta Cerca anterior; no es un acimut ni un rumbo. Hacia el este es cero; hacia el noreste es 45; hacia el norte es 90, hacia el sur es -90 y hacia el oeste es 180 o -180. Este valor omite la elevación.
- NEAR_ANG_V: el ángulo vertical (conocido como el ángulo de elevación), en grados, desde el punto más cercano sobre la entidad de entrada hasta el punto más cercano sobre la entidad cercana más cercana. Horizontal es cero, derecho hacia arriba es 90, derecho hacia abajo es -90, arriba a 10 grados por encima de horizontal es 10.
- NEAR_FC: el nombre de ruta de la clase de entidad que contiene la entidad cercana más cercana. El campo sólo se agrega cuando se especifican varias entidades cercanas.
Si los campos mencionados anteriormente ya existen su valor se actualiza.
Los valores para NEAR_FID, NEAR_DIST y NEAR_DIST3 serán -1 si no se encontró ninguna coincidencia dentro del radio de búsqueda.
Los campos NEAR_DELTX, NEAR_DELTY y NEAR_DELTZ sólo se crearán y completarán si opción Delta está habilitada.
Los campos NEAR_FROMX, NEAR_FROMY, NEAR_FROMZ, NEAR_X, NEAR_Y y NEAR_Z sólo se crearán o completarán si la casilla de verificación Ubicación está marcada.
This tool is a 3D set operator that provides analytical functions on 3D features. See Working with 3D set operators for more information on what set operators are and how to use them.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_features |
Las clase de entidad de entrada cuyas entidades se atribuirán con la información sobre la entidad más cercana. | Feature Layer |
near_features |
Una o más entidades cuya proximidad a las entidades de entrada se calculará. Si se especifican varias clases de entidad, se agregará un campo adicional denominado NEAR_FC a la clase de entidad de entrada para identificar qué clase de entidad cercana contiene la entidad más cercana. | Feature Layer |
search_radius (Opcional) |
La distancia máxima entre Entidades de entrada y Entidades cercanas para las cuales se determinarán la distancia y el FID. Si no se especifica el radio de búsqueda, se utilizarán todas las entidades cercanas. | Linear Unit |
location (Opcional) |
Determina si se deben agregar campos de seis coordenadas (dos conjuntos de valores XYZ) a cada entidad de entrada. Los valores son las tres coordenadas de la entidad de entrada (NEAR_FROMX, NEAR_FROMY, NEAR_FROMZ) y las tres coordenadas de la entidad más cercana (NEAR_X, NEAR_Y, NEAR_Z). Los campos NEAR_FID y NEAR_DIST se agregan siempre, independientemente de la opción de ubicación.
| Boolean |
angle (Opcional) |
Determina si se deben calcular los ángulos entre la entidad de entrada y la entidad más cercana y si se deben almacenar en los campos NEAR_ANG_H y NEAR_ANG_V. Ambos valores de ángulos se expresan en grados, donde un grado representa 1/360 de un círculo y las fracciones de un grado se representan como puntos decimales. Los ángulos horizontales se miden de 180° a -180°; 0° al este, 90° al norte, 180° (-180°) al oeste y -90° al sur. Los ángulos verticales son cero para la horizontal, 90° para la recta hacia arriba y -90° la para recta hacia abajo.
| Boolean |
delta (Opcional) |
Determina si se deben calcular las distancias a lo largo de los ejes principales entre la entidad de entrada y la entidad más cercana y si se deben almacenar en los campos NEAR_DELTX, NEAR_DELTY y NEAR_DELTZ.
| Boolean |
Ejemplo de código
The following sample demonstrates the use of this tool in the Python window:
import arcpy from arcpy import env arcpy.CheckOutExtension("3D") env.workspace = "C:/data" arcpy.Near3D_3d("points_3D.shp", "buildings_multipatch.shp", "30", "LOCATION", "ANGLE", "DELTA")
La siguiente muestra demuestra cómo utilizar esta herramienta en una secuencia de comandos Python independiente:
'''**************************************************************************** Name: Near 3D Example Description: This script demonstrates how to use the Near 3D tool to identify the nearest z-aware features that satisfy the results from a queried feature. ****************************************************************************''' # Import system modules import arcpy import exceptions, sys, traceback from arcpy import env try: # Obtain a license for the ArcGIS 3D Analyst extension arcpy.CheckOutExtension('3D') # Set environment settings env.workspace = 'C:/data' # Set Local Variables inFC = 'homes.shp' nearFC = 'radiotowers.shp' # See the 'Building an SQL expression' topic for more information # Query the field 'MATERIAL' for the string 'Reinforced Concrete' SQL_Expression = "'"'MATERIAL'"' = 'Reinforced Concrete'" #Execute Make Feature Layer arcpy.MakeFeatureLayer_management(nearFC, 'Near Layer', SQL_Expression) result = arcpy.GetCount_management('Near Layer') if int(result.getOutput(0)) == 0: arcpy.AddMessage('{0} has no features that satisfy the query: {1}'\ .format(nearFC, SQL_Expression)) else: #Execute Near3D arcpy.Near3D_3d(inFC, 'nearLayer', '', 'LOCATION', 'ANGLE') 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)