Zusammenfassung
Gibt die Anzahl der geometrischen Schnittpunkte zwischen 3D-Linien- und Multipatch-Features zurück. Optional werden Features bereitgestellt, die die Schnittpunkte darstellen und gleichzeitig die 3D-Linien an den Schnittpunkten teilen.
Abbildung

Verwendung
- Die Anzahl der Schnittpunkte wird im Meldungsfenster zurückgegeben. Sie kann in einem Modell oder Skript verwendet werden, um Vorbedingungen für nachfolgende Vorgänge festzulegen. 
- Dieses Werkzeug bestimmt die Schnittpunkte im euklidischen 3D-Raum. 2D-Linien-Features werden von diesem Werkzeug nicht unterstützt, 2D-Linien-Features mit Höhendefinitionen, die in einem Attributfeld gespeichert sind, können jedoch mit Feature zu 3D nach Attribut in 3D konvertiert werden. 
- Die Punktausgabe stellt Schnittpunkte zwischen den Eingabe-Linien- und Multipatch-Features dar und enthält die folgenden Attribute: - LINE_OID: Die OBJECTID der ursprünglichen Linie, die einen Schnittpunkt aufweist.
- MPATCH_OID: Die OBJECTID des Multipatch, das sich an dieser Position mit der Linie überschneidet.
- DIST_3D: Die 3D-Entfernung entlang der ursprünglichen Linie, bei der sich der Schnittpunkt befindet.
 
- Die optionale Linienausgabe unterteilt Linien-Features an den Schnittpunkten und enthält die folgenden Attribute: - LINE_OID: Die OBJECTID der ursprünglichen Linie, von der die neue Linie abgeleitet wurde.
- FROM_MP_ID: Die OBJECTID des Multipatch-Features, das den Anfang der Linie schneidet. Mit dem Wert -1 wird angegeben, dass der Anfang der Linie kein Schnittpunkt ist.
- TO_MP_ID: Die OBJECTID des Multipatch, das das Ende der Linie schneidet. Mit dem Wert -1 wird angegeben, dass der Anfang der Linie kein Schnittpunkt ist.
- DIST_3D: Die 3D-Entfernung entlang der ursprünglichen Linie, bei der ein Schnittpunkt gefunden wurde und der den Anfang dieser neuen Linie darstellt.
- LENGTH_3D: Die 3D-Länge dieser neuen Linie. Die Summe der Längen jeder neuen Linie, die von einer ursprünglichen Linie abgeleitet wurde, entspricht der 3D-Länge der ursprünglichen Linie.
 
- Durch die Verwendung der Ausgabe-Line-Feature-Class durch den Parameter Ausgabe-Attribute ist es möglich, in den optionalen Ausgabe-Features auf Attributwerte der ursprünglichen Linien zu verweisen. 
Syntax
Intersect3DLineWithMultiPatch(in_line_features, in_multipatch_features, {join_attributes}, {out_point_feature_class}, {out_line_feature_class})| Parameter | Erklärung | Datentyp | 
| in_line_features | Die Linien-Features, die sich mit den Multipatch-Features schneiden. | Feature Layer | 
| in_multipatch_features | Die Multipatch-Features, mit denen sich die Linien schneiden. | Feature Layer | 
| join_attributes (optional) | Die Attribute der Eingabe-Linien-Features, die mit den optionalen Ausgabe-Features gespeichert werden. 
 | String | 
| out_point_feature_class (optional) | Optionale Features, die Schnittpunkte zwischen der 3D-Linie und Multipatch darstellen. | Feature Class | 
| out_line_feature_class (optional) | Optionale Linien-Features, die die Eingabe-Linien an jedem Schnittpunkt mit einem Multipatch-Feature teilen. | Feature Class | 
Abgeleitete Ausgabe
| Name | Erklärung | Datentyp | 
| out_intersection_count | Die Anzahl der Schnittpunkte. | Long | 
Codebeispiel
Intersect3DLineWithMultipatch – Beispiel 1 (Python-Fenster)
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
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')
Intersect3DLineWithMultipatch – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
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)
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst