In diesem Dokument wird ein Workflow beschrieben, der verwendet wird, um Gebäudehüllen (Außenhüllen) aus klassifizierten LIDAR-Luftbilddaten zu extrahieren. Bei diesem Ansatz werden Dachpunkte in unterschiedlichen Dachteilen geclustert, für jeden Teil ein unregelmäßiges Dreiecksnetz (TIN) erstellt, die Grenze der einzelnen Teile zum Boden extrudiert und die Ausgabe in eine Multipatch-Feature-Class geschrieben. Anschließend kann die Multipatch-Repräsentation von Gebäudeaußenhüllen für Visualisierungen und Analysen verwendet werden.
Dieser Ansatz hat den Vorteil, dass Dächer sehr positionsgenau sind, da sie direkt aus LIDAR-Punkten erstellt werden. Zudem lassen sich damit auch einige ungewöhnliche und spezielle Dachformen modellieren, da dieser Ansatz nicht auf eine bestimmte Gruppe typischer Dachformen beschränkt ist. Im Gegenzug hat dieser Ansatz jedoch folgende Nachteile: verrauschte Ergebnisse bei Betrachtung aus der Nähe, abgerundete statt spitze Ecken im Gebäudeinneren, eine Ausgabe mit einer potenziell höheren Anzahl an Stützpunkten und nur eine Detaillierungsebene.
Daneben gibt es noch weitere Ansätze für die Extraktion von Gebäudehüllen. Bei einem Ansatz werden beispielsweise Dächer in verschiedene Teile aufgeteilt, für jeden Teil werden ein Dachtyp und eine Traufhöhe vorhergesagt und die entsprechende Geometrie prozedural generiert, wobei die Ausgabe in eine Multipatch-Feature-Class geschrieben wird. Dieser Ansatz hat den Vorteil, dass eine saubere und einfache Geometrie erstellt wird. Nachteilig ist jedoch vor allem die Frage der Positionsgenauigkeit. Das modellierte Dach entspricht dem tatsächlichen Dach möglicherweise nicht besonders genau, obwohl es Möglichkeiten gibt, problematische Gebäude ausfindig zu machen und entsprechende Korrekturen vorzunehmen. Weitere Informationen finden Sie unter Lösung "3D Buildings".
Bei beiden Ansätzen wird das Gebäude von der Dach-/Traufkante nach unten bis zum Boden extrudiert, sodass einfache vertikale Gebäudeseiten entstehen. Balkone und Vorsprünge werden in den Modellen nicht erfasst.
Anforderungen:
- ArcGIS Pro 3.3 oder höher
- Klassifizierte LIDAR-Luftbilddaten von Gebäudedächern
- Punktdichte mit einem Abstand von mindestens 4 ppm / 0,5 m
- Raster mit einem digitalen Höhenmodell (DEM) zur Bereitstellung der Bodenhöhe
Konzepte
Bei diesem Ansatz werden Dachpunkte verwendet, um die Geometrie der Gebäudehülle zu erstellen. Dinge wie Antennen, Rohre, Abzugsschächte, Lüftungsanlagen und andere HKL-Gerätschaften können dabei störend sein. An Gebäudeseiten von hohen Gebäuden befindliche Teile wie Balkone und andere herausragende Teile haben häufig negative Auswirkungen. Daher sollten die als Gebäude klassifizierten Punkte das Dach enthalten, störende Dinge und herausragende Teile an Gebäudeseiten jedoch nicht.
Dachpunkte werden basierend auf einer 3D-Entfernung geclustert. Dadurch werden Dachteile, die sich in unterschiedlicher Höhe befinden, voneinander getrennt. Dazwischen werden vertikale Wände eingefügt.
Die entfernungsbasierte Cluster-Bildung ist besonders hilfreich bei größeren Bauwerken in städtischen Gebieten, da hier die Wahrscheinlichkeit größer ist, dass sich Teile auf sehr unterschiedlichen Höhen befinden. Dächer mit Teilen, die an gemeinsamen Verbindungsstellen aufeinandertreffen, wie es bei Einfamilienhäusern häufiger der Fall ist, enden nicht in unterschiedlichen Clustern.
Die 2D-Grenze der einzelnen Cluster wird als Dachteil verwendet und zum Boden extrudiert, wodurch die Wände der Gebäudehülle entstehen. Cluster-Grenzpolygone, die konkave Hüllen darstellen, werden mit einem Konzept definiert, das als Alpha-Shape bezeichnet wird. Ein wichtiger Parameter, der definiert, wie eng die Grenze um den Cluster gezogen wird, wird als Alpha-Radius bezeichnet.
Wegen Lücken zwischen den Teilen treffen die verschiedenen Cluster-Grenzen für ein Gebäude nicht sauber aufeinander, was wohl eine Schwäche des Ansatzes ist. Allerdings ist dies nur bei näherer Betrachtung problematisch.
Dieser Ansatz zur Modellierung von Gebäudehüllen hat zwar einige Nachteile. Die Ergebnisse sind jedoch meist ausreichend und ermöglichen eine genauere Näherung als Techniken, die auf der Modellierung von Dachtypen basieren.
Workflow
Der Workflow beginnt mit dem Geoverarbeitungswerkzeug Objekte aus Punktwolke extrahieren. Mit diesem Werkzeug werden Begrenzungsgeometrien um Cluster von als ähnlich klassifizierten Punkten extrahiert. Verwenden Sie dieses Werkzeug, um für die einzelnen Dachteile einen 2D-Footprint und für die einzelnen Teile den Z-Wertebereich der Punkte abzurufen, aus denen diese erstellt wurden. Bei dem Werkzeug werden dann diese Dach-Polygone als Eingabe für das Geoverarbeitungswerkzeug Gebäude-Multipatch aus LAS verwendet. Mit dem Werkzeug wird für alle Teile ein TIN erstellt, indem als Gebäude klassifizierte Punkte verwendet werden, die nach dem Höhenbereich gefiltert werden, der dem jeweiligen Dachteil zugeordnet ist, und indem die TIN-Grenze nach unten bis zum Boden extrudiert wird.
Hinweis:
Um Zeit zu sparen, experimentieren Sie mit einer repräsentativen Teilmenge, um eine Vorstellung davon zu bekommen, welche Parameterwerte für Ihre Daten geeignet sind, bevor Sie auf eine größere Sammlung anwenden.
Parameter für das Geoverarbeitungswerkzeug "Objekte aus Punktwolke extrahieren"
- Eingabe-Punktwolke: Das Eingabe-LAS-Dataset.
- Zu extrahierende Klassencodes: Damit wird angegeben, mit welchem Klassencode die Dachpunkte dargestellt werden. Meist ist dies die Klasse 6. Sie können diesen Wert für die Ausgabe-Gruppen-ID als Standardwert festlegen.
- Ausgabe-Objekt-Features: Die Ausgabe-Objekt-Feature-Class.
- Ausgabegeometrietyp: Die konkave 2D-Hülle.
- Cluster-Entfernung: Hierbei handelt es sich um die Entfernung in Z zwischen Clustern. Dabei sind Werte im Bereich von 0,5 bis 3,0 Metern sinnvoll. Beginnen Sie zunächst mit 1,5 Metern. Dabei sollen Punkte, die zu einem Dachteil gehören und innerhalb dieser Entfernung voneinander liegen, als Gruppe geclustert werden, während andere Dachteile, die weiter entfernt sind, getrennt geclustert werden sollen.
- Vertikaler Skalierungsfaktor für Cluster-Bildung: Beginnen Sie zunächst mit dem Wert 1,0. Bei einem größeren Wert werden die Auswirkungen des Höhenunterschieds zwischen den Punkten verstärkt, während sie bei einem kleineren Wert verringert werden. Bei einem Wert von 0,0 entfällt die Höhe und die Cluster-Bildung erfolgt in 2D. Verwenden Sie 0,0, um anstelle von Dachteil-Footprints den Gebäude-Footprint zu erhalten.
- Für jedes Objekt einen eigenen Radius berechnen: Lassen Sie diesen Parameter standardmäßig deaktiviert. Es lohnt sich jedoch, damit zu experimentieren. Wenn Sie ihn aktivieren, erhalten Sie vermutlich eine detailliertere Grenze für die einzelnen Objekte. Dies ist zwar potenziell vorteilhaft, kann aber auch dazu führen, dass Seitenwände von Gebäuden verrauschter werden.
- Alpha-Radius: Mit diesem Parameter wird festgelegt, wie eng die Grenzen der Ausgabe-Polygone um die Punkt-Cluster gelegt werden. Dieser Parameter wird aktiviert, wenn der vorherige Parameter deaktiviert wird. Kleinere Werte ergeben mehr Details an den Wänden und um die inneren Gebäudeecken, während größere Werte stärker verallgemeinern und glattere Wände ergeben. Beginnen Sie zunächst mit 2 Metern.
- Minimale Anzahl Punkte: Übernehmen Sie für diesen Parameter den Standardwert 10, es sei denn, Sie benötigen größere Cluster (dann erhöhen Sie den Wert) oder Sie möchten kleinere Cluster zulassen (dann verringern Sie den Wert).
Überprüfen Sie die Ergebnisse. Sie können die Polygone zwar in einer 2D-Karte anzeigen, es kann jedoch vorkommen, dass Polygone von anderen Polygonen überdeckt und daher möglicherweise nicht angezeigt werden. Legen Sie für die Symbole eine transparente Füllung fest, sodass nur die Umrisse sichtbar bleiben und die ansonsten verdeckten Polygone erkennbar werden. Für eine andere und wohl bessere Ansicht können Sie eine lokale 3D-Szene verwenden, um die Polygone in 3D darzustellen (indem Sie die der Ausgabe-Feature-Class hinzugefügten Attribute MIN_Z bzw. MAX_Z verwenden).
Polygone mit kleinen 2D-Flächen sollten Sie ggf. löschen, da diese meist nur Rauschen und unnötigen Rechenaufwand für das Rendern und die Analyse verursachen. Dies können Sie bewerkstelligen, indem Sie das Werkzeug Layer nach Attributen auswählen zusammen mit "Features löschen" verwenden. Verwenden Sie zunächst 6,0 Quadratmeter als Grenzwertgröße (hierbei handelt es um die vom Werkzeug Gebäude aus LAS klassifizieren standardmäßig verwendete Mindestfläche).
Ferner sollten Sie Löcher in Polygonen entfernen. Viele Löcher entstehen, weil ein höheres Dachteil in der Mitte eines niedrigeren Dachteils liegt. Durch Schließen des Lochs im unteren Teil entsteht eine sauberere Darstellung, wenn der obere Teil durch den unteren Teil extrudiert wird. Es besteht jedoch die Gefahr, dass Löcher entfernt werden, die nicht entfernt werden dürfen (z. B. Löcher, durch die keine anderen Teile extrudiert werden). Lassen Sie daher Vorsicht walten. Sie können Polygonteil entfernen mit der Option Nur enthaltene Teile entfernen verwenden. Eine Fläche mit 25 Quadratmetern ist ein sinnvoller Ausgangspunkt.
Parameter für das Werkzeug "Gebäude-Multipatch aus LAS"
- Eingabe-Features: Verwenden Sie diesen Parameter für die Dachteil-Polygone, die vom Geoverarbeitungswerkzeug Objekte aus Punktwolke extrahieren ausgegeben wurden.
- LAS-Dachpunktauswahl: Damit wird angegeben, welche Punkte für Dächer verwendet werden sollen. Wenn Sie Klassifizierte Gebäudepunkte auswählen, verwendet das Werkzeug Punkte der Klasse 6. Wenn bei Ihren Daten für Dachpunkte ein anderer Klassencode verwendet wird, weisen Sie einen Layer-Filter hinzu. Verwenden Sie dabei einen geeigneten Code, und wählen Sie die Option Gefilterte Layer-Punkte aus.
- Abtastauflösung: Damit werden die Dachpunkte gruppiert, und es wird der höchste Punkt in jeder Gruppe verwendet. Aus diesen Punkten wird ein TIN erstellt, und als Triangulation für dieses TIN wird 2D verwendet. Dieser Parameter unterstützt keine tatsächlich vertikalen Flächen oder Vorsprünge. Ihre als Dach klassifizierten Punkte enthalten möglicherweise verschiedene Dachteile, die einander überlappen.
- Bodenhöhe: Die Dachteilgrenzen werden nach unten zum Boden extrudiert. Mit diesem Parameter können Sie ein DEM oder ein Attribut von den Polygonen auswählen, um die Bodenhöhe zu ermitteln. Eine Möglichkeit, wie Polygone diese Attribuierung erhalten, ist die Verwendung des Werkzeugs Oberflächeninformationen hinzufügen. Die Verwendung eines Höhenattributs im Vergleich zu einem DEM hat den Vorteil, dass die Berechnung zwar mit einem gewissen Aufwand verbunden ist, die Informationen aber ohne Aufwand immer wieder verwendet werden können. Wenn Sie ein DEM als Eingabe verwenden, wird die Berechnung zur Ermittlung der Bodenhöhe aus dem DEM bei jeder erneuten Ausführung des Werkzeugs wiederholt.
- Ausgabe-Multipatch-Feature-Class: Die Ausgabe-Gebäudehüllen.
- Vereinfachungstoleranz: Bevor ein Dach-TIN in ein Multipatch konvertiert wird, kann es generalisiert werden, um die Anzahl der Knoten zu reduzieren. Dies sollte aus Gründen der nachgelagerten Performance gemacht werden. Die Toleranz ist der zulässige Höhenunterschied zwischen dem generalisierten TIN und dem Original. Es sollte ein Wert verwendet werden, der der vertikalen Genauigkeit der LIDAR-Daten entspricht (z. B. 10 cm).
- Feld für minimale Höhe: Dieser Parameter verweist auf ein Attribut in der Eingabe-Polygon-Feature-Class und wird als Filter verwendet. Nur Punkte, die gleich oder größer als dieser Wert sind (und innerhalb des Polygons liegen), werden verwendet. Dadurch werden Daten aus Clustern herausgefiltert, die sich oberhalb oder unterhalb des Clusters befinden, der das Polygon generiert hat. Geben Sie das MIN_Z-Feld an, das vom Werkzeug Extrahieren ausgegeben wurde.
- Feld für maximale Höhe: Dieser Parameter verweist auf ein Attribut in der Eingabe-Polygon-Feature-Class und wird als Filter verwendet. Nur Punkte, die gleich oder kleiner als dieser Wert sind (und innerhalb des Polygons liegen), werden verwendet. Dadurch werden Daten aus Clustern herausgefiltert, die sich oberhalb oder unterhalb des Clusters befinden, der das Polygon generiert hat. Geben Sie das MIN_Z-Feld an, das vom Werkzeug Extrahieren ausgegeben wurde.
Wenn Ihre Daten Gebäude enthalten, die unter Einbeziehung von Dachaufbauten und herausragenden Teilen an Gebäudeseiten klassifiziert wurden, und das zu Problemen führt, erstellen Sie eine Kopie des Testbereichs, und wiederholen Sie die Gebäudeklassifizierung versuchsweise mit dem Geoverarbeitungswerkzeug LAS-Klassencodes ändern, um die Gebäudeklasse auf 1 zurückzusetzen, und verwenden Sie anschließend das Geoverarbeitungswerkzeug Gebäude aus LAS klassifizieren.
Experimentieren Sie mit Punkte über Dächern klassifizieren in den Multipatches. Das Geoverarbeitungswerkzeug Gebäude aus LAS klassifizieren enthält eine Option, mit der Punkte über Dächern in Klasse 6 oder in eine andere Klasse eingeordnet werden können. Am flexibelsten ist es, sie in eine benutzerdefinierte Klasse einzuordnen und optional mit dem Geoverarbeitungswerkzeug Objekte aus Punktwolke extrahieren zu verwenden.
Mit diesem Werkzeug können Sie mehrere Eingabeklassen als eine Eingabeklasse verwenden, indem Sie den Klassen dieselbe Ausgabe-Gruppen-ID zuweisen. Die Punkte mit derselben Gruppen-ID werden bei der Cluster-Bildung wie eine Klasse behandelt. Wenn Sie Punkte über Dächern mit dem Geoverarbeitungswerkzeug Objekte aus Punktwolke extrahieren einbinden, sollten Sie sie mit dem Geoverarbeitungswerkzeug Gebäude-Multipatch aus LAS einbinden. Aktivieren Sie dazu nur das Gebäude und Punkte über Dächern im LAS-Dataset-Layer, und verwenden Sie dann gefilterte Layer-Punkte mit dem Werkzeug. Sie können Punkte über Dächern auch als eigene zu extrahierende Klasse behandeln. Indem Sie diese von den anderen Dachteilen trennen, lassen sie sich optisch leichter unterscheiden, da sie vertikale Seiten aufweisen. Zudem können Sie sie unabhängig von anderen Gebäudeteilen aktivieren und deaktivieren.
Verwenden Sie 3D-Layer-Eigenschaften und Extrusion, um extrahierte Dachteil-Polygone anzuzeigen. Ohne diese LIDAR-Punkte weisen diese flache Oberseiten auf. Alle zusammen sehen aus der Entfernung aufgrund der relativ geringen Anzahl an Stützpunkten jedoch akzeptabel aus und lassen sich effizient rendern. Die Verwendung von Oberflächeninformationen hinzufügen zwischen den extrahierten Dachteil-Polygonen und einem DEM, um die Bodenhöhe als Attribut zu den Polygonen hinzuzufügen, bringt nebenbei den Vorteil mit sich, dass Sie anschließend die Gebäudehöhe relativ zum Boden berechnen (die Dachteil-Polygone enthalten bereits einen MAX_Z-Wert, der aus den Punkt-Clustern stammt) und diese zum Symbolisieren von Gebäudeteilen verwenden können.
Quellennachweise für LIDAR-Daten:
- Grafiken 1, 3: Institut national de l’information géographique et forestière (französisches Institut für geografische und forstwirtschaftliche Informationen)
- Grafiken 4, 7: Rijkswaterstaat, Ministerium für Infrastruktur und Wasserwirtschaft der Niederlande
- Grafik 5: USGS Lidar Central Eastern Massachusetts