[GRASS-user] [GRASSLIST:1173] Downscaling DEMs (need some feedback)

I'd like to resample a 30m DEM to 4m for use in the ATCOR3 topographic
correction software package. The issue that always pops up when doing
downscaling like this is that the resultant "higher res" DEM contains the
"ghosts" of the 30m pixels (e.g. it creates squares in the landscape). My
question is, what (if any) are the best ways to "get rid" of these effects?
Does GRASS (or other packages) have any tools to deal with this? It seems
that the major issue is that a basic raster resampler treats the DEM as a
flat surface of equal elevation, but treating it as a grid of points, where
the center of each cell = the elevation, would be more appropriate (and
then, for each cell that is not the centroid of a DEM cell, the value is
some distance weighted function of the 4 elevation values which will
surround it). Thoughts?

--j

--

Jonathan A. Greenberg, PhD
NASA Postdoctoral Researcher
NASA Ames Research Center
MS 242-4
Moffett Field, CA 94035-1000
Phone: 415-794-5043
AIM: jgrn3007
MSN: jgrn3007@hotmail.com

Downscaling is quite difficult, much depends on our area you are in. I was resmpling some SRTM data to 15 meter resolution and it was not that easy.

But have a look at r.bilinear or r.resamp.rst all parameters depend quite much on your topology and sometimes I found it it quite helpful not to do it in one step ( at least for r.resamp.rst). But I'm absolutely not a guru in this field. Just try it out on a small region.

Cheers
Wolfgang

Jonathan Greenberg schrieb:

I'd like to resample a 30m DEM to 4m for use in the ATCOR3 topographic
correction software package. The issue that always pops up when doing
downscaling like this is that the resultant "higher res" DEM contains the
"ghosts" of the 30m pixels (e.g. it creates squares in the landscape). My
question is, what (if any) are the best ways to "get rid" of these effects?
Does GRASS (or other packages) have any tools to deal with this? It seems
that the major issue is that a basic raster resampler treats the DEM as a
flat surface of equal elevation, but treating it as a grid of points, where
the center of each cell = the elevation, would be more appropriate (and
then, for each cell that is not the centroid of a DEM cell, the value is
some distance weighted function of the 4 elevation values which will
surround it). Thoughts?

--j

--

Jonathan A. Greenberg, PhD
NASA Postdoctoral Researcher
NASA Ames Research Center
MS 242-4
Moffett Field, CA 94035-1000
Phone: 415-794-5043
AIM: jgrn3007
MSN: jgrn3007@hotmail.com

Jonathan Greenberg napisa?(a):

I'd like to resample a 30m DEM to 4m for use in the ATCOR3 topographic
correction software package.

Give the i.atcorr a try, recently ported to Grass 6.1!
http://grass.gdf-hannover.de/wiki/GRASS_AddOns#Imagery_add-ons

The issue that always pops up when doing
downscaling like this is that the resultant "higher res" DEM contains the
"ghosts" of the 30m pixels (e.g. it creates squares in the landscape). My
question is, what (if any) are the best ways to "get rid" of these effects?
Does GRASS (or other packages) have any tools to deal with this? It seems
that the major issue is that a basic raster resampler treats the DEM as a
flat surface of equal elevation, but treating it as a grid of points, where
the center of each cell = the elevation, would be more appropriate (and
then, for each cell that is not the centroid of a DEM cell, the value is
some distance weighted function of the 4 elevation values which will
surround it). Thoughts?

First transform your grid into vector points (v.to.points), then
re-interpolate, using most appropriate algorithm, at the target
resolution. In Grass you have rst, idw and natural neighbor
(r.surf.nnbathy from WIKI addons; it is easy to modify it to provide
also triangulation and non Sibsonian natural neighbor; I'm planning to
do so when I have time) and krigging (also in our WIKI).

There's been plenty of discussion on this topic before, dig the archive.

You might like the r.resamp.rst which does raster->vector
points->interpolate using rst all under the hood - *if* rst suits your
needs.

P.S.
Whatch out: you will able to create only ~ 3x10^6 vector features per
one vector file with topology, due to limitation in current Grass vector
engine. You could workaround this by transforming your input 30m raster
into points as x,y,z plain ascii (r.stats -1n > xyz.txt), import into
Grass skipping the topology (v.in.ascii -b) and feeding this into
v.surf.rst, which is one of few Grass modules that accept topology-less
vector input.

Or read the ascii x,y,z file with r.in.xyz and use r.surf.nnbathy or
r.surf.idw, which require raster input, so vector engine problems don't
apply.

P.S.2

If simple bilinear/bicubic resampling is enough in your case (though, at
least for me, it never was for processing dem) try gdalwarp -rb, -rc or
-rcs (Grass own r.bilinear is broken
http://intevation.de/rt/webrt?serial_num=2790)

P.S.3 :slight_smile:

Please don't use grasslist@baylor.edu. It's deprecated. Current address
is grassuser@grass.itc.it.

Cheers,
Maciek

It actually can come out quite nice, but I agree with Wolfgang that you
should try it on a small area to experiment first.

r.resample.rst will reinterpolate down (or up) and not (in theory) produce
those annoying 30 ghosts.

If I remember, you need to start out at the extents and resolution of the
original 30m map, however.

You can also start with your original map, create a bunch of vector points
(xyz) (up to several per original grid square) and then reinterpolate using
v.surf.rst.

Michael
__________________________________________
Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics and Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton

From: Wolfgang <wollez@gmx.net>
Date: Mon, 07 Aug 2006 22:59:30 +0200
To: <grassuser@grass.itc.it>
Subject: [GRASS-user] Re: [GRASSLIST:1173] Downscaling DEMs (need some
feedback)

Downscaling is quite difficult, much depends on our area you are in. I
was resmpling some SRTM data to 15 meter resolution and it was not that
easy.

But have a look at r.bilinear or r.resamp.rst all parameters depend
quite much on your topology and sometimes I found it it quite helpful
not to do it in one step ( at least for r.resamp.rst). But I'm
absolutely not a guru in this field. Just try it out on a small region.

Cheers
Wolfgang

Jonathan Greenberg schrieb:

I'd like to resample a 30m DEM to 4m for use in the ATCOR3 topographic
correction software package. The issue that always pops up when doing
downscaling like this is that the resultant "higher res" DEM contains the
"ghosts" of the 30m pixels (e.g. it creates squares in the landscape). My
question is, what (if any) are the best ways to "get rid" of these effects?
Does GRASS (or other packages) have any tools to deal with this? It seems
that the major issue is that a basic raster resampler treats the DEM as a
flat surface of equal elevation, but treating it as a grid of points, where
the center of each cell = the elevation, would be more appropriate (and
then, for each cell that is not the centroid of a DEM cell, the value is
some distance weighted function of the 4 elevation values which will
surround it). Thoughts?

--j

--

Jonathan A. Greenberg, PhD
NASA Postdoctoral Researcher
NASA Ames Research Center
MS 242-4
Moffett Field, CA 94035-1000
Phone: 415-794-5043
AIM: jgrn3007
MSN: jgrn3007@hotmail.com