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

Sintaxis

Near3D_3d (in_features, near_features, {search_radius}, {location}, {angle}, {delta})
ParámetroExplicaciónTipo 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.

  • NO_LOCATIONLas coordenadas x,y y z no están guardadas. Esta es la opción predeterminada.
  • LOCATIONLas coordenadas x,y y z están guardadas. Se agregan seis campos de atributos adicionales a cada campo de entrada.
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.

  • NO_ANGLEEl ángulo no se guardará. Esta es la opción predeterminada.
  • ANGLELos ángulos se agregarán al resultado y se crearán los campos si todavía no existen.
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.

  • NO_DELTANo se calculará ningún delta. Esta es la opción predeterminada.
  • DELTASe calcularán los Deltas. Se agregarán tres campos adicionales (NEAR_DELTX, NEAR_DELTY y NEAR_DELTZ) al resultado.
Boolean

Ejemplo de código

Ejemplo 1 de Near3D (ventana de Python)

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")
Ejemplo 2 de Near3D (secuencia de comandos independiente)

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)

Entornos

Temas relacionados

Información de licencia

ArcView: Requiere 3D Analyst
ArcEditor: Requiere 3D Analyst
ArcInfo: Requiere 3D Analyst

7/10/2012