Comparaison de deux modèles numériques d'élévation (DEM) à partir de fichiers LAS?


12

J'ai deux fichiers LiDAR (.las), l'un est original disons avec X points. Et l'autre est une copie du premier fichier .las mais avec des points Y, où Y est inférieur à X.

Maintenant, je veux comparer les modèles numériques d'élévation (DEM) de ces deux fichiers .las et visualiser à quel point ils sont différents.

Je veux obtenir des informations comme RMSE, l'écart-type, entre autres types de comparaison.

J'apprécierais, si quelqu'un pouvait me dire quels logiciels et comment obtenir les informations de comparaison.


1
Vous pouvez peut-être modifier la question pour utiliser M et N (au lieu de X et Y). En première lecture, je pensais que X et Y étaient les valeurs de coordonnées!
Mark Ireland

1
Vous avez vraiment besoin de fournir plus d'informations pour recevoir une aide pertinente. Votre question actuelle fait très peu de scène. Quel champ de votre fichier las contient les valeurs. La façon dont les sols sont classés au format las est un champ de classification et non des valeurs z (élévation) différentes. Un fournisseur aurait dû utiliser l'un des champs non attribués pour conserver une différence dans les valeurs z.
Jeffrey Evans

Réponses:


8

Comment comparer deux modèles numériques d'élévation (DEM) dans 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()

entrez la description de l'image ici

#-------------------------------------------------------------------------
#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()

entrez la description de l'image ici

#-------------------------------------------------------------------------
#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.

Voir la réponse de @ whuber sur la comparaison de deux TIN créés à l'aide d'ArcGIS for Desktop? pour un aperçu théorique de cette question.



2

Pour autant que je sache, RMSE n'est indiqué que lors de la fabrication du DEM, et non comme un attribut pour une réfraction ultérieure, vous devez donc "l'attraper" manuellement pendant la fabrication du DEM (cela dit, je n'ai jamais fait un DEM de Lidar, uniquement à partir d'autres données).

Si vous voulez voir les différences entre les DONNÉES à l'intérieur des deux DEMS, j'utiliserais couper / remplir qui se trouve dans l'extension Spatial Analyst d'ArcGIS (sous "Analyse de surface"). Le cut / fill vous montre dans une simple carte thématique les changements entre les DEM.


3
Couper / remplir est trop grossier car il ne quantifie pas les différences. RMSE est un moyen général de comparer deux ensembles de données: non seulement est-il utile de comparer un DEM à des données de terrain, c'est une façon de quantifier les différences entre deux DEM.
whuber

2

Je ferais un simple DEM de différence. DEM2-DEM1. Cela montrera tous les domaines qui sont différents et de combien.

Theres une image à une haute résolution dem de différence sur la page d'accueil de mon site Web. thadwester.com
Jetez un œil à l'image colorée de gauche.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.