Funktionsweise des Werkzeugs "3D-Linie mit Multipatch verschneiden" (3D Analyst)

Das Werkzeug 3D-Linie mit Multipatch verschneiden sucht die Schnittpunkte zwischen Linien und Multipatches und schreibt optional diese Punkte – und/oder die Linien, die an diesen Stellen geteilt werden – in eine Ausgabe-Feature-Class. Die Berechnungen werden für 3D-Features im euklidischen 3D-Raum durchgeführt. Das Werkzeug gibt eine Zahl (Ganzzahl) aus, die die Anzahl der gefundenen Schnittpunkte darstellt.

Wenn eine Ausgabe-Point-Feature-Class angegeben wird, werden die OIDs sowohl der Linie als auch des Multipatches als Attribute für jeden Punkt ausgegeben, um festzustellen, welche zwei Features für das Erstellen des Punktes zuständig sind. Die 3D-Entfernung entlang der Linie – vom Beginn der Linie bis zum Schnittpunkt – wird einbezogen.

Wenn eine Ausgabe-Line-Feature-Class angegeben wird, werden die Eingabelinien an den Schnittpunkten mit den Multipatches geteilt und dann ausgegeben. Die ursprüngliche Linien-OID, zusammen mit OIDs der Multipatches, die für die Von- und Bis-Teilungspunkte zuständig sind, werden einbezogen. Die Zahl -1 wird als Code verwendet, um anzugeben, wenn entweder der Start- oder der Endpunkt einer Linie kein Schnittpunkt ist (d. h. Teilungspunkt), sondern der Start- oder Endpunkt der ursprünglichen Eingabelinie. Die 3D-Entfernung für den Startpunkt einer Ausgabelinie relativ zum Anfang der Quelleingabelinie ist eingeschlossen. Wenn eine Linie kein Multipatch überschneidet, erfolgt eine unveränderte Kopie in die Ausgabe.

Wenn eine Schnittmenge eines Multipatches mit einer ursprünglichen Linie vorhanden ist, wird die ganze ursprüngliche Linie durch eine oder mehrere neue Linien dargestellt, die bei Kombination der ursprünglichen Linie geometrisch entsprechen würden. Die Summe des LENGTH_3D-Werts jeder neuen Linie, die von einer ursprünglichen Linie abgeleitet wurde, ist gleich der 3D-Länge der ursprünglichen Linie.

Für jede neue Linie ist die Summe von DIST_3D und LENGTH_3D gleich der 3D-Entfernung an der ursprünglichen Linie, bei der das Ende der neuen Linie auftritt.

Für jede neue Linie, die generiert wird, gibt es ein Multipatch-ID-Paar. Wenn eine neue Linie vom Anfang einer ursprünglichen Linie verläuft und nicht genau am Anfang der ursprünglichen Linie ein Schnittpunkt mit einem Multipatch vorhanden war, wird -1 als ID des Multipatches am Anfang der neuen Linie zugewiesen. Wenn eine neue Linie vom Ende einer ursprünglichen Linie verläuft und nicht genau am Ende der ursprünglichen Linie ein Schnittpunkt mit einem Multipatch vorhanden war, wird -1 als ID des Multipatches am Ende der neuen Linie zugewiesen.

Für jede neue Linie, die aus dem Mittelteil einer ursprünglichen Linie entspringt (d. h. es gibt keinen gemeinsamen Endpunkt), wird dieselbe Multipatch-ID für jeden Endpunkt angegeben, wenn sich ein entsprechendes Paar findet; andernfalls wird die erste gefundene Multipatch-ID angegeben. Wenn zum Beispiel eine Linie durch zwei angrenzende Würfel (Multipatch 1 und Multipatch 2) und sonst kein weiteres Objekt verläuft und beide Endpunkte der ursprünglichen Linie außerhalb der Multipatches liegen, werden vier neue Linien erstellt. Die Multipatch-ID-Paare (für Anfang und Ende) für jede neue Linie sind (-1, 1); (1, 1); (2, 2) und (2, -1).


7/10/2012