Menghaluskan DEM menggunakan GRASS?

45

Saya memiliki DEM SRTM dan saya ingin membuat relief berbayang darinya. Saya membuat relief berbayang di GRASS dan hasilnya sangat bagus, tapi agak kasar karena daerahnya hampir rata dan resolusi DEM 90m.

Yang saya inginkan adalah membuat DEM lebih halus untuk menghasilkan kelegaan yang halus. Apakah ada metode algoritma atau interpolasi untuk melakukan itu?

Berikut adalah bantuan teduh untuk mendapatkan ide, saya ingin meratakan benjolan kecil ini:

Gambar

Pablo
sumber

Jawaban:

43

Bagaimana John Stevenson r.denoise, dari AddOns GRASS wiki :

r.denoise denoises (menghaluskan / despeckles) data topografi, Dems khususnya yang berasal dari data radar (termasuk SRTM), menggunakan algoritma Xianfang Sun denoising . Ini dirancang untuk mempertahankan tepi tajam dan untuk denoise dengan perubahan minimal pada data asli.

mdenoise

Saya membaca lebih lanjut dari situs web ini (bahwa saya juga memberikan penghargaan untuk animasi di atas) bahwa metode yang lebih umum adalah dengan menggunakan file Grid Esri ASCII. Lokasi mdenoise(download dari situs Sun ) perlu di variabel PATH Anda (misalnya, pengguna Windows: penurunan MDenoise.exedalam binfolder dengan OSGeo4w atau FWTools install). Kemudian, misalnya, Anda dapat menggunakan perintah shell berikut untuk memproses file kisi ASCII:

# gdal_translate -of AAIGrid my_dem.tif my_dem.asc      # convert to .asc
mdenoise -i my_dem.asc -n 5 -t 0.99 -o my_dem_DN.asc    # denoise
# gdal_translate -of GTiff my_dem_DN.asc my_dem_DN.tif  # convert back to .tif

Denoise berada di bawah lisensi GNU, lihat di sini

Mike T
sumber
Adakah portage python / gdal?
Hugolpz
1
Anda selalu dapat menjalankan perintah apa pun dari Python.
Mike T
Maksudku setara dengan python yang tidak perlu R.
Hugolpz
1
Ini tidak memerlukan R. Dari Python, gunakan os.system('mdenoise ...')untuk menjalankan executable.
Mike T
Untuk memperjelas: r. di sini singkatan dari raster. Perintahnya dari GRASS GIS, bukan dari R.
bugmenot123
11

Tom Patterson, pemimpin kartografi di Layanan Taman Nasional AS memiliki beberapa tutorial yang sangat baik tentang bekerja dengan data DEM untuk membuat relief yang teduh. Bagian dari alur kerjanya melibatkan penggunaan Natural Scene Designer dan Adobe Photoshop.

Untuk alur kerja saya sendiri, saya ingin menggunakan GDAL untuk menguji ulang ukuran DEM sebelum memberikan bantuan yang teduh. Ini sering membantu mengurangi jumlah detail dan kebisingan, belum lagi ukuran file. Saya punya tutorial tentang Github yang menunjukkan cara melakukan ini.

Pada dasarnya prosesnya adalah menentukan lebar dan / atau tinggi baru (dalam piksel) untuk DEM keluaran yang lebih kecil dari ukuran file asli. Misalnya melakukan:

gdalwarp -ts 3000 0 -r bilinear kings_canyon_2228.tif kings_canyon_2228_rs.tif

Akan mengurangi lebar DEM menjadi 3000 piksel dari lebar asli 3800 piksel. Mengatur tinggi ke 0 akan memungkinkan GDAL menentukan ketinggian terbaik dari file baru berdasarkan rasio aspek asli.

clhenrick
sumber
7

Saya menggunakan alat pengurangan noise wavelet plugin GIMP dan saya mendapatkan hasil yang baik dan cepat:

Pengurangan kebisingan Wavelet Plugin GIMP

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

SamTux
sumber
Saya merapikan raster saya (hillshade) namun file (tiff) telah kehilangan referensi spasial. Jadi, ketika saya memasukkannya ke dalam proyek qgis saya, yang satu tidak overlay dengan benar dengan layer lain. Pernah terjadi ini denganmu?
Diogo Caribé
Ada cara untuk memasukkan kembali geolokasi.
Hugolpz
Ya, di QGIS, ekspor hillshade dalam menu raster, dan expor ke PNG.
SamTux
6

Anda dapat menjalankan filter sederhana pada DEM - katakanlah, filter rata-rata jendela bergerak 5x5.

Radar
sumber
3

Di ArcMap saya suka menggunakan alat statistik fokus Spatial Analyst> untuk menghaluskan Larsar sebelum membuat kontur ... ini mungkin juga membantu dalam kasus hillshading Anda. Ini fungsi yang mirip dengan posting di atas yang saya percaya.

aug_aug
sumber
oops, baca saja bagian GRASS ... well, saya yakin ada operasi yang sama ...
aug_aug