0

I am not regularly working in raster analysis.

I have a 30M DEM and I would like to create a 10 DEM out of that.

Is it possible to do this using QGIS? and How?

EDIT: (I understand that a sub question can be added here itself.) When I created the high resolution DEM, QGIS shows 2128 as the highest elevation value and ArcGIS Map shows 255 while the exact highest elevation value in the input DEM was 3260.

enter image description here

QGIS metadata shows:
STATISTICS_HISTOMAX=3260

But the tag is missing in the aux.xml file along with the img file. How can I show the exact highest elevation when viewed in the Table of Contents in ArcGIS Map(for the .img DEM created in Qgis)?

  • 4
    It is possible the same way you create a novel from two pages of text - by adding between the lines. Since you are essentially adding data, you'd have to "manufacture" it somehow. While not very complicated technically, you are creating an illusion of more detailed data than you actually have. What is your reasoning of wanting a 10 m DEM instead of 30m? – Martin May 20 '15 at 6:30
  • Yes, I understand the lack of quality in producing a high Resolution output from a low resolution input. But this is a requirement. Is it doable and in QGIS? Or strictly we need to use Erdas LPS? – OpenMapperz May 20 '15 at 7:12
2

You can create a DEM with higher resolution than the original one, just like with any other raster data.

The question is, if you really get better informations from those interpolated values.

I often do this for "cosmetic" reasons only, e.g. for obtaining a nicer hillshade layer with a less "blocky" appearance in the map.

  1. Load your DEM
  2. In the layer properties, look at the Metadata tab: Under Properties -> Dimensions you will find the pixel values for X and Y of this layer. To get a resolution of 10m from 30m, you will have to multiply those values with 3.
  3. Raster menue -> Projection -> Warp: Select your DEM layer and your output path, set resampling method to bilinear and tick the Resize check-box. Enter your multiplied values for X and Y for Width and Height.

As said, I do not discuss the sense, just the means.

  • ok, 2 others were faster ;) – Bernd V. May 20 '15 at 8:12
2

This answer comes with a hefty health warning as you are essentially faking an improvement of resolution. There are a few approaches you could use to fake 10m DEM out of a 30m original. Here's a couple:

  1. You could simply use the raster calculator and set the resolution. This is the simplest and crudest approach but possibly the most honest. Essentially all you are doing is subdividing your current grid from 30m to 10m - but this might actually cause you problems because of the assumptions wrt resolution.
  2. Your could treat the 30m DEM as sample points and then interpolate a 10m raster from it. Here you have a choice of tools from the Processing tool box (use at your discretion and with caution wrt the results): r.bilinear (GRASS), r.resamp.interp (GRASS), r.surf.idw (GRASS), Multilevel b-spline interpolation(grid) (SAGA).
  3. Very similar to method 2 you could convert your raster to points and then use any of a whole raft of vector-based interpolation methods to fake your 10m DEM.

The GRASS tool r.resamp.interp is intended for use in just your situation (making a finer grid by interpolation). As long as you understand the caveats, I'd start here.

2

If you understand the limitations of interpolation of your input DEM there are a number of ways you can do this in QGIS.

One is with gdalwarp: Raster -> Projections -> Warp gdalwarp

Resize it by multiplying Width and Height with 3 to convert 30m to 10m cells.

The choice of resampling method will have a huge impact on your result so select it with care.

  • +1 You must have added this while I was typing - GDALWarp would give a very similar result to r.resamp.interp and is an option I forgot to list. – MappaGnosis May 20 '15 at 7:47
  • @Kersten Where I will get the width height values of input DEM? Is it the x and y values in "Layer > properties > Dimensions X: 1331 Y: 1405 Bands: 1" , in my sample input ? – OpenMapperz May 20 '15 at 11:14
  • Yes, those are the dimensions of your input DEM. You just need to multiply them with your desired resampling size. e.g. multiply by three to get from 30m pixels to 10m pixels – Kersten May 20 '15 at 11:44
  • @Kersten - do you have a reference that says bilinear interpolation is the most used algorithm for resizing DEMs ? – gansub Jun 1 '15 at 10:07
  • I cannot provide a quantitative source but inferred that statement from the literature regularly quoting bi-linear as "(most) popular" algorithm even though it is not the most accurate. e.g. 1, 2 - Changed the answer to remove that possible misleading line. – Kersten Jun 1 '15 at 12:13
1

Technically not. 30 m is the resolution of the DEM that you have and you cannot derive a higher resolution (10m DEM) DEM from that. Inversely, you can derive a 30m DEM from a 10m DEM.

0

if you want the software that focus on generate high resolution DEM files, follow this a few guidelines.

there is two scenario you can focus on it;

  • if you want more high resolution DEM from 0.5m to 10m you can using stereo imagery or photogrammetry process by using specialized software like (Socet Set / Socet GXP) LPS for ERDAS with commercial satellite imagery like (geoeye - ikonnos..etc)

more details http://www.geospatialexploitationproducts.com/content/products/socet-gxp

  • UAV drones allows you to take (z values) with geolocation of photos, then generate high resolution DEM files from it after doing some analysis process.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.