Vergleichen von zwei digitalen Höhenmodellen (DEMs) aus LAS-Dateien?

12

Ich habe zwei LiDAR-Dateien (.las), eine ist original, sagen wir mit X Punkten. Und die andere ist eine Kopie der ersten .las-Datei, jedoch mit Y-Punkten, wobei Y kleiner als X ist.

Jetzt möchte ich die Digital Elevation Models (DEMs) dieser beiden .las-Dateien vergleichen und veranschaulichen, wie unterschiedlich sie sind.

Ich möchte unter anderem Informationen wie RMSE und Standardabweichung erhalten.

Ich würde mich freuen, wenn mir jemand sagen könnte, welche Software es gibt und wie ich die Vergleichsinformationen erhalten kann.

Andre Silva
quelle
1
Vielleicht könnten Sie die Frage bearbeiten, um M und N (anstelle von X und Y) zu verwenden. Beim ersten Lesen dachte ich, X und Y wären die Koordinatenwerte!
Mark Ireland
1
Sie müssen wirklich mehr Informationen bereitstellen, um relevante Hilfe zu erhalten. Ihre aktuelle Frage macht sehr wenig Szene. Welches Feld in Ihrer Las-Datei enthält die Werte? Die Art und Weise, wie klassifizierte Böden im Las-Format zugewiesen werden, ist ein Klassifizierungsfeld und keine unterschiedlichen z-Werte (Höhenwerte). Ein Anbieter hätte eines der nicht zugewiesenen Felder verwenden müssen, um einen Unterschied in den z-Werten zu halten.
Jeffrey Evans

Antworten:

8

So vergleichen Sie zwei digitale Höhenmodelle (DEMs) in R.

#-------------------------------------------------------------------------
#Creating a reproducible example

library(raster)

  #simulating raster_1

  f = system.file("external/test.grd", package="raster")
  DEM_1 = raster(f)

  #simulating raster_2

  DEM_2 = DEM_1
  # replacing values from raster_1 to create a new raster sample (raster_2)
    DEM_2[(DEM_2>500 & DEM_2<900)] = 550
    DEM_2[(DEM_2>200 & DEM_2<300)] = 500

#-------------------------------------------------------------------------
# Comparison 1 (DEM_3 resulted from subtracting DEM_2 from DEM_1)

  DEM_3 = DEM_1 - DEM_2

    par(mfrow=c(1,3))

    plot(DEM_1, main = "DEM_1")
    plot(DEM_2, main = "DEM_2")
    plot(DEM_3, main = "DEM_3 = DEM_1 - DEM_2")

      dev.off()

Bildbeschreibung hier eingeben

#-------------------------------------------------------------------------
#Comparison 2 (histogram)

  hist(DEM_1, prob=T, main="DEM_1", xlab="")
  hist(DEM_2, prob=T, main="DEM_2", xlab="")
  hist(DEM_3, prob=T, main="DEM_3 = DEM_1 - DEM_2", xlab="")

    par(mfrow=c(1,1))

  standard_deviation = sd(c(as.matrix(DEM_3)),na.rm=T)

    dev.off()

Bildbeschreibung hier eingeben

#-------------------------------------------------------------------------
#comparison 3 (RMSE)

  library(hydroGOF)

  DEM_1_matrix = c(as.matrix(DEM_1))
  DEM_2_matrix = c(as.matrix(DEM_2))

  rmse = rmse(DEM_1_matrix,DEM_2_matrix)
  rmse
  [1] 135.3675 # this is the root mean squared error (RMSE) result.

Siehe @ whubers Antwort zum Vergleichen von zwei mit ArcGIS for Desktop erstellten TINs? für einen theoretischen Einblick zu diesem Thema.

Andre Silva
quelle
5

Dies können Sie über die Erweiterung "ESRI ArcGIS Geostatistical Analysis" tun. In der Hilfe finden Sie einen Abschnitt zum Durchführen der Validierung für Teilmengen .

Sie können das gleiche über GRASS über die R-Schnittstelle tun . Wie das geht, beschreibt Tomislav Hengl in seinem Buch A Practical Guide to Geostatistical Mapping . Es ist offen zugänglich, sodass das PDF kostenlos heruntergeladen werden kann.

om_henners
quelle
2

Soweit mir bekannt ist, wird RMSE nur während der Erstellung des DEM angegeben und nicht als Attribut für die weitere Aktualisierung. Sie müssen es daher während der Erstellung des DEM manuell "abfangen" (das habe ich jedoch nie gemacht) ein DEM von Lidar, nur von anderen Daten).

Wenn Sie die Unterschiede zwischen den DATEN in den beiden DEMS anzeigen möchten, verwenden Sie "Ausschneiden / Ausfüllen" in der Spatial Analyst-Erweiterung von ArcGIS (unter "Oberflächenanalyse"). Das Ausschneiden / Ausfüllen zeigt Ihnen in einer einfachen thematischen Karte die Änderungen zwischen den DEMs.

jonatr
quelle
3
Cut / Fill ist zu grob, weil es die Unterschiede nicht quantifiziert. RMSE ist eine allgemeine Methode zum Vergleichen von zwei Datensätzen: Es ist nicht nur nützlich, ein DEM mit Ground-Truth-Daten zu vergleichen, sondern auch, um Unterschiede zwischen zwei DEM zu quantifizieren.
Whuber
2

Ich würde einen einfachen Unterschied machen. DEM2-DEM1. Dies zeigt alle Bereiche, die unterschiedlich sind und um wie viel.

Theres ein Bild zu einem hohen resdem Unterschied auf meiner Web site homepage. thadwester.com Schauen
Sie sich das farbenfrohe linke Bild an.

Thad
quelle