Intersecar línea 3D con multiparche (3D Analyst)

Resumen

Computa una intersección geométrica de la línea de entrada y las entidades multiparche y devuelve la cantidad de puntos de intersección. Los puntos (de intersección) o las líneas (que resultan de líneas de entrada que se dañan en los puntos de intersección) pueden escribirse opcionalmente en las clases de entidad de salida.

Más información sobre cómo funciona Intersecar línea 3D con multiparche (3D Analyst)

Ilustración

Uso

Sintaxis

Intersect3DLineWithMultiPatch_3d (in_line_features, in_multipatch_features, {join_attributes}, {out_point_feature_class}, {out_line_feature_class})
ParámetroExplicaciónTipo de datos
in_line_features

La capa o clase de entidad de línea de entrada.

Feature Layer
in_multipatch_features

La capa o clase de entidad multiparche de entrada.

Feature Layer
join_attributes
(Opcional)

Permite que todos los campos no requeridos (en otras palabras, sin ObjectID o geometría) y los valores de la clase de entidad de línea de entrada se copien en la clase de entidad de línea de salida opcional.

  • IDS_ONLY Ningún atributo de la clase de entidad de línea de entrada se escribirá en la clase de entidad de línea de salida. Esta es la configuración predeterminada.
  • ALLTodos los atributos de la clase de entidad de línea de entrada se escribirán en la clase de entidad de línea de salida.
String
out_point_feature_class
(Opcional)

La clase de entidad opcional en la que se ubicarán los puntos de intersección.

Feature Class
out_line_feature_class
(Opcional)

La clase de entidad opcional en la que se ubicarán las líneas (líneas de entrada dañadas en los puntos de intersección).

Feature Class

Ejemplo de código

Ejemplo 1 de Intersecar línea 3D con multiparche (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función Intersecar línea 3D con multiparche en el modo inmediato.

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
env.workspace = 'C:/data'
arcpy.Intersect3DLineWithMultiPatch_3d('inLine.shp', 'inMultipatch.shp', 
                                     'IDS_ONLY', 'outPts.shp', 'outLine.shp')
Ejemplo 2 de Intersecar línea 3D con multiparche (secuencia de comandos independiente)

La siguiente secuencia de comandos de Python muestra cómo utilizar la función Intersecar línea 3D con multiparche en una secuencia de comandos independiente.

'''****************************************************************************
Name: Intersect3DLineWithMultiPatch Example
Description: This script demonstrates how to
             use the Intersect3DLine tool.
****************************************************************************'''
# 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
    inLineFC = 'sample.gdb/lines_3d'
    inMP = 'sample.gdb/test_MP'
    # Ensure a unique name is produced for output files
    outPoint = arcpy.CreateUniqueName('OutPt_3DIntersect', 'sample.gdb')
    outLine = arcpy.CreateUniqueName('OutLine_3DIntersect', 'sample.gdb')
    
    # Execute Intersect 3D Line with Multipatch
    arcpy.Intersect3DLineWithMultiPatch_3d(inLineFC, inMP, 'IDS_ONLY', 
                                        outPoint, outLine)

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