3D-Linie mit Multipatch verschneiden (3D Analyst)

Zusammenfassung

Berechnet einen geometrischen Schnittpunkt der Eingabe-Linien- und -Multipatch-Features und gibt die Anzahl der Schnittpunkte zurück. Punkte (Schnittpunkte) und/oder Linien (das Ergebnis aus Eingabelinien, die an Schnittpunkten unterbrochen werden) können optional in die Ausgabe-Feature-Classes aufgenommen werden.

Weitere Informationen zur Funktionsweise von "3D-Linie mit Multipatch verschneiden" (3D Analyst)

Abbildung

Verwendung

Syntax

Intersect3DLineWithMultiPatch_3d (in_line_features, in_multipatch_features, {join_attributes}, {out_point_feature_class}, {out_line_feature_class})
ParameterErläuterungDatentyp
in_line_features

Die Eingabe-Line-Feature-Class oder der Eingabe-Linien-Layer.

Feature Layer
in_multipatch_features

Die Eingabe-Multipatch-Feature-Class oder der -Layer.

Feature Layer
join_attributes
(optional)

Lässt zu, dass alle nicht erforderlichen Felder (anders ausgedrückt, Felder, bei denen es sich nicht um ObjectID- oder Geometriefelder handelt) und Werte aus der Eingabe-Line-Feature-Class in die optionale Ausgabe-Line-Feature-Class kopiert werden.

  • IDS_ONLY Keine Attribute der Eingabe-Line-Feature-Class werden in die Ausgabe-Line-Feature-Class geschrieben. Dies ist die Standardeinstellung.
  • ALLAlle Attribute der Eingabe-Line-Feature-Class werden in die Ausgabe-Line-Feature-Class geschrieben.
String
out_point_feature_class
(optional)

Die optionale Feature-Class, in die Schnittpunkte eingefügt werden.

Feature Class
out_line_feature_class
(optional)

Die optionale Feature-Class, in die Linien (Eingabelinien, die an Schnittpunkten unterbrochen werden) eingefügt werden.

Feature Class

Codebeispiel

3D-Linie mit Multipatch verschneiden – Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion 3D-Linie mit Multipatch verschneiden im unmittelbaren Modus verwenden.

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')
3D-Linie mit Multipatch verschneiden – Beispiel 2 (eigenständiges Skript)

Das folgende Python-Skript veranschaulicht, wie Sie die Funktion 3D-Linie mit Multipatch verschneiden in einem eigenständigen Skript verwenden.

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

Verwandte Themen

Lizenzinformationen

ArcView: Erfordert 3D Analyst
ArcEditor: Erfordert 3D Analyst
ArcInfo: Erfordert 3D Analyst

7/10/2012