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 WITHIN_A_DISTANCE oder WITHIN_A_DISTANCE_3D 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 "WITHIN_A_DISTANCE" 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.
Wird jedoch die Beziehung "WITHIN_A_DISTANCE_3D verwendet, wird die Entfernung zwischen der XYZ-Position (der gelbe Punkt) und den einzelnen Räumen mit 3D-Messungen gemessen. Im Ergebnis werden nur einige Räume innerhalb einer echten 3D-Entfernung zum Punkt ausgewählt.
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 in ArcScene oder ArcGlobe, der einen der folgenden Renderer verwendet: 3D einfacher Marker, 3D-Zeichen-Markersymbol, 3D-Liniensymbol. In diesem Fall wird statt der Feature-Geometrie das Symbol des Renderers verwendet.
- Ein Layer in ArcScene oder ArcGlobe, der eine Basishöhe und/oder eine Extrusion verwendet.
- Ein Layer, der auf eine Layer-Datei (.lyr) zeigt, die eines der oben erwähnten Kriterien erfüllt, ist ebenso gültig. Dies ist mitunter hilfreich, wenn Vorgänge in einem Skript (außerhalb von ArcScene und ArcGlobe) ausgeführt werden.
Erzielen des besten Ergebnisses
Bei der Nutzung von 3D-Renderern wird während der Bestimmung, ob die Beziehung erfüllt wird, die Oberfläche des Symbols verwendet, da der 3D-Marker als Multipatch implementiert wird und somit keinen 3D-Festkörper darstellt, sondern eine Oberfläche.
Wird die Beziehung "WITHIN_A_DISTANCE_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).