Objekte aus Punktwolke extrahieren (3D Analyst)

Zusammenfassung

Extrahiert einzelne Objekte aus einer klassifizierten Punktwolke in Punkt-, Polygon- oder Multipatch-Features.

Abbildung

Abbildung des Werkzeugs "Objekte aus Punktwolke extrahieren"

Verwendung

  • Dieses Werkzeug nutzt eine Cluster-Entfernung, um zu ermitteln, welche Punkte zum gleichen Objekt gehören. Wenn mehrere Klassencodes das gleiche Objekt darstellen können, weisen Sie eine gemeinsame Gruppen-ID zu, die die Klassencodes während der Cluster-Bildung verknüpft. Beispielsweise können einem großen Baum Punkte mit den Klassencodes 3, 4 und 5 zugewiesen werden. Den drei Klassencodes kann eine gemeinsame Gruppen-ID zugewiesen werden, damit der Baum richtig identifiziert wird.

  • Das Extrahieren von Objekten erzeugt ein quantifizierbares Dataset, aus dem ein Anlagenverzeichnis erstellt werden kann, das in einer Karte oder Szene visualisiert werden kann. Von diesem Werkzeug erzeugte 3D-Formen können Bewertungen der Sichtbarkeit und der Auswirkungen von Schatten unterstützen. Vereinfachte geometrische Darstellungen können darüber hinaus eine nützliche kartografische Abstraktion zum Visualisieren von Objekten in komplexeren Punktwolken bieten.

  • Verwenden Sie den Parameter Minimale Anzahl Punkte, um Objekte auszuschließen, die durch eine geringe Anzahl von Punkten definiert sind und möglicherweise nicht zu aussagekräftigen Ergebnissen führen.

  • Wenn Sie die Option Konkave 2D-Hülle oder Konkave 3D-Hülle für den Parameter Ausgabegeometrietyp verwenden, kann ein Alpha-Radius zur Definition der Ausgabegeometrie für jedes Objekt berechnet werden, oder es kann derselbe Alpha-Radius für alle Objekte verwendet werden. Die Berechnung eines Alpha-Radius für jedes Objekt kann vorteilhaft sein, wenn mehrere Objekte mit sehr unterschiedlichen Merkmalen extrahiert werden. Wenn Sie denselben Alpha-Radius auf alle Objekte anwenden, geben Sie den gewünschten Radius mit dem Parameter Alpha-Radius an. Wenn kein Wert angegeben wird, ist der für die Option Konkave 2D-Hülle verwendete Radius mit dem Parameterwert Cluster-Entfernung identisch. Wenn Sie die Option Konkave 3D-Hülle verwenden, wird der Radius abgeleitet, indem der Parameterwert Cluster-Entfernung durch den Parameterwert Vertikaler Clusterskalierungsfaktor geteilt wird, sofern der Skalierungsfaktor größer als 0 ist. Wenn der Skalierungsfaktor 0 ist, wird die konvexe Hülle erstellt.

  • Die Ausgabe-Features weisen die folgenden Attribute auf:

    • ObjectCode: Klassencode oder Gruppen-ID zum Identifizieren des Objekttyps.
    • COUNT: Anzahl der Punkte, die mit dem Objekt verbunden sind.
    • ALPHA: Alpha-Radius, der zum Konstruieren der Ausgabeform verwendet wird. Dieses Feld wird nur hinzugefügt, wenn der Parameter Ausgabegeometrietyp auf Konkave 2D-Hülle oder Konkave 3D-Hülle festgelegt ist.

    Die folgenden Attribute werden nur für Polygon-Geometrietypen hinzugefügt:

    • MIN_Z: Niedrigster Z-Wert von Punkten, die zu einem Objekt gehören
    • MAX_Z: Höchster Z-Wert von Punkten, die zu einem Objekt gehören

    Attribute wie Oberfläche und Volumen können für Multipatch-Ausgaben mit dem Werkzeug Z-Informationen hinzufügen berechnet werden.

Parameter

BeschriftungErläuterungDatentyp
Eingabepunktwolke

Das klassifizierte LAS-Dataset, das Punktwolken-Szenen-Layer-Paket oder der I3S-Punktwolken-Szenen-Layer-Service, das bzw. der zum Erkennen von Objekten verwendet wird.

LAS Dataset Layer; Scene Layer; File
Zu extrahierende Klassencodes

Die Klassencodes, die zum Identifizieren von Objekten verarbeitet werden. Eine gemeinsame Gruppen-ID kann zugewiesen werden, um mehrere Klassencodes in einem Objekt zu gruppieren.

Value Table
Cluster-Entfernung

Die dreidimensionale Entfernung, die zum Identifizieren der Punkte verwendet wird, die zum selben Objekt gehören.

Linear Unit
Ausgabeobjekt-Features

Die Ausgabeobjekte, deren Feature-Geometrie basierend auf dem Parameterwert Ausgabegeometrietyp Punkt, Polygon oder Multipatch sein kann.

Feature Class
Ausgabegeometrietyp
(optional)

Gibt den Typ der Geometrie an, die für jedes Objekt erstellt wird. Der angegebene Typ bestimmt, ob die Objekte als Punkte, Polygone oder Multipatch-Features dargestellt werden.

  • MittelpunktDreidimensionale Punkte werden generiert, die jedes Objekt mit einem Punkt darstellen, der ungefähr in der Mitte der konvexen Hülle des Objekts erstellt wird.
  • BegrenzungskreisZweidimensionale Polygone werden generiert, die jedes Objekt mit einem minimalen Begrenzungskreis darstellen, der die Punkte umgibt.
  • 2D-RahmenZweidimensionale Polygone werden generiert, die jedes Objekt mit dem kleinsten ausgerichteten Rahmen darstellen, der die Punkte enthält.
  • Konvexe 2D-HülleZweidimensionale Polygone werden generiert, die jedes Objekt mit der konvexen Hülle darstellen, die die Punkte enthält.
  • Konkave 2D-HülleZweidimensionale Polygone werden generiert, die jedes Objekt mit der konkaven Hülle darstellen, die die Punkte umfasst.
  • BegrenzungskugelMultipatch-Features werden generiert, die jedes Objekt mit einer minimalen Begrenzungskugel darstellen, die die Punkte umfasst.
  • 3D-RahmenMultipatch-Features werden generiert, die jedes Objekt mit dem kleinsten ausgerichteten Rahmen darstellen, der die Punkte enthält.
  • Konvexe 3D-HülleMultipatch-Features werden generiert, die jedes Objekt mit der konvexen Hülle darstellen, die die Punkte umgibt. Dies ist die Standardeinstellung.
  • Konkave 3D-HülleMultipatch-Features werden generiert, die jedes Objekt mit der konkaven Hülle darstellen, die die Punkte umgibt. Diese Option ermöglicht die am besten passende Geometrie, die aus den Punkten generiert werden kann.
String
Minimale Anzahl Punkte
(optional)

Die minimale Anzahl von Punkten, die ein Objekt aufweisen muss, damit eine Ausgabe generiert wird. Der Standardwert ist 10.

Long
Vertikaler Clusterskalierungsfaktor

Der Skalierungsfaktor, der auf die Z-Werte angewendet wird. Dies hat Einfluss darauf, wie die Cluster-Entfernung entlang der Z-Achse angewendet wird und wie Punkte zu Objekten gruppiert werden. Der Standardwert beträgt 1, und gültige Werte liegen zwischen 0,0 und 10,0. Der Skalierungsfaktor 0 führt zu einem zweidimensionalen Cluster. Ein Skalierungsfaktor, der kleiner als 1, aber größer als 0 ist, führt für jedes Objekt zu einem größeren Z-Bereich. Ein vertikaler Skalierungsfaktor, der größer als 1 ist, führt dazu, dass Punkte entlang der Z-Achse über eine kürzere Entfernung gruppiert werden. Der vertikale Skalierungsfaktor wirkt sich nur darauf aus, wie die Punkte gruppiert werden. Die Geometrie der Punkte und die Z-Einheiten werden nicht geändert.

Double
Einen eindeutigen Alpha-Radius für jedes Objekt berechnen
(optional)

Gibt an, ob der Alpha-Radius für jedes Objekt berechnet wird oder ob derselbe Alpha-Radius auf alle Objekte angewendet wird.

Dieser Parameter ist nur verfügbar, wenn der Parameter Ausgabegeometrietyp auf Konkave 2D-Hülle oder Konkave 3D-Hülle festgelegt ist.

  • Aktiviert: Ein eindeutiger Alpha-Radius wird für jedes Objekt berechnet.
  • Deaktiviert: Derselbe Alpha-Radius wird für alle Objekte verwendet. Wenn dieser Parameter deaktiviert ist, kann der Parameter Alpha-Radius zur Definition dieses Wertes verwendet werden. Wenn kein Wert angegeben ist, wird ein Alpha-Radius für das gesamte Dataset berechnet. Dies ist die Standardeinstellung.
Boolean
Alpha-Radius
(optional)

Der Alpha-Radius, der beim Konstruieren der Objekt-Features zur Definition der Alpha-Form verwendet wird.

Dieser Parameter gilt, wenn der Parameter Einen eindeutigen Alpha-Radius für jedes Objekt berechnen deaktiviert ist und der Parameter Ausgabegeometrietyp auf Konkave 2D-Hülle oder Konkave 3D-Hülle festgelegt ist.

Mit einem größeren Alpha-Radius werden stärker vereinheitlichte Objekt-Features mit einfacheren Grenzen erstellt, bis eine konvexe Hülle erreicht ist. Kleinere Werte berücksichtigen dagegen die Punkte des Objekts detaillierter und erhöhen die Wahrscheinlichkeit, dass getrennte Teile erzeugt werden. Wenn kein Alpha-Radius definiert ist, wird der Wert von den Parametern Cluster-Entfernung und Vertikaler Clusterskalierungsfaktor abgeleitet.

Weitere Informationen zum Ableiten des standardmäßigen Alpha-Radius finden Sie im Abschnitt "Verwendung" in der Werkzeughilfe.

Linear Unit

arcpy.ddd.ExtractObjectsFromPointCloud(in_point_cloud, class_codes_to_extract, clustering_distance, out_features, {geometry_type}, {min_points}, vertical_scale_factor, {alpha_calculation}, {alpha_radius})
NameErläuterungDatentyp
in_point_cloud

Das klassifizierte LAS-Dataset, das Punktwolken-Szenen-Layer-Paket oder der I3S-Punktwolken-Szenen-Layer-Service, das bzw. der zum Erkennen von Objekten verwendet wird.

LAS Dataset Layer; Scene Layer; File
class_codes_to_extract
[class_codes_to_extract,...]

Die Klassencodes, die zum Identifizieren von Objekten verarbeitet werden. Eine gemeinsame Gruppen-ID kann zugewiesen werden, um mehrere Klassencodes in einem Objekt zu gruppieren.

Value Table
clustering_distance

Die dreidimensionale Entfernung, die zum Identifizieren der Punkte verwendet wird, die zum selben Objekt gehören.

Linear Unit
out_features

Die Ausgabeobjekte, deren Feature-Geometrie basierend auf dem Parameterwert geometry_type Punkt, Polygon oder Multipatch sein kann.

Feature Class
geometry_type
(optional)

Gibt den Typ der Geometrie an, die für jedes Objekt erstellt wird. Der angegebene Typ bestimmt, ob die Objekte als Punkte, Polygone oder Multipatch-Features dargestellt werden.

  • CENTERPOINTDreidimensionale Punkte werden generiert, die jedes Objekt mit einem Punkt darstellen, der ungefähr in der Mitte der konvexen Hülle des Objekts erstellt wird.
  • BOUNDING_CIRCLEZweidimensionale Polygone werden generiert, die jedes Objekt mit einem minimalen Begrenzungskreis darstellen, der die Punkte umgibt.
  • BOUNDING_BOX_2DZweidimensionale Polygone werden generiert, die jedes Objekt mit dem kleinsten ausgerichteten Rahmen darstellen, der die Punkte enthält.
  • CONVEX_HULL_2DZweidimensionale Polygone werden generiert, die jedes Objekt mit der konvexen Hülle darstellen, die die Punkte enthält.
  • CONCAVE_HULL_2DZweidimensionale Polygone werden generiert, die jedes Objekt mit der konkaven Hülle darstellen, die die Punkte umfasst.
  • BOUNDING_SPHEREMultipatch-Features werden generiert, die jedes Objekt mit einer minimalen Begrenzungskugel darstellen, die die Punkte umfasst.
  • BOUNDING_BOX_3DMultipatch-Features werden generiert, die jedes Objekt mit dem kleinsten ausgerichteten Rahmen darstellen, der die Punkte enthält.
  • CONVEX_HULL_3DMultipatch-Features werden generiert, die jedes Objekt mit der konvexen Hülle darstellen, die die Punkte umgibt. Dies ist die Standardeinstellung.
  • CONCAVE_HULL_3DMultipatch-Features werden generiert, die jedes Objekt mit der konkaven Hülle darstellen, die die Punkte umgibt. Diese Option ermöglicht die am besten passende Geometrie, die aus den Punkten generiert werden kann.
String
min_points
(optional)

Die minimale Anzahl von Punkten, die ein Objekt aufweisen muss, damit eine Ausgabe generiert wird. Der Standardwert ist 10.

Long
vertical_scale_factor

Der Skalierungsfaktor, der auf die Z-Werte angewendet wird. Dies hat Einfluss darauf, wie die Cluster-Entfernung entlang der Z-Achse angewendet wird und wie Punkte zu Objekten gruppiert werden. Der Standardwert beträgt 1, und gültige Werte liegen zwischen 0,0 und 10,0. Der Skalierungsfaktor 0 führt zu einem zweidimensionalen Cluster. Ein Skalierungsfaktor, der kleiner als 1, aber größer als 0 ist, führt für jedes Objekt zu einem größeren Z-Bereich. Ein vertikaler Skalierungsfaktor, der größer als 1 ist, führt dazu, dass Punkte entlang der Z-Achse über eine kürzere Entfernung gruppiert werden. Der vertikale Skalierungsfaktor wirkt sich nur darauf aus, wie die Punkte gruppiert werden. Die Geometrie der Punkte und die Z-Einheiten werden nicht geändert.

Double
alpha_calculation
(optional)

Gibt an, ob der Alpha-Radius für jedes Objekt berechnet wird oder ob derselbe Alpha-Radius auf alle Objekte angewendet wird.

Dieser Parameter wird nur aktiviert, wenn der Parameter geometry_type auf CONCAVE_HULL_2D oder CONCAVE_HULL_3D festgelegt ist.

  • PER_OBJECTEin eindeutiger Alpha-Radius wird für jedes Objekt berechnet.
  • ALL_OBJECTSDerselbe Alpha-Radius wird für alle Objekte verwendet. Wenn diese Option angegeben ist, kann der Parameter alpha_radius zur Definition dieses Wertes verwendet werden. Wenn kein Wert angegeben ist, wird ein Alpha-Radius für das gesamte Dataset berechnet. Dies ist die Standardeinstellung.
Boolean
alpha_radius
(optional)

Der Alpha-Radius, der beim Konstruieren der Objekt-Features zur Definition der Alpha-Form verwendet wird.

Dieser Parameter wird angewendet, wenn der Parameter alpha_calculation auf ALL_OBJECTS und der Parameter geometry_type auf CONCAVE_HULL_2D oder CONCAVE_HULL_3D festgelegt ist.

Mit einem größeren Alpha-Radius werden stärker vereinheitlichte Objekt-Features mit einfacheren Grenzen erstellt, bis eine konvexe Hülle erreicht ist. Kleinere Werte berücksichtigen dagegen die Punkte des Objekts detaillierter und erhöhen die Wahrscheinlichkeit, dass getrennte Teile erzeugt werden. Wenn kein Alpha-Radius definiert ist, wird der Wert von den Parametern clustering_distance und vertical_clustering_scale_factor abgeleitet.

Weitere Informationen zum Ableiten des standardmäßigen Alpha-Radius finden Sie im Abschnitt "Verwendung" in der Werkzeughilfe.

Linear Unit

Codebeispiel

ExtractObjectsFromPointCloud: Beispiel 1(Python-Fenster)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.

import arcpy
arcpy.env.workspace = r"C:/GIS_Data"
arcpy.ddd.ExtractObjectsFromPointCloud("Terrestrial_Scan.lasd", [(4, 5), (5, 5)],
                                       "60 Centimeters", "Trees.shp", 
                                       "CONCAVE_HULL_2D", 50)