Erstellen von Raster-DEMs und DSMs aus großen LIDAR-Punktsammlungen
Zusammenfassung
Raster- oder gerasterte Höhenmodelle gehören zu den gängigsten GIS-Datentypen. Sie können auf verschiedene Arten für die Analyse verwendet und leicht freigegeben werden. LIDAR bietet Ihnen die Möglichkeit, zwei verschiedene Typen von Höhenmodellen mit hoher Qualität zu erstellen: zuerst zurückgegebene und Boden. Eine zuerst zurückgegebene Oberfläche schließt Baumkronen und Gebäude ein und wird oft als digitales Oberflächenmodell (DSM) bezeichnet. Der Boden oder unbebaute Erdoberfläche enthält nur die Topografie und wird häufig als digitales Höhenmodell (DEM) bezeichnet.
Diese Grafiken zeigen geschummerte Repräsentationen einer zuerst zurückgegebenen Oberfläche (oder DSM) auf der linken Seite und das Modell einer unbebauten Erdoberfläche (oder DEM) auf der rechten Seite.
Einen Plan aufstellen
Vor dem Erstellen eines Rasters aus LIDAR-Daten müssen zunächst einige grundlegende Faktoren ausgewertet werden:
- Ausdehnung des LIDAR-Coverages
- Anzahl der LIDAR-Punkte und Punktdichte
- Gewünschte Auflösung des Ausgabe-Rasters
- Ausdehnung der/des Ausgabe-Raster(s)
- Format der/des Ausgabe-Raster(s)
Indem Sie sich zuerst diese Faktoren überlegen, können Sie besser bestimmen, ob Sie ein Raster oder eine Sammlung von Rastern erzeugen müssen. Ein Teil dieses Prozesses erfordert, dass Sie sich überlegen, wie viele Zeilen und Spalten Sie in einem Raster haben möchten. Dies hängt davon ab, was Sie mit dem Raster hinsichtlich Analyse, Anzeige und potenzieller Freigabe oder Verteilung der Daten vorhaben. Mit nur einem Dataset für die Analyse zu arbeiten, kann in Konflikt mit praktischen Einschränkungen hinsichtlich der Datengröße stehen. Des Weiteren müssen Sie die Menge LIDAR-Daten berücksichtigen, über die Sie verfügen. Obwohl es möglich ist, kann sich der Versuch, 10 Milliarden LIDAR-Punkte als ein Dataset zu verarbeiten, als sehr unhandlich herausstellen. In diesem Fall sollten Sie mehrere Raster aus dieser Masse LIDAR-Daten erstellen. Ziehen Sie daher auch eine Aufteilung der LIDAR-Verarbeitung in betracht. Dadurch behalten einzelne Datasets eine sinnvolle Größe, und die Verarbeitungsdauer für diese Datasets ist ebenfalls kürzer. Je länger es dauert, einen Prozess auszuführen, desto wahrscheinlicher ist es, das etwas schiefgeht (z. B. ein Stromausfall).
Wenn Sie sich dazu entschieden haben, Ihre Daten aufzuteilen, besteht die nächste Frage darin, wie Sie dies erreichen. Basiert die Aufteilung auf einem regulären Gittersystem, politischen Grenzen oder einer bestimmten Anwendung? Da LIDAR-Sammlungen tendenziell mehrere Verwendungszwecke erfüllen, ist eine Aufteilung auf Grundlage eines regulären Gittersystems oder politischer Unterteilungen wie Landkreisgrenzen am sinnvollsten. Ein Ingenieur kann die verschiedenen Teilstücke mosaikieren, die er oder sie für ein einzelnes Projekt benötigt. Wenn der vorgesehene Zweck stark auf einen bestimmten Anwendungstyp ausgerichtet ist, z. B. Hydrologie, verwenden Sie für die Anwendung logische Unterteilungen. Im Fall der Hydrologie sind beispielsweise die Grenzen von Wassereinzugsgebieten eine logische Wahl.
ArcGIS unterstützt viele Raster-Formate, sodass Sie sich aussuchen können, in welches Format Sie schreiben möchten. Die Entscheidung für ein bestimmtes Format hängt aber auch vom vorgesehenen Verwendungszweck des Produkts ab. Wenn das Produkt für die Öffentlichkeit freigegeben werden soll, können Sie es entweder im TIFF- oder im JPEG-Format verteilen. Für eine Analyse mit der ArcGIS-Plattform können Sie das dateibasierte Geodatabase-Format verwenden.
Der erste Schritt bei der Umwandlung von LIDAR-Punkten zu einem Raster ist das Laden der Punkte in eine Geodatabase. Um die LIDAR-Punkte in eine Multipoint-Feature-Class zu laden, verwenden Sie je nach Quelldatenformat der LIDAR-Daten entweder das Geoverarbeitungswerkzeug LAS zu Multipoint oder 3D-ASCII zu Feature-Class. Speichern Sie diese Multipoint-Feature-Class in einem Feature-Dataset, wenn Sie aus den LIDAR-Punkten ein Terrain-Dataset erstellen möchten. Obwohl Sie wahlweise LAS- oder ASCII-Formatdateien verwenden können, ist LAS das akzeptablere Binärdateiformat. LAS-Dateien enthalten mehr Informationen, und da sie binär sind, können sie vom Importprogramm effizienter gelesen werden. Weitere Informationen zum Importieren von ursprünglichen LIDAR-Messdaten in die Geodatabase finden Sie unter Daten importieren und Werkzeuge laden.
Verwenden des Werkzeuges "Punkt in Raster"
Wenn die einzige Datenquelle LIDAR-Daten sind, können Sie das Geoverarbeitungswerkzeug Punkt in Raster verwenden, um Raster-Höhenmodelle zu erzeugen. Das Werkzeug Punkt in Raster liefert nicht das qualitativ beste Ergebnis. LIDAR-Daten sind tendenziell so dicht, dass für viele Anwendungen die mit dem Geoverarbeitungswerkzeug Punkt in Raster erzeugte Genauigkeit jedoch ausreicht und sich die Einfachheit und die Geschwindigkeit dieses Werkzeugs lohnen.
Verwenden Sie beim Erstellen der Raster-Oberfläche für eine unbebaute Erdoberfläche (oder DEM) die LIDAR-Bodenpunkte, um das Raster zu erstellen. Legen Sie den Parameter Wertefeld im Werkzeug auf "Shape" fest, um die Z-Werte der Multipoint-Stützpunkte zu verwenden. Legen Sie zudem den Zellenzuweisungstyp entweder auf MINIMUM oder auf MEAN fest. MINIMUM beeinflusst Ausgabehöhen zu lokalen Tiefen, während MEAN eine allgemeinere Option ist. Um eine zuerst zurückgegebene Oberfläche oder DSM zu erzeugen, verwenden Sie die zuerst zurückgegebenen LIDAR-Punkte mit der Option MAXIMUM des Werkzeugs, da Sie die Ausgabe zu lokalen Höhen beeinflussen möchten.
Das Geoverarbeitungswerkzeug Punkt in Raster erzeugt aus LIDAR-Punkt-Sätzen Höhenmodelle mit Gitter.
Während Punkt in Raster die einfachste und schnellste Möglichkeit bietet, ein Raster aus LIDAR zu erzeugen, hat diese Methode einen bedeutenden Nachteil. Das Ergebnis kann viele NoData-Zellen enthalten, da das Werkzeug nur Werte für Zellen zurückgibt, die einen oder mehrere Punkte enthalten. Das Problem wird verstärkt, wenn ein DEM nur mithilfe von Bodenpunkten erstellt wird, da überall dort Lücken in den Daten auftreten, wo Vegetation und Gebäude den Boden bedecken. Um die NoData-Bereiche durch Datenzellen zu ersetzen, können Sie die Ausgabezellengröße relativ zum durchschnittlichen Punktabstand vergrößern. Sie können auch nach der Ausführung von Punkt in Raster die Anzahl der NoData-Zellen mit dem unten angegebenen Beispiel im Python-Fenster reduzieren, wenn Folgendes zutrifft:
- Die Erweiterung "Spatial Analyst" ist aktiviert
- Der Ausgabename des zuletzt ausgeführten "Focal Statistics"-Ausdrucks ist 'outfocalmNN' (outfocalm03, outfocalm04, outfocalm05 usw.)
- Die Ausgabe (in diesem Beispiel wird die Ausgabe von Punkt in Raster als "point2ras" bezeichnet) ist ein Layer im Inhaltsverzeichnis
- Der gültige Pfad ist: C:\data\
from arcpy.sa import * outfocalm01 = FocalStatistics("point2ras", NbrRectangle(3, 3, "CELL") outfocalm02 = FocalStatistics(outfocalm01, NbrRectangle(3, 3, "CELL") #Repeat using output (temporary raster object) in the next processes until all nodata is gone out = Con(IsNull("point2ras"), outfocalmNN, "point2ras") #Save the result to disk out.save("C:\data\myfinalDEM")
Sie können das Python-Beispiel mehrmals ausführen, um größere NoData-Flächen auszufüllen. Allerdings ist es nicht empfehlenswert, den Ausdruck zu oft auszuführen. Sie sollten größere leere Flächen eher als Konsequenz dieser Vorgehensweise akzeptieren.
Ursprüngliche Punkte auf der linken Seite, Ausgabe von Punkt in Raster in der Mitte (NoData-Zellen in Weiß), nachbearbeitetes Raster mit ausgefüllten NoData-Flächen auf der rechten Seite.
Verwenden des Terrain-Datasets zum Erstellen eines Raster-DEM
Wenn Ihre LIDAR-Daten photogrammetrische Bruchkanten enthalten oder Sie qualitativ hochwertigere Ergebnisse benötigen, als mit Punkt in Raster erzeugt werden können, dann verwenden Sie ein Terrain-Dataset. Eine Übersicht über Terrain-Datasets finden Sie unter Was ist ein Terrain-Dataset?
Auf der linken Seite ist eine Oberfläche ohne Bruchkanten an den Flussufern dargestellt. Auf der rechten Seite wurden Bruchkanten umgesetzt. Bruchkanten sind für das Verwalten der Definition von wasserbezogenen Features im Höhenmodell wichtig.
Bruchkanten werden verwendet, um lineare Diskontinuitäten in der Oberfläche aufzuzeichnen. Die häufigsten Typen sind Straßenkanten, Seenuferlinien, einlinige Arme kleiner Flüsse und zweilinige Arme großer Flüsse. Manchmal werden Bruchkanten auch gesammelt, um das Definieren und Formen der Oberfläche zu unterstützen, ohne notwendigerweise Diskontinuitäten darzustellen. Beispiele für diese Anwendungen sind konturartige Formlinien und die Gipfel abgerundeter Kämme.
Bruchkanten werden häufig in Modellen für unbebaute Erdoberflächen verwendet und sind tendenziell nachteilig, wenn sie mit zuerst zurückgegebenen Oberflächen verwendet werden, da sie mit den Punkten in Konflikt stehen können, die über dem Boden liegen. Bruchkanten, die Straßenkanten aufzeichnen, können beispielsweise in X-Y-Richtung lagegleich sein, aber in Z-Richtung mit Punkten in Baumkronen kollidieren, die die Straße überhängen. Erwägen Sie deswegen, Bruchkanten von der zuerst zurückgegebenen Oberfläche auszuschließen oder mindestens jene, von denen Sie wissen, dass sie potenzielle Konflikte hervorrufen.
Am effizientesten können Bruchkanten zur Verwendung in einem Terrain-Dataset (siehe Tabelle unten) organisiert werden, indem sie auf Grundlage des Oberflächen-Feature-Typs (SFType) in verschiedene Feature-Classes unterteilt werden. Oberflächen-Feature-Typen steuern die Art der Umsetzung der Features im Modell und wie der natürliche, während der Rasterung verwendete Nachbarinterpolator die Oberfläche beim Überqueren dieser Features interpretiert. Ein abweichender Bruch in der Neigung tritt über "harten" Features auf, aber nicht über "weichen" Features.
Messtyp |
Typ der Feature-Class |
SFType |
---|---|---|
LIDAR-Punkte |
3D-Multipoint-Feature-Class |
Mass |
Kante des Straßenbelags, ein- und zweilinig dargestellte Flussarme, scharfe Bergkämme |
3D-Linien-Feature-Class |
Harte Bruchkante |
Seen, Reservoires |
2D-Polygon-Feature-Class mit als Attribut gespeichertem Z-Wert |
Harte Bruchkante oder hartes Ersetzen |
Erodiert/gerundete Bergkämme, konturähnliche Formlinien |
3D-Linien-Feature-Class |
Weiche Bruchkante |
Grenzen des Untersuchungsgebiets |
2D-Polygon-Feature-Class ohne Z-Wert |
Weiches Abschneiden |
Für die Terrain-Performance ist es am besten, alle harten Bruchkanten in einer Feature-Class zusammenzufassen. In manchen Fällen ist dies nicht möglich, z. B. wenn Sie Straßen- und Wasser-Features separat verwalten müssen. Denken Sie daran: Je weniger Feature-Classes Sie verwenden, um ein Terrain zu definieren, desto besser.
Der SFType "Ersetzen" wird verwendet, um alle in einem Polygon enthaltenen Daten auf eine konstanten Höhe festzulegen. Hiermit werden meistens Seen bearbeitet, wenn sie versehentlich andere Daten enthalten, z. B. LIDAR-Punkte, deren Höhen nicht genau der Uferlinie entsprechen und sie verhindern, dass die Gewässer flach sind. Der SFType "Ersetzen" verursacht einen höheren Verarbeitungsaufwand als normale harte oder weiche Linien und sollte daher nach Möglichkeit nicht in einem Terrain-Dataset verwendet werden. Idealerweise enthalten Gewässer keine LIDAR-Referenzpunkte (Sie können erwägen, dies als Bedingung in den Vertrag mit Ihrem Datenanbieter aufzunehmen). Sind doch welche enthalten, können Sie das Geoverarbeitungswerkzeug Terrain-Punkte löschen verwenden, um die Punkte nach der Fertigstellung des Terrain-Datasets zu bearbeiten. Sie können unerwünschte Punkte aber auch vor dem Berechnen des Terrains mithilfe des Geoverarbeitungswerkzeugs Punkt radieren entfernen.
Wenn Sie sowohl unbebaute Erdoberfläche als auch zuerst zurückgegebene Oberflächen mit Terrain-Datasets erzeugen, laden Sie die LIDAR-Punkte in zwei verschiedene Multipoint-Feature-Classes, eine Feature-Class für die Bodenpunkte und eine Feature-Class für die über dem Boden liegenden Punkte. Das unbebaute Erdoberflächenterrain wird mit einem Verweis ausschließlich auf die Bodenpunkte definiert. Das zuerst zurückgegebene Terrain-Dataset verweist auf dieselbe Bodenpunkt-Feature-Class wie das unbebaute Erdoberflächenterrain; allerdings verweist es zusätzlich auf die Punkte oberhalb des Bodens. Daraus ergibt sich, dass zwei verschiedene Terrain-Datasets auf die gleiche Feature-Class verweisen können.
Seit ArcGIS 9.3 können Terrain-Datasets Pyramiden enthalten, indem einer von zwei Filtern zum Ausdünnen von Punkten verwendet werden: Z-Toleranz und Kachelung. Für die Erstellung eines DEM können Sie einen dieser beiden Pyramidentypen verwenden. Wenn Sie vom Punktsatz mit voller Auflösung rastern möchten, verwenden Sie den Kachelungsfilter für die Terrain-Konstruktion, da er deutlich schneller ist. Wenn Sie auch ausgedünnte Daten für die Analyse verwenden möchten, was sinnvoll ist, wenn die LIDAR-Daten für Ihre Bedürfnisse überreferenziert sind, dann verwenden Sie den Z-Tolerance-Filter. Zwar ist dieser zeitintensiver, aber dennoch überaus geeignet, da er eine Schätzung der vertikalen Genauigkeit der ausgedünnten Repräsentation liefert. Verwenden Sie für die Erstellung eines DSM den Kachelungsfilter mit der Option MAX.
Verwenden Sie das Werkzeug Terrain zu Raster, um das gerasterte Höhenmodell zu erzeugen. Das Werkzeug bietet Optionen für Interpolation, Ausgabezellengröße und die aus dem Terrain-Dataset zu verwendende Pyramidenebene.
Das Werkzeug Terrain zu Raster erzeugt Höhenmodelle mit Gitter aus Terrain-Datasets.
Für eine Interpolation sind die Optionen für die natürlichen Nachbarn am besten geeignet. Zwar ist dieses Werkzeug nicht so schnell wie die lineare Interpolation, aber es generiert im Allgemeinen bessere Ergebnisse hinsichtlich Ästhetik und Genauigkeit. Legen Sie die Ausgabezellengröße relativ zur Referenzpunktdichte der LIDAR-Punkte fest. Sie erreichen keine Genauigkeit, wenn Sie eine Zellengröße verwenden, die erheblich kleiner als der durchschnittliche Punktabstand ist. Legen Sie wo erforderlich auch die durch Umgebung festlegte Analyseausdehnung für die Extraktion von Teilmengen fest. Die Verwendung eines Fangrasters kann hinsichtlich der Ausrichtung von Raster-Ausgaben ebenfalls nützlich sein.
Nachfolgend sind die allgemeinen Schritte zum Generieren einer Raster-DEM-Oberfläche aus LIDAR-Punktdaten in ArcGIS erläutert.
Zunächst erstellen Sie in ArcCatalog oder im Fenster Katalog ein Terrain-Dataset, dann verwenden Sie Geoverarbeitungswerkzeuge, um dieses Terrain-Dataset in ein Raster-DEM zu konvertieren.
1. Erstellen Sie ein Terrain-Dataset.
-
Bestimmen Sie die Quelldaten und geben Sie an, wie diese Daten am Terrain-Dataset beteiligt sein sollen.
Weitere Informationen zum Darstellen von Terrainquelldaten finden Sie unter Darstellen von Terrainquelldaten in Feature-Classes und Typen der Quelldaten, die in Terrain-Datasets unterstützt werden.
Hinweis:Zum Berechnen eines Terrain-Datasets müssen alle Quelldaten über denselben Raumbezug verfügen.
- Erstellen Sie in ArcCatalog oder über das Fenster Katalog eine File-Geodatabase. Klicken Sie mit der rechten Maustaste auf den Ordner, in dem das Terrain berechnet werden soll, zeigen Sie auf Neu, und klicken Sie dann im Kontextmenü auf File-Geodatabase.
-
Erstellten Sie ein Feature-Dataset. Klicken Sie mit der rechten Maustaste auf die File-Geodatabase, zeigen Sie auf Neu, und klicken Sie dann im Kontextmenü auf Feature-Dataset.
Weitere Informationen zum richtigen Generieren eines Feature-Datasets finden Sie unter Erstellen eines Feature-Datasets.
- Importieren Sie die ursprünglichen Messdaten in Feature-Classes. Diese Feature-Classes müssen im in Schritt 3 erstellten Feature-Dataset erzeugt werden. Weitere Informationen zum Importieren von Quelldaten für ein Terrain finden Sie unter Importieren von ursprünglichen Terrain-Dataset-Messdaten.
-
Erstellen Sie in ArcCatalog oder im Fenster Catalog mithilfe des Assistenten Neues Terrain ein Terrain-Dataset.
Zum Zugreifen auf den Assistenten Neues Terrain klicken Sie mit der rechten Maustaste auf das Feature-Dataset, um das Menü anzuzeigen, zeigen Sie auf Neu, und klicken Sie dann auf Terrain.
Weitere Informationen zur Verwendung des Assistenten Neues Terrain finden Sie unter Berechnen eines Terrain-Datasets mit dem Assistenten "Terrain".
2. Verwenden Sie das Geoverarbeitungswerkzeug "Terrain zu Raster".
- Doppelklicken Sie in 3D Analyst Tools auf das Geoverarbeitungswerkzeug Terrain zu Raster, um es zu öffnen.
- Klicken Sie auf die Schaltfläche Eingabe-Terrain, um das Terrain-Dataset hinzuzufügen.
- Klicken Sie auf die Schaltfläche Durchsuchen für Ausgabe-Raster, um den Speicherort anzugeben, an dem das Raster-Dataset erstellt werden soll.
- Legen Sie den optionalen Parameter für den Ausgabedatentyp entweder auf eine 32-Bit-Gleitkommazahl oder ein 32-Bit-Integer fest. Der Standardwert ist die Gleitkommazahl.
-
Legen Sie für die Interpolationsmethode entweder "Linear" oder Natürliche Nachbarn fest.
Dabei handelt es sich um TIN-basierte Interpolationsmethoden, die anhand der triangulierten Terrain-Oberfläche angewendet werden. Bei der Option "Linear" umgibt das Dreieck jede Zellenmitte und wendet einen gewichteten Durchschnitt der Knoten des Dreiecks für die Interpolation eines Wertes an. Die Option Natürliche Nachbarn verwendet die Voronoi-Nachbarn von Zellenmittelpunkten.
Erwägen Sie bei der Interpolation einer Terrain-Oberfläche die Verwendung der Methode "Natürliche Nachbarn". Bei der Interpolation "Natürliche Nachbarn" kommt es zu einer längeren Verarbeitungszeit. Die generierte Oberfläche ist dann jedoch viel glatter als das Ergebnis einer linearen Interpolation. Darüber hinaus wird diese Methode weniger durch kleinere Änderungen in der Triangulation beeinflusst.
-
Legen Sie Abtastschrittweite entweder auf Observers oder Cellsize fest, die die horizontale Auflösung des Rasters steuert. Geben Sie nach der Auswahl der gewünschten Methode neben der Option den Wert an.
Die Methode Observers berechnet die Zellengröße basierend auf dem festgelegten Wert. Diese Zahl gibt an, durch welche Anzahl an Zellen die längste Kante der Raster-Oberfläche abgebildet werden soll. Sie können die Zellengröße explizit über die Option Cellsize angeben.
- Legen Sie die zu verwendende Auflösung fest. Der Auflösungsparameter gibt an, welche Pyramidenebene des Terrain-Datasets Sie für die Konvertierung verwenden sollen. Um ein Raster-Dataset bei voller Auflösung auszugeben, setzen Sie diesen Parameter auf "0". Pyramidenebenen werden über die Z-Toleranz oder Kachelung definiert, die die ungefähre Auflösung des Terrain-Datasets relativ zur vollen Auflösung der Daten darstellt.
- Erwägen Sie, Umgebungseinstellungen zu verwenden, um die Ausdehnungen des zu generierenden DEM explizit zu steuern. Klicken Sie unten im Geoverarbeitungswerkzeug auf die Schaltfläche Umgebung, um eine Teilmenge des Terrains zu extrahieren. Klicken Sie auf die Registerkarte Allgemeine Einstellungen und definieren Sie die Ausdehnung des Ausgabe-DEM.
Mithilfe der Geoverarbeitungswerkzeuge Punkt in Raster oder Terrain zu Raster können Sie hunderte Millionen, sogar Milliarden von LIDAR-Punkten in hochauflösende DEMs oder DSMs mit Gitter verarbeiten. Diese Oberflächenmodelle können dann mit den in ArcGIS verfügbaren Raster-Werkzeugen für die Analyse verwendet werden.
Sie können ebenso zur Herstellung von Karten (siehe Grafik unten) verwendet und aufgrund ihrer einfachen Datenstruktur leicht freigegeben werden.