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

Nivel de licencia:BasicStandardAdvanced

Resumen

Determina y devuelve el número de intersecciones geométricas en las entidades de línea y multiparche. Entidades de punto que representan la intersección y las entidades de línea que representan las líneas de entrada divididas en dichos puntos se pueden escribir opcionalmente en las clases de entidad de salida.

Ilustración

Intersect 3D Line With Multipatch example

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

Las entidades de línea que se intersecarán con entidades multiparche.

Feature Layer
in_multipatch_features

Las entidades multiparche que las líneas intersecarán.

Feature Layer
join_attributes
(Opcional)

Define si los atributos de las entidades de línea de entrada se conservarán en la clase de entidad de línea de salida.

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

Las entidades opcionales que representan puntos de intersección entre la línea 3D y un multiparche.

Feature Class
out_line_feature_class
(Opcional)

Entidades de línea opcionales que dividen líneas 3D de entrada en puntos de intersección con entidades multiparche.

Feature Class

Ejemplo de código

Ejemplo 1 de Intersect3DLineWithMultipatch (ventana de Python)

El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana Python:

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 Intersect3DLineWithMultipatch (secuencia de comandos independiente)

El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:

'''****************************************************************************
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 sobre licencias

ArcGIS for Desktop Basic: Requiere 3D Analyst
ArcGIS for Desktop Standard: Requiere 3D Analyst
ArcGIS for Desktop Advanced: Requiere 3D Analyst
5/9/2014