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
Todas las clases de entidad deben tener valores Z y todos los tipos de geometría se admiten. Las entidades de entrada también pueden especificarse como las entidades próximas para determinar las entidades más próximas dentro de la misma clase de entidad.
Los siguientes campos pueden añadirse a la tabla de atributos de la entidad de entrada:
- NEAR_FID: FID de la entidad más cercana. Un valor de -1 indica que no se ha encontrado ningún resultado dentro del radio de búsqueda especificado.
- NEAR_DIST: distancia 2D (distancia horizontal) entre el punto más cercano de una entidad de entrada y el punto más cercano de la entidad más cercana.
- NEAR_DIST3: distancia 3D (distancia de pendiente) entre el punto más cercano de una entidad de entrada y el punto más cercano de la entidad más cercana.
- NEAR_DELTX: distancia a lo largo del eje X desde el punto más cercano de la entidad de entrada hasta el punto más cercano de la entidad más cercana.
- NEAR_DELTY: distancia a lo largo del eje Y desde el punto más cercano de la entidad de entrada hasta el punto más cercano de la entidad más cercana.
- NEAR_DELTZ: distancia a lo largo del eje Z desde el punto más cercano de la entidad de entrada hasta el punto más cercano de la entidad más cercana.
- NEAR_FROMX: la coordenada X del punto más cercano de la entidad de entrada a la entidad más cercana.
- NEAR_FROMY: la coordenada Y del punto más cercano de la entidad de entrada a la entidad más cercana.
- NEAR_FROMZ: la coordenada Z del punto más cercano de la entidad de entrada a la entidad más cercana.
- NEAR_X: la coordenada X del punto más cercano de la entidad más cercana.
- NEAR_Y: la coordenada Y del punto más cercano de la entidad más cercana.
- NEAR_Z: la coordenada Z del punto más cercano de la entidad más cercana.
- NEAR_ANG_H: el ángulo aritmético horizontal al punto más cercano, expresado en grados.
- NEAR_ANG_V: el ángulo de elevación al punto más cercano, expresado en grados. Horizontal es cero, recto hacia arriba es 90, recto hacia abajo es -90.
- NEAR_FC: ruta de la clase de entidad que contiene la entidad más cercana. El campo sólo se agrega cuando se especifican varias entidades cercanas.
Sintaxis
arcpy.ddd.Near3D(in_features, near_features, {search_radius}, {location}, {angle}, {delta})
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 [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 contenía la entidad más cercana. | Feature Layer |
search_radius (Opcional) | La distancia máxima con respecto a la cual se determinarán las entidades más cercanas a partir de una entrada concreta. Si no se especifica ningún valor, se determinará la entidad más cercana a cualquier distancia. | Linear Unit |
location (Opcional) | Determina si las coordenadas del punto más cercano en la entidad de entrada y cercana se añadirán a la tabla de atributos de la entrada.
| Boolean |
angle (Opcional) | Determina si el ángulo aritmético horizontal y el ángulo vertical entre la entidad de entrada y la entidad más cercana se añadirán a la tabla de atributos de entrada.
| Boolean |
delta (Opcional) | Determina si las distancias a lo largo de los ejes X, Y y Z entre la entidad de entrada y la entidad más cercana se agregarán a la tabla de atributos de entrada.
| Boolean |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_feature_class | Las entidades de entrada actualizadas. | Capa de entidades |
Muestra de código
Ejemplo 1 de Near3D (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.Near3D_3d("points_3D.shp", "buildings_multipatch.shp", "30", "LOCATION", "ANGLE", "DELTA")
Ejemplo 2 de Near3D (script independiente)
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.
'''****************************************************************************
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)
Entornos
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst