[GRASS-user] High resolution dem

Hello,

I am trying to create a high resolution dem from contour lines Until now all my tries where not successful. At first I tried r.surf.contour, but since my interpolation region is not rectangular and the contours are not evenly distributed (rough terrain), the result was unfortunately not usable ( but it took around 7 days to compute, that alone was already impressive :wink: )

My contour map is a combinatin of a national contour line map (5m vert. resolution) and contours from SRTM with 20m vert. resolution. I created a "hole" in the srtm contours for the national contour map and patched both together to avoid large gaps with no height values (mostly for r.surf.contour)

My region is 17.000 x 13.000 cells wide (5m horiz. resolution). So my current approach is to use small regions (2000 x 2000) to calculate small subsets of the dem. Because of the algo used by v.surf.rst to create the dem the neighboring tiles do have different height values calculated at the borders. So it was not possible to just create the tiles and patch them together.

My next approach used an overlapping of 20 cells for each tile and a moving window average to calculate the mean of the overlapping tiles. The result was quite good, but the moving window approach resulted in null values where one tile ended and the other started (similar to the slope and aspect maps, where there is a 1 cell null border around the map in comparison to the input dem).
Unfortunately I was not able to remove the null values satisfactorily. r.fillnulls fails because of the large region, and r.resamp.rst does the job not very well. The stripes are still visible, though filled with values. When calculating a derivate from the dem, like aspect, the errors from filling null values are quite obvious.

So to make my long text short: Is there a technique to combine two or more raster dem with (or without overlapping) with good transition/intersection (don't know the correct word) between two tiles?
If necessary I can illustrate my efforts by creating a web page or similar ...

Many thanks for tipps

Frank

Frank Broniewski

Metrico s.àr.l. ( http://www.metrico.lu )
36, rue des Romains
L-5433 Niederdonven
Luxembourg

Fon: +352 26 74 94 28
Fax: +352 26 74 94 99

Hi Frank,

Not sure this will help, as I am slightly unsure what you are attempting, but
you may be able to apply what I did to create a DEM from tiles.

I interpolated my 70 1km tiles with v.surf.rst by interpolating a 1050x1050
cell area (1.05kmsq). I cropped with g.region and r.mapcalc to 1020X1020
(incase of any artefacts - trees are bad for that), and then patched (r.patch)
them all together. The patching should average out any differences. I then
cropped out each 1km tile (1000x1000).

This was done so that the 1km tiles could be combined for specific areas by
different people (e.g. only a 4kmsq area for academic 'a' or a 6kmsq area 2km
away for academic 'b').

Anyway, from what I understand of your scenario, a hole in a DEM to insert
another DEM, create at least a 20 cell overlap for both datasets and r.patch.

Hope this helps

John

On Thursday 25 February 2010 08:45:37 Frank Broniewski wrote:

Hello,

I am trying to create a high resolution dem from contour lines Until now
all my tries where not successful. At first I tried r.surf.contour, but
since my interpolation region is not rectangular and the contours are not
evenly distributed (rough terrain), the result was unfortunately not
usable ( but it took around 7 days to compute, that alone was already
impressive :wink: )

My contour map is a combinatin of a national contour line map (5m vert.
resolution) and contours from SRTM with 20m vert. resolution. I created a
"hole" in the srtm contours for the national contour map and patched both
together to avoid large gaps with no height values (mostly for
r.surf.contour)

My region is 17.000 x 13.000 cells wide (5m horiz. resolution). So my
current approach is to use small regions (2000 x 2000) to calculate small
subsets of the dem. Because of the algo used by v.surf.rst to create the
dem the neighboring tiles do have different height values calculated at
the borders. So it was not possible to just create the tiles and patch
them together.

My next approach used an overlapping of 20 cells for each tile and a moving
window average to calculate the mean of the overlapping tiles. The result
was quite good, but the moving window approach resulted in null values
where one tile ended and the other started (similar to the slope and
aspect maps, where there is a 1 cell null border around the map in
comparison to the input dem).
Unfortunately I was not able to remove the null values satisfactorily.
r.fillnulls fails because of the large region, and r.resamp.rst does the
job not very well. The stripes are still visible, though filled with
values. When calculating a derivate from the dem, like aspect, the errors
from filling null values are quite obvious.

So to make my long text short: Is there a technique to combine two or more
raster dem with (or without overlapping) with good transition/intersection
(don't know the correct word) between two tiles?
If necessary I can illustrate my efforts by creating a web page or similar
...

Many thanks for tipps

Frank

Frank Broniewski

Metrico s.àr.l. ( http://www.metrico.lu )
36, rue des Romains
L-5433 Niederdonven
Luxembourg

Fon: +352 26 74 94 28
Fax: +352 26 74 94 99

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

Frank wrote:

My contour map is a combinatin of a national contour line map (5m vert.
resolution) and contours from SRTM with 20m vert. resolution. I created a
“hole” in the srtm contours for the national contour map and patched both
together to avoid large gaps with no height values (mostly for
r.surf.contour)
My region is 17.000 x 13.000 cells wide (5m horiz. resolution).

I had good results interpolating 5m contours with v.surf.rst, but I spent some time adjusting the parameters to get a smooth surface.
IMHO You have a too big region to make this kind of computation and to use that resolution, later you will get more problens with the size of the data. Maybe you can use a lower resolution for large maps and a better resolution for specif areas of interest.

If necessary I can illustrate my efforts by creating a web page or similar

If you tell the final purpose of this work maybe we can find a better solution.

Regards.
Pablo.


Quer navegar na Internet sem medo? Instale grátis o Internet Explorer 8.

Dear all,

Just to refer to a previous question - when I have had to make relatively high resolution DEMs (much smaller than yours, only 5000 x 3000 cells), I found it most effective to use Arc/Info to create a TIN from contour lines and points, then rasterize that and import the raster into GRASS, rather than having GRASS interpolate from contours. I was never able to get the parameters right in *.surf.rst, and processing times were very long. Arc/Info does the job very quickly and effectively, and doesn't end up with overshoots and depressions, which were a problem for me. I wish this were an option in GRASS. I would also like to be able to work with other vector-based surface models in GRASS.

Nick Cahill
Dept of Art History
UW-Madison

On Feb 25, 2010, at 5:11 AM, John Tate wrote:

Hi Frank,

Not sure this will help, as I am slightly unsure what you are attempting, but
you may be able to apply what I did to create a DEM from tiles.

I interpolated my 70 1km tiles with v.surf.rst by interpolating a 1050x1050
cell area (1.05kmsq). I cropped with g.region and r.mapcalc to 1020X1020
(incase of any artefacts - trees are bad for that), and then patched (r.patch)
them all together. The patching should average out any differences. I then
cropped out each 1km tile (1000x1000).

This was done so that the 1km tiles could be combined for specific areas by
different people (e.g. only a 4kmsq area for academic 'a' or a 6kmsq area 2km
away for academic 'b').

Anyway, from what I understand of your scenario, a hole in a DEM to insert
another DEM, create at least a 20 cell overlap for both datasets and r.patch.

Hope this helps

John

On Thursday 25 February 2010 08:45:37 Frank Broniewski wrote:

Hello,

I am trying to create a high resolution dem from contour lines Until now
all my tries where not successful. At first I tried r.surf.contour, but
since my interpolation region is not rectangular and the contours are not
evenly distributed (rough terrain), the result was unfortunately not
usable ( but it took around 7 days to compute, that alone was already
impressive :wink: )

My contour map is a combinatin of a national contour line map (5m vert.
resolution) and contours from SRTM with 20m vert. resolution. I created a
"hole" in the srtm contours for the national contour map and patched both
together to avoid large gaps with no height values (mostly for
r.surf.contour)

My region is 17.000 x 13.000 cells wide (5m horiz. resolution). So my
current approach is to use small regions (2000 x 2000) to calculate small
subsets of the dem. Because of the algo used by v.surf.rst to create the
dem the neighboring tiles do have different height values calculated at
the borders. So it was not possible to just create the tiles and patch
them together.

My next approach used an overlapping of 20 cells for each tile and a moving
window average to calculate the mean of the overlapping tiles. The result
was quite good, but the moving window approach resulted in null values
where one tile ended and the other started (similar to the slope and
aspect maps, where there is a 1 cell null border around the map in
comparison to the input dem).
Unfortunately I was not able to remove the null values satisfactorily.
r.fillnulls fails because of the large region, and r.resamp.rst does the
job not very well. The stripes are still visible, though filled with
values. When calculating a derivate from the dem, like aspect, the errors
from filling null values are quite obvious.

So to make my long text short: Is there a technique to combine two or more
raster dem with (or without overlapping) with good transition/intersection
(don't know the correct word) between two tiles?
If necessary I can illustrate my efforts by creating a web page or similar
...

Many thanks for tipps

Frank

Frank Broniewski

Metrico s.àr.l. ( http://www.metrico.lu )
36, rue des Romains
L-5433 Niederdonven
Luxembourg

Fon: +352 26 74 94 28
Fax: +352 26 74 94 99

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

Hello all,

many thanks for your comments. Just to clarify what I want to do: I have a contour map with 5m contours. I want to create a DEM from it using v.surf.rst, since r.surf.contour fails to do the job correctly.

Since I can't do the whole map at once with v.surf.rst due to too high memory usage my plan was to create DEMs from subsets of the region and patch them together afterwards. But due to the nature of the algo used by v.surf.rst the border cells from neighboring (sub)DEMs do not match well.

So I am searching for a solution how I can eliminate these differences at the border. My plan was to use some overlapping and r.mapcalc to create some kind of average calculation for the overlapping parts to get a smooth transition for the DEMs.

John, your approach looks promising. The only thing that makes me wonder is the usage of r.patch, since it takes always the values from the first raster in the patch list and therefor it cannot average out any differences, at least not from my understanding ... but I will investigate further.

Hopefully I find some time on monday to illustrate my method and problem a little bit better with some images.

Many thanks so far for all the answers

Frank

--------------------------------------------------
From: "Nick Cahill" <ndcahill@wisc.edu>
Sent: Thursday, February 25, 2010 3:40 PM
To: "GRASS user list" <grass-user@lists.osgeo.org>
Subject: Re: [GRASS-user] High resolution dem

Dear all,

Just to refer to a previous question - when I have had to make relatively high resolution DEMs (much smaller than yours, only 5000 x 3000 cells), I found it most effective to use Arc/Info to create a TIN from contour lines and points, then rasterize that and import the raster into GRASS, rather than having GRASS interpolate from contours. I was never able to get the parameters right in *.surf.rst, and processing times were very long. Arc/Info does the job very quickly and effectively, and doesn't end up with overshoots and depressions, which were a problem for me. I wish this were an option in GRASS. I would also like to be able to work with other vector-based surface models in GRASS.

Nick Cahill
Dept of Art History
UW-Madison

On Feb 25, 2010, at 5:11 AM, John Tate wrote:

Hi Frank,

Not sure this will help, as I am slightly unsure what you are attempting, but
you may be able to apply what I did to create a DEM from tiles.

I interpolated my 70 1km tiles with v.surf.rst by interpolating a 1050x1050
cell area (1.05kmsq). I cropped with g.region and r.mapcalc to 1020X1020
(incase of any artefacts - trees are bad for that), and then patched (r.patch)
them all together. The patching should average out any differences. I then
cropped out each 1km tile (1000x1000).

This was done so that the 1km tiles could be combined for specific areas by
different people (e.g. only a 4kmsq area for academic 'a' or a 6kmsq area 2km
away for academic 'b').

Anyway, from what I understand of your scenario, a hole in a DEM to insert
another DEM, create at least a 20 cell overlap for both datasets and r.patch.

Hope this helps

John

On Thursday 25 February 2010 08:45:37 Frank Broniewski wrote:

Hello,

I am trying to create a high resolution dem from contour lines Until now
all my tries where not successful. At first I tried r.surf.contour, but
since my interpolation region is not rectangular and the contours are not
evenly distributed (rough terrain), the result was unfortunately not
usable ( but it took around 7 days to compute, that alone was already
impressive :wink: )

My contour map is a combinatin of a national contour line map (5m vert.
resolution) and contours from SRTM with 20m vert. resolution. I created a
"hole" in the srtm contours for the national contour map and patched both
together to avoid large gaps with no height values (mostly for
r.surf.contour)

My region is 17.000 x 13.000 cells wide (5m horiz. resolution). So my
current approach is to use small regions (2000 x 2000) to calculate small
subsets of the dem. Because of the algo used by v.surf.rst to create the
dem the neighboring tiles do have different height values calculated at
the borders. So it was not possible to just create the tiles and patch
them together.

My next approach used an overlapping of 20 cells for each tile and a moving
window average to calculate the mean of the overlapping tiles. The result
was quite good, but the moving window approach resulted in null values
where one tile ended and the other started (similar to the slope and
aspect maps, where there is a 1 cell null border around the map in
comparison to the input dem).
Unfortunately I was not able to remove the null values satisfactorily.
r.fillnulls fails because of the large region, and r.resamp.rst does the
job not very well. The stripes are still visible, though filled with
values. When calculating a derivate from the dem, like aspect, the errors
from filling null values are quite obvious.

So to make my long text short: Is there a technique to combine two or more
raster dem with (or without overlapping) with good transition/intersection
(don't know the correct word) between two tiles?
If necessary I can illustrate my efforts by creating a web page or similar
...

Many thanks for tipps

Frank

Frank Broniewski

Metrico s.àr.l. ( http://www.metrico.lu )
36, rue des Romains
L-5433 Niederdonven
Luxembourg

Fon: +352 26 74 94 28
Fax: +352 26 74 94 99

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user