LAS färben (3D Analyst)

Zusammenfassung

Wendet Farben und infrarotnahe Werte aus Orthofotos auf LAS-Punkte an.

Abbildung

LAS färben

Verwendung

  • Mit der Anzeige von LAS-Punkten mithilfe von RGB-Informationen lässt sich eine einzigartig immersive, fotorealistische Anzeige erreichen. Das visuelle Feedback von echten Bilddaten, die über LAS-Punkte gelegt werden, kann Informationen über die diskontinuierlichen Eigenschaften der Punktwolke liefern. Das kann bei der interaktiven Klassifizierung von Daten, bei der Digitalisierung neuer Features sowie bei der Einrichtung eines Bezugspunktes hilfreich sein, wenn 3D-Entfernungsmesswerte verwendet werden.

  • Die für die Anwendung von Farben auf LAS-Punkte verwendeten Bilddaten werden am besten zur selben Zeit wie die LIDAR-Vermessungen gewonnen, um bei den erfassten Features die höchste Übereinstimmung zu erzielen. Andernfalls sollten Sie Bilddaten verwenden, die möglichst nahe am Zeitpunkt der Erfassung liegen, um Unterschiede aufgrund von Ereignissen wie Bauarbeiten oder die jahreszeitliche Veränderung von sommergrünen Blättern zu minimieren.

  • Wenn die Quellbilddaten aus verschiedenen gekachelten Bildern bestehen, laden Sie diese Kacheln in ein Mosaik-Dataset, um sie als ein einzelnes Dataset zu referenzieren, und verwenden Sie dieses als Bildeingabe zum Färben der LAS-Daten. Hier finden Sie weitere Informationen zum Erstellen eines Mosaik-Datasets.

  • Die Speicherung von Nahinfrarot-Werten für LAS-Punkte wird nur durch LAS-Dateiversion 1.4 mit Punktdatensatzformat 8 unterstützt.

  • Wenn eine Verarbeitungsausdehnung definiert ist, wird die vollständige LAS-Datei, die die Verarbeitungsausdehnung schneidet, gefärbt. Wenn nur ein Teil der LAS-Eingabedatei gewünscht ist, könnten Sie mit dem Werkzeug LAS extrahieren den Teil ausschneiden und die resultierende Datei als Eingabe für dieses Werkzeug verwenden.

  • LAS-Punkt-Datensätze werden häufig in der LAS-Datei in einer binären Sequenz gespeichert, die nicht dem räumlichen Clustering der Punkte entspricht. Wenn Daten einer derartigen Verteilung abgefragt werden, kann dies zu einem weniger effizienten Zugriff auf die binären Datensätze führen, die die LAS-Punkte darstellen. Durch eine Neuanordnung der Punkte in der resultierenden LAS-Datei werden die Daten für die Visualisierung und andere räumliche Operationen optimiert. Bei Aktivierung der Option für die Neuanordnung werden automatisch Statistiken berechnet. Wenn Sie die LAS-Punkte nicht neu anordnen möchten, bleibt es Ihnen überlassen, ob Sie die Berechnung von Statistiken aktivieren oder deaktivieren. Durch die Berechnung von Statistiken werden räumliche Abfragen optimiert. Zudem wird eine Zusammenfassung der Klassencodes und Rückgabewerte bereitgestellt, die in der LAS-Datei vorhanden sind. Im Gegenzug benötigt dieses Werkzeug jedoch etwas mehr Zeit für die Verarbeitung. Wenn Sie die resultierenden LAS-Dateien in ArcGIS nicht verwenden, bleibt es Ihnen überlassen, ob Sie die Berechnung von Statistiken aktivieren oder zur Beschleunigung des Werkzeugs deaktivieren.

Syntax

arcpy.3d.ColorizeLas(in_las_dataset, in_image, bands, target_folder, {name_suffix}, {las_version}, {point_format}, {compression}, {rearrange_points}, {compute_stats}, {out_las_dataset})
ParameterErklärungDatentyp
in_las_dataset

Das zu verarbeitende LAS-Dataset.

LAS Dataset Layer
in_image

Das Bild, das zum Zuweisen von Farben zu LAS-Punkten verwendet werden soll.

Mosaic Layer; Raster Layer
bands
[bands,...]

Die Bänder im Eingabebild, die den Farbkanälen, die den Ausgabe-LAS-Punkten zugeordnet sind, zugewiesen werden sollen.

Value Table
target_folder

Der vorhandene Ordner, in den die Ausgabe-LAS-Dateien geschrieben werden.

Folder
name_suffix
(optional)

Der Text, der an den Namen jeder Ausgabe-LAS-Datei angehängt wird. Jede Datei übernimmt ihren Basisnamen aus ihrer Quelldatei, gefolgt von dem Suffix, der in diesem Parameter festgelegt wird.

String
las_version
(optional)

Die LAS-Version der Ausgabedateien, die erstellt werden.

  • 1.2Erstellt werden Dateien in LAS-Version 1.2.
  • 1.3Erstellt werden Dateien in LAS-Version 1.3.
  • 1.4Erstellt werden Dateien in LAS-Version 1.4. Dies ist die Standardeinstellung.
String
point_format
(optional)

Das Punktdatensatzformat der Ausgabe-LAS-Dateien.

  • 2Punktdatensatzformat 2.
  • 3Punktdatensatzformat 3 unterstützt die Speicherung der GPS-Zeit.
  • 7Punktdatensatzformat 7. Dies ist der Standardwert und nur für LAS-Version 1.4 verfügbar.
  • 8Punktdatensatzformat 8 unterstützt die Speicherung von infrarotnahen Werten. Dieser Wert ist nur für LAS-Version 1.4 verfügbar.
Long
compression
(optional)

Legt fest, ob die Ausgabe-LAS-Datei in einem komprimierten oder im Standard-LAS-Format vorliegen soll.

  • NO_COMPRESSIONDie Ausgabe erfolgt im Standard-LAS-Format (*.las). Dies ist die Standardeinstellung.
  • ZLASAusgabe-LAS-Dateien werden im zLAS-Format komprimiert.
String
rearrange_points
(optional)

Legt fest, ob Punkte in den LAS-Dateien neu angeordnet werden.

  • NO_REARRANGE_POINTSReihenfolge der LAS-Dateien wird beibehalten.
  • REARRANGE_POINTSDie Punkte in den LAS-Dateien werden neu angeordnet. Dies ist die Standardeinstellung.
Boolean
compute_stats
(optional)

Gibt an, ob für die vom LAS-Dataset referenzierten LAS-Dateien Statistiken berechnet werden sollen. Durch das Berechnen von Statistiken wird ein räumlicher Index für jede LAS-Datei bereitgestellt, wodurch sich die Analyse- und Darstellungs-Performance verbessert. Ferner werden durch Statistiken die Filter- und Symbolisierungsverfahren verbessert, da die Anzeige von LAS-Attributen, beispielsweise Klassifizierungscodes und Rückgabeinformationen, auf die in der LAS-Datei vorhandenen Werte begrenzt wird.

  • COMPUTE_STATSEs werden Statistiken berechnet.
  • NO_COMPUTE_STATSEs werden keine Statistiken berechnet. Dies ist die Standardeinstellung.
Boolean
out_las_dataset
(optional)

Das Ausgabe-LAS-Dataset, das auf die neu erstellten LAS-Dateien verweist.

LAS Dataset

Abgeleitete Ausgabe

NameErklärungDatentyp
output_folder

Der Ordner, in den die Ausgabe-LAS-Dateien ausgegeben werden.

Ordner

Codebeispiel

ColorizeLas – Beispiel 1 (Python-Fenster)

Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.

arcpy.env.workspace = 'C:/data'
arcpy.ddd.ColorizeLas('2014_lidar_survey.lasd', '2014_CIR.tif', 
                      'RED Band_1; GREEN Band_2; BLUE Band_3', 
                      'las/rgb', '_rgb', 1.3, 3, 'ZLAS', 
                      'REARRANGE_POINTS')
ColorizeLas – Beispiel 2 (eigenständiges Skript)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.

'''****************************************************************************
       Name: Classify Lidar & Extract Building Footprints
Description: Extract footprint from lidar points classified as buildings, 
             regularize its geometry, and calculate the building height.

****************************************************************************'''
import arcpy

lasd = arcpy.GetParameterAsText(0)
dem = arcpy.GetParameterAsText(1)
footprint = arcpy.GetParameterAsText(2)

try:
    desc = arcpy.Describe(lasd)
    if desc.spatialReference.linearUnitName in ['Foot_US', 'Foot']:
        unit = 'Feet'
    else:
        unit = 'Meters'
    ptSpacing = desc.pointSpacing * 2.25
    sampling = '{0} {1}'.format(ptSpacing, unit)
    # Classify overlap points
    arcpy.ddd.ClassifyLASOverlap(lasd, sampling)
    # Classify ground points
    arcpy.ddd.ClassifyLasGround(lasd)
    # Filter for ground points
    arcpy.management.MakeLasDatasetLayer(lasd, 'ground', class_code=[2])
    # Generate DEM
    arcpy.conversion.LasDatasetToRaster('ground', dem, 'ELEVATION', 
                                        'BINNING NEAREST NATURAL_NEIGHBOR', 
                                        sampling_type='CELLSIZE', 
                                        sampling_value=desc.pointSpacing)
    # Classify noise points
    arcpy.ddd.ClassifyLasNoise(lasd, method='ISOLATION', edit_las='CLASSIFY', 
                               withheld='WITHHELD', ground=dem, 
                               low_z='-2 feet', high_z='300 feet', 
                               max_neighbors=ptSpacing, step_width=ptSpacing, 
                               step_height='10 feet')
    # Classify buildings
    arcpy.ddd.ClassifyLasBuilding(lasd, '7.5 feet', '80 Square Feet')
    #Classify vegetation
    arcpy.ddd.ClassifyLasByHeight(lasd, 'GROUND', [8, 20, 55], 
                                  compute_stats='COMPUTE_STATS')
    # Filter LAS dataset for building points
    lasd_layer = 'building points'
    arcpy.management.MakeLasDatasetLayer(lasd, lasd_layer, class_code=[6])
    # Export raster from lidar using only building points
    temp_raster = 'in_memory/bldg_raster'
    arcpy.management.LasPointStatsAsRaster(lasd_layer, temp_raster,
                                           'PREDOMINANT_CLASS', 'CELLSIZE', 2.5)
    # Convert building raster to polygon
    temp_footprint = 'in_memory/footprint'
    arcpy.conversion.RasterToPolygon(temp_raster, temp_footprint)
    # Regularize building footprints
    arcpy.ddd.RegularizeBuildingFootprint(temp_footprint, footprint, 
                                          method='RIGHT_ANGLES')

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Lizenzinformationen

  • Basic: Erfordert 3D Analyst
  • Standard: Erfordert 3D Analyst
  • Advanced: Erfordert 3D Analyst

Verwandte Themen