3D-Beziehungen lagebezogen auswählen

Beispiel für Vergleich zwischen 2D- und 3D-Ergebnissen

Mit dem folgenden Beispiel werden die verschiedenen Ergebnisse von räumlichen Beziehungen mit 3D-Daten bei Nutzung von In einer Entfernung (WITHIN_A_DISTANCE in Python) oder In einer Entfernung (3D) (WITHIN_A_DISTANCE_3D in Python) illustriert. Der Eingabe-Feature-Layer entspricht den Räumen (purpurrote Würfel) und die Auswahl-Features dem kleinen gelben Kreis. Mit dem Vorgang soll beantwortet werden, welche Räume innerhalb der Entfernung einer bestimmten XYZ-Position (der gelbe Punkt) liegen. Das Ergebnis richtet sich nach der verwendeten Beziehung. Wenn die Beziehung In einer Entfernung (WITHIN_A_DISTANCE in Python) verwendet wird, werden alle Räume innerhalb einer Entfernung (nur in den X- und Y-Koordinaten) ausgewählt. Somit werden Räume vom Boden bis zur obersten Etage ausgewählt.

Ergebnis bei Auswahl der Räume, die in einer Entfernung vom gelben Punkt liegen

Wird jedoch die Beziehung In einer Entfernung (3D) verwendet, wird die Entfernung zwischen der XYZ-Position (der gelbe Punkt) und den einzelnen Räumen in 3 Dimensionen berechnet. Im Ergebnis werden nur die Räume innerhalb einer echten 3D-Entfernung zum Punkt ausgewählt.

Ergebnis bei Auswahl der Räume mit einer 3D-Entfernung vom gelben Punkt

Gültige Eingabe- und Auswahl-Layer

Als Eingabe- und Auswahl-Layer sind die Layer gültig, die eines der folgenden Kriterien erfüllen:

  • Ein Layer einer Feature-Class mit den folgenden Geometrietypen: Point, Multipoint, Line, Multipatch, Polygon.
  • Ein Layer, der eine Basishöhe und/oder Extrusion verwendet.
  • Ein Layer, der auf eine Layer-Datei (.lyrx) zeigt, die eines der oben erwähnten Kriterien erfüllt, ist ebenso gültig. Dies ist mitunter hilfreich, wenn Vorgänge in einem eigenständigen Python-Skript ausgeführt werden.

Erzielen des besten Ergebnisses

Bei Verwendung von Multipatches wird die Oberfläche der Geometrie verwendet, wenn ausgewertet wird, ob die 3D-Beziehung unabhängig davon erfüllt ist, ob das Multipatch geschlossen ist oder nicht. Wenn beispielsweise die 3D-Entfernung von einem angegebenen Punkt-Feature zu einem Multipatch wie einem Tetraeder ausgewertet wird, wird die Entfernung zur Oberfläche des Tetraeders unabhängig davon berechnet, ob der Punkt innerhalb des Tetraeders liegt oder nicht.

Wird die Beziehung In einer Entfernung (3D) auf Daten angewendet, die in einem nicht projizierten (d. h. in einem geographischen) Koordinatensystem gespeichert sind, werden aufgrund folgender Ursachen eventuell schlechte Ergebnisse erzielt:

  • Die Konvertierung von Dezimalgrad in lineare Einheiten ist bei großen geographischen Ausdehnungen nicht konsistent.
  • Die im geographischen Koordinatensystem unterstützten globalen Entfernungen berücksichtigen die Krümmung der Oberfläche der Erde nicht (alle Messungen werden auf einer Ebene ausgeführt).
Um die besten Ergebnisse zu erzielen, führen Sie den Vorgang in einem projizierten Koordinatensystem aus, um die Entfernungsverzerrung der Daten so möglichst gering zu halten.