Lissage DEM avec GRASS?

45

J'ai un DEM SRTM et je veux en créer un relief ombré. J'ai créé le relief ombré dans GRASS et le résultat est très agréable, mais un peu rugueux car la zone est presque plate et le DEM a une résolution de 90 m.

Ce que je veux, c'est rendre le DEM plus lisse afin de générer un relief ombré lisse. Existe-t-il un algorithme ou une méthode d'interpolation pour le faire?

Voici le relief ombré pour se faire une idée, je veux aplatir ces petites bosses:

Image

Pablo
la source

Réponses:

43

Qu'en est-il de John Stevenson r.denoise, du wiki GRASS AddOns :

r.denoise denoises (Smooths / despeckles) des données topographiques, MNE particulières dérivées des données radar (y compris SRTM), en utilisant l'algorithme de débruitage de Xianfang Soleil . Il est conçu pour préserver les contours nets et atténuer les effets avec des modifications minimes des données d'origine.

mdenoise

J'ai lu plus loin sur ce site Web (que je donne également crédit à l'animation ci-dessus) qu'une méthode plus générique consisterait à utiliser un fichier de grille Esri ASCII. L'emplacement de mdenoise(téléchargé sur le site Web de Sun ) doit être dans votre variable PATH (par exemple, utilisateurs Windows: déposez-le MDenoise.exedans le bindossier d'installation de votre OSGeo4w ou de votre FWTools). Ensuite, vous pouvez par exemple utiliser la commande shell suivante pour traiter le fichier de grille 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 est sous licence GNU, voir ici

Mike T
la source
Un portage python / gdal?
Hugolpz
1
Vous pouvez toujours exécuter n'importe quelle commande de Python.
Mike T
Je veux dire un équivalent en python qui n'a pas besoin de R.
Hugolpz
1
Cela ne nécessite pas de R. À partir de Python, utilisez os.system('mdenoise ...')pour exécuter le fichier exécutable.
Mike T
Pour clarifier: le r. Ici signifie raster. La commande provient de GRASS GIS, pas de R.
bugmenot123
11

Tom Patterson, cartographe en chef du Service national des parcs des États-Unis, propose d' excellents tutoriels sur l'utilisation des données DEM pour créer de superbes reliefs ombragés. Une partie de son flux de travail implique l'utilisation de Natural Scene Designer et d'Adobe Photoshop.

Pour mon propre flux de travail, j'aime utiliser GDAL pour ré-échantillonner la taille du DEM avant de générer un relief ombré. Cela aide souvent à réduire la quantité de détails et de bruit, sans parler de la taille du fichier. J'ai un tutoriel sur Github qui montre comment faire cela.

Le processus consiste essentiellement à spécifier une nouvelle largeur et / ou une nouvelle hauteur (en pixels) pour un fichier DEM en sortie plus petit que la taille du fichier d'origine. Par exemple faire:

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

Réduira la largeur du DEM à 3 000 pixels de la largeur initiale de 3 800 pixels. Si vous définissez la hauteur sur 0, GDAL déterminera la meilleure hauteur du nouveau fichier en fonction du rapport de format de l'original.

Clhenrick
la source
7

J'ai utilisé l'outil de réduction de bruit en ondelettes du plugin GIMP et j'ai obtenu de bons résultats et rapidement:

GIMP Plugin Réduction du bruit en ondelettes

entrez la description de l'image ici

entrez la description de l'image ici

SamTux
la source
J'ai lissé mon raster (ombrage), mais le fichier (tiff) a perdu sa référence spatiale. Ainsi, lorsque je l'ai mis dans mon projet qgis, celui-ci ne s'est pas superposé correctement à d'autres couches. Cela s'est-il passé avec vous?
Diogo Caribé
Il y a moyen de réinjecter la géolocalisation.
Hugolpz
Oui, dans QGIS, exportez l'ombrage dans le menu raster et exportez-le au format PNG.
SamTux
6

Vous pouvez utiliser un simple filtre sur le DEM, par exemple un filtre de moyenne de fenêtre mobile 5x5.

Radar
la source
3

Dans ArcMap, j'aime bien utiliser l'outil Spatial Analyst> de statistiques focales pour lisser le lidar avant de créer des contours ... Cela pourrait également vous aider dans le cas de l'ombrage en colline. C'est une fonction similaire au post ci-dessus, je crois.

aug_aug
la source
oups, juste de lire la partie GRASS ... eh bien , je suis sûr qu'il ya une opération similaire ...
aug_aug