Intersection ligne 3D avec multipatchs (3D Analyst)

Niveau de licence :De baseStandardAvancé

Récapitulatif

Détermine et renvoie le nombre d'intersections géométriques entre les entités linéaires et multipatch. Les entités ponctuelles représentant l'intersection et les entités linéaires représentant les lignes en entrée divisées au niveau de ces points peuvent éventuellement être enregistrées dans les classes d'entités en sortie.

Illustration

Intersection ligne 3D avec Multipatchs, exemple

Utilisation

Syntaxe

Intersect3DLineWithMultiPatch_3d (in_line_features, in_multipatch_features, {join_attributes}, {out_point_feature_class}, {out_line_feature_class})
ParamètreExplicationType de données
in_line_features

Entités linéaires qui seront intersectées avec des entités multipatch.

Feature Layer
in_multipatch_features

Entités multipatch en fonction desquelles les lignes seront intersectées.

Feature Layer
join_attributes
(Facultatif)

Indique si les attributs des entités linéaires en entrée sont conservés dans la classe d'entités lignes en sortie.

  • IDS_ONLY Aucun attribut des entités linéaires en entrée n'est enregistré dans la classe d'entités lignes en sortie. Il s'agit de l'option par défaut.
  • ALLTous les attributs des entités linéaires en entrées sont enregistrés dans la classe d'entités lignes en sortie.
String
out_point_feature_class
(Facultatif)

Entités facultatives qui représentent les points d'intersection entre la ligne 3D et le multipatch.

Feature Class
out_line_feature_class
(Facultatif)

Entités linéaires facultatives qui divisent les lignes 3D en entrée aux points d'intersection avec les entités multipatch.

Feature Class

Exemple de code

1er exemple d'utilisation de l'outil Intersect3DLineWithMultipatch (fenêtre Python)

L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre 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')
2e exemple d'utilisation de l'outil Intersect3DLineWithMultipatch (script autonome)

L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :

'''****************************************************************************
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)

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic : Requis 3D Analyst
ArcGIS for Desktop Standard : Requis 3D Analyst
ArcGIS for Desktop Advanced : Requis 3D Analyst
9/12/2013