Zusammenfassung
Berechnet sich schneidende und überlappende Segmente von Linien im 3D-Raum.
Verwendung
Das Werkzeug funktioniert paarweise. Wenn sich mehr als zwei Linien schneiden, entspricht die Anzahl der Ausgabepunkte der mathematischen Kombination der sich schneidenden Linien. Beispielsweise ergeben sich bei drei sich schneidenden Linien drei Ausgabepunkte: jeweils ein Punkt für den Schnittpunkt der ersten mit der zweiten Linie, einen für den Schnittpunkt der ersten mit der dritten Linie und einen für den Schnittpunkt der zweiten mit der dritten Linie. Wenn sich vier Eingabelinien schneiden, ergeben sich nach diesem Prinzip sechs Ausgabepunkte: jeweils ein Punkt für den Schnittpunkt der ersten mit der zweiten, der ersten mit der dritten, der ersten mit der vierten, der zweiten mit der dritten, der zweiten mit der vierten und der dritten mit der vierten Linie.
Eingabe-Features müssen einen räumlichen Index haben. Verwenden Sie das Werkzeug Räumlichen Index hinzufügen, um einen neuen Index zu erstellen (insbesondere für Shapefiles) oder einen vorhandenen Index neu zu erstellen, falls Zweifel hinsichtlich seiner Korrektheit bestehen.
Wenn 2D-Linien als Eingabe bereitgestellt werden, wird bei allen Stützpunkten davon ausgegangen, dass sie sich auf Nullniveau befinden.
Wenn sich zwei Linien mit unterschiedlichen Z-Werten aufgrund der zulässigen vertikalen Toleranz für die Ermittlung von Schnittpunkten schneiden, wird im Ausgabepunkt der höher liegende Wert der zwei Höhenangaben verwendet. Wenn sich zwei Liniensegmente mit unterschiedlichen Z-Werten schneiden, basiert das Ausgabe-Linien-Feature entsprechend auf den Segmenten mit den höheren Z-Werten.
Einige Ausgabelinien können aus mehreren Teilen bestehen, wenn zwei Eingabelinien mit mehreren diskontinuierlichen überlappenden Abschnitten vorliegen oder Linien sich in Z-Richtung annähern bzw. auseinandergehen.
Wenn Attribute in die Ausgabe übertragen werden, stammen die Werte in der ersten Feldgruppe von der ersten Eingabelinie und die Werte in der zweiten Feldgruppe von der zweiten Eingabelinie. Bei Angabe von zwei Eingabe-Linien-Feature-Layern stammen die erste und zweite Eingabelinie entsprechend aus dem ersten und zweiten Eingabe-Linien-Feature-Layer. Wenn nur ein Eingabe-Linien-Feature-Layer angegeben wird, gilt dieselbe Regel, nur dass die Spalten sich zu wiederholen scheinen.
Die Ausgabe-Punkt-Features enthalten die folgenden Attributfelder:
- I3L_TYPE: Der Wert 0 gibt an, dass der Punkt den Endpunkt des überlappenden Liniensegments darstellt. Der Wert 1 dagegen weist den Punkt als Schnittpunkt von zwei Linien aus.
- I3L_GROUP: Ein Einzelwert, der alle Punkte mit derselben Position im horizontalen Raum identifiziert.
- I3L_OID1: Die Feature-ID des ersten sich schneidenden Linien-Features.
- I3L_OID2: Die Feature-ID des zweiten sich schneidenden Linien-Features.
- I3L_LINE1Z: Der Z-Wert des Schnittpunkts auf der ersten Linie.
- I3L_LINE2Z: Der Z-Wert des Schnittpunkts auf der zweiten Linie.
- I3L_Z_DIFF: Die Differenz beim Z-Wert zwischen den zwei Eingabelinien an der XY-Position des Schnittpunkts.
Syntax
arcpy.3d.Intersect3DLines(in_lines, {max_z_diff}, {join_attributes}, {out_point_fc}, {out_line_fc})
Parameter | Erklärung | Datentyp |
in_lines [in_lines,...] | Die Linien-Features, auf denen nach Schnittpunkten gesucht wird. Die Eingabe kann aus ein oder zwei Linien-Feature-Layern oder Line-Feature-Classes bestehen. Bei einer Eingabe wird jedes Feature mit allen anderen Features in der Feature-Class verglichen. Kein Feature wird mit sich selbst verglichen. | Feature Layer |
max_z_diff (optional) | Die maximale vertikale Entfernung zwischen Liniensegmenten, die sich schneiden. | Linear Unit |
join_attributes (optional) | Gibt an, welche Attribute der Eingabe-Features in die Ausgabe-Feature-Class übertragen werden.
| String |
out_point_fc (optional) | Die Ausgabepunkte, die die Positionen der Schnittpunkte der Eingabelinien darstellen, einschließlich Positionen, an denen überlappende Liniensegmente beginnen und enden. | Feature Class |
out_line_fc (optional) | Die Ausgabelinien, die die überlappenden Abschnitte der Eingabelinien darstellen. | Feature Class |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_intersection_count | Die Anzahl der sich schneidenden Positionen in den Eingabelinien. | Long |
Codebeispiel
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.Intersect3DLines(['floor_centerlines.shp', 'stairs.shp'], '2 Meters',
'ONLY_FID', 'intersection_pts.shp')
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst oder ArcGIS Location Referencing
- Standard: Erfordert 3D Analyst oder ArcGIS Location Referencing
- Advanced: Erfordert 3D Analyst oder ArcGIS Location Referencing