Membandingkan dua Digital Elevation Model (DEMs) dari file LAS?

12

Saya memiliki dua file LiDAR (.las), yang satu adalah yang asli katakanlah dengan poin X. Dan yang lainnya adalah salinan file .las pertama tetapi dengan poin Y, di mana Y kurang dari X.

Sekarang, saya ingin membandingkan Digital Elevation Model (DEMs) dari dua file .las ini dan memvisualisasikan betapa berbedanya mereka.

Saya ingin mendapatkan informasi seperti RMSE, standar deviasi, di antara jenis perbandingan lainnya.

Saya akan sangat menghargai, jika ada yang bisa memberi tahu saya software apa, dan cara untuk mendapatkan info perbandingan.

Andre Silva
sumber
1
Mungkin Anda bisa mengedit pertanyaan untuk menggunakan M dan N (bukan X dan Y). Pada bacaan pertama saya pikir X dan Y adalah nilai koordinat!
Tandai Irlandia
1
Anda benar-benar perlu memberikan lebih banyak informasi untuk menerima bantuan yang relevan. Pertanyaan Anda saat ini hanya membuat sedikit adegan. Bidang mana dalam file las Anda memegang nilai-nilai. Cara ground diklasifikasikan ditugaskan dalam format las adalah bidang klasifikasi dan tidak berbeda nilai z (ketinggian). Vendor harus menggunakan salah satu bidang yang tidak ditugaskan untuk menyimpan perbedaan dalam nilai z.
Jeffrey Evans

Jawaban:

8

Bagaimana membandingkan dua Model Ketinggian Digital (DEM) di 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()

masukkan deskripsi gambar di sini

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

masukkan deskripsi gambar di sini

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

Lihat jawaban @ whuber pada Membandingkan dua TIN yang dibuat menggunakan ArcGIS untuk Desktop? untuk wawasan teoritis tentang masalah ini.

Andre Silva
sumber
5

Anda dapat melakukan ini melalui ESRI ArcGIS Geostatistic Analysis Extension - ada bagian dalam bantuan untuk melakukan validasi pada himpunan bagian .

Anda bisa melakukan hal yang sama melalui GRASS melalui antarmuka R . Tomislav Hengl menjelaskan secara rinci bagaimana melakukannya dalam bukunya A Practical Guide to Geostatistic Mapping . Ini akses terbuka, jadi PDFnya gratis untuk diunduh.

om_henners
sumber
2

Sejauh yang saya tahu, RMSE hanya dinyatakan selama pembuatan DEM, dan bukan sebagai atribut untuk referensi lebih lanjut, jadi Anda harus "menangkapnya" secara manual selama pembuatan DEM (yang mengatakan, saya tidak pernah membuat DEM dari Lidar, hanya dari data lain).

Jika Anda ingin melihat perbedaan antara DATA di dalam dua DEMS, saya akan menggunakan cut / fill yang ada dalam ekstensi Spatial Analyst dari ArcGIS (di bawah "Analisis Permukaan"). Cut / fill menunjukkan kepada Anda dalam peta tematik sederhana perubahan antara DEM.

Jonatr
sumber
3
Potong / isi terlalu kasar karena tidak menghitung perbedaan. RMSE adalah cara umum untuk membandingkan dua dataset: tidak hanya berguna untuk membandingkan DEM dengan data ground-truth, itu adalah salah satu cara untuk mengukur perbedaan antara dua DEM.
whuber
2

Saya akan melakukan DEM perbedaan sederhana. DEM2-DEM1. Ini akan menunjukkan semua area yang berbeda dan seberapa banyak.

Ada gambar dengan resolusi tinggi perbedaan di beranda situs web saya. thadwester.com
Lihatlah gambar kiri yang berwarna-warni.

Ini
sumber