¿Suavizar DEM usando GRASS?


45

Tengo un SRTM DEM y quiero crear un relieve sombreado a partir de él. Creé el relieve sombreado en GRASS y el resultado es muy agradable, pero un poco áspero porque el área es casi plana y el DEM tiene una resolución de 90 m.

Lo que quiero es suavizar el DEM para generar un relieve sombreado suave. ¿Hay algún algoritmo o método de interpolación para hacer eso?

Aquí está el relieve sombreado para tener una idea, quiero aplanar estas pequeñas protuberancias:

Imagen


Respuestas:


43

¿Qué tal John Stevenson r.denoise, del wiki de GRASS AddOns ?

r.denoise denoises (Suaviza / despeckles) los datos topográficos, dems particulares derivados de los datos de radar (incluyendo SRTM), utilizando algoritmo de eliminación de ruido de Xianfang dom . Está diseñado para preservar los bordes afilados y eliminar ruidos con cambios mínimos en los datos originales.

mdenoise

Leí más lejos de este sitio web (que también doy crédito por la animación anterior) que un método más genérico sería usar un archivo de cuadrícula ASCII de Esri. La ubicación de mdenoise(descargada del sitio web de Sun ) debe estar en su variable PATH (por ejemplo, usuarios de Windows: colóquela MDenoise.exeen la bincarpeta con su instalación OSGeo4w o FWTools). Luego, por ejemplo, puede usar el siguiente comando de shell para procesar el archivo de cuadrícula 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á bajo licencia GNU, ver aquí


¿Cualquier porte de python / gdal?
Hugolpz

1
Siempre puede ejecutar cualquier comando desde Python.
Mike T

Me refiero a un pitón equivalente que no necesita R.
Hugolpz

1
Esto no requiere R. De Python, use os.system('mdenoise ...')para ejecutar el ejecutable.
Mike T

Para aclarar: La r. aquí significa trama. El comando es de GRASS GIS, no de R.
bugmenot123

11

Tom Patterson, el cartógrafo principal del Servicio de Parques Nacionales de EE. UU. Tiene excelentes tutoriales sobre cómo trabajar con datos de DEM para crear hermosos relieves sombreados. Parte de su flujo de trabajo implica el uso de Natural Scene Designer y Adobe Photoshop.

Para mi propio flujo de trabajo, me gusta usar GDAL para volver a muestrear el tamaño del DEM antes de generar un relieve sombreado. Esto a menudo ayuda a reducir la cantidad de detalles y ruido, sin mencionar el tamaño del archivo. Tengo un tutorial sobre Github que demuestra cómo hacer esto.

Básicamente, el proceso consiste en especificar un nuevo ancho y / o alto (en píxeles) para un DEM de salida que sea más pequeño que el tamaño del archivo original. Por ejemplo haciendo:

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

Reducirá el ancho del DEM a 3000 píxeles del ancho original de 3800 píxeles. Establecer la altura en 0 permitirá que GDAL determine la mejor altura del nuevo archivo en función de la relación de aspecto del original.


7

Utilicé la herramienta de reducción de ruido wavelet del complemento GIMP y obtuve buenos resultados y rápido:

GIMP Plugin Wavelet reducción de ruido

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


Alisé mi ráster (sombreado) sin embargo, el archivo (tiff) ha perdido referencia espacial. Entonces, cuando lo puse en mi proyecto qgis, el que no se superpuso correctamente con otras capas. ¿Te ha pasado esto a ti?
Diogo Caribé

Hay formas de reinyectar la geolocalización.
Hugolpz

Sí, en QGIS exporte el sombreado en el menú ráster y expórtelo a PNG.
SamTux

6

Podría ejecutar un filtro simple en el DEM, por ejemplo, un filtro promedio de ventana móvil de 5x5.


3

En ArcMap, me gusta usar la herramienta de análisis espacial> estadísticas focales para suavizar lidar antes de hacer contornos ... esto también podría ayudar en su caso de sombreado. Es una función similar a la publicación anterior, creo.


Vaya, acabo de leer la parte HIERBA ... así que estoy seguro de que hay una operación similar ...
aug_aug
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.