[GRASS-user] How can I remove steps artefacts in digital

Perito,

I don’t know where you are getting your points file. But here are some suggestions.

Often stepped DEMs are a result of someone starting with a scanned or vector contour map and then transforming that to a DEM using somewhat unsophisticated algorithms. So how to get rid of these.

You can create a a file of points by generating random points (v.random) and assigning them elevation values from your DEM. Then you can use an interpolation algorithm like v.surf.rst or v.surf.bspline. Random points can help get rid of the steps. The fewer points, the smoother the DEM. More points will provide more topographic detail but may also show up some steps.

Michael


C. Michael Barton
Associate Director, School of Complex Adaptive Systems (https://scas.asu.edu)
Professor, School of Human Evolution & Social Change (https://shesc.asu.edu)
Director, Center for Social Dynamics & Complexity (https://complexity.asu.edu)
Arizona State University
Tempe, AZ 85287-2701
USA

Executive Director, Open Modeling Foundation (https://openmodelingfoundation.github.io)
Director, Network for Computational Modeling in Social & Ecological Sciences (https://comses.net)

personal website: http://www.public.asu.edu/~cmbarton

Message: 1
Date: Mon, 14 Aug 2023 13:12:06 +0200
From: bonushenricus bonushenricus76@gmail.com
To: grass-user@lists.osgeo.org
Cc: Corey White corey.white@openplains.com
Subject: [GRASS-user] How can I remove steps artefacts in digital
elevation model?
Message-ID: 858b21a54b3a408cb954aa95af6fc417d8845936.camel@gmail.com
Content-Type: text/plain; charset=“UTF-8”

Hello everyone
I have a problem with an artefact in the dem I build from the data as a
geopackage here
https://urldefense.com/v3/__https://www.dropbox.com/scl/fi/7vzgupxszpg2sw7ib08p4/point_survey.gpkg?rlkey=7u1bv3rx8vcvkruq6z8zeezf0&dl=0__;!!IKRxdwAv5BmarQ!dDwnto4XTrla3t-Qm6io55iEpTu0vsDyIToUu1CfbK_lJOAaKZSQ7PZKdKEpGiP2nz-7FV0ZOR_HNX9Kn85pcW48Awtkw3dOGWE$
the problem has already described here
https://urldefense.com/v3/__https://www.mail-archive.com/grass-user@lists.osgeo.org/msg40869.html__;!!IKRxdwAv5BmarQ!dDwnto4XTrla3t-Qm6io55iEpTu0vsDyIToUu1CfbK_lJOAaKZSQ7PZKdKEpGiP2nz-7FV0ZOR_HNX9Kn85pcW48AwtkUhCwWsE$
in which I had operated with
“v.surf.rst --overwrite input=point_survey zcolumn=z elevation=dem
mask=MASK tension=36. smooth_column=rms segmax=500 npmin=600 dmin=0.5
dmax=5”
First of all I deleted dmax from v.surf.rst.
Now I have tried raising the tension, even by a lot, but it does not
change.
I tried lowering the tension, but the steps still occur.
Then I tried v.surf.rst on a higher resolution, at 5 cm, and then
resample to 20 cm. I tried with r.resample.interpol, r.resample.rst and
r.resample.tsp, with various parameters, various interpolation methods,
various tensions or various smoothness indices, but I was unable to
create a profile without these artefacts, which are in the order of
only a few centimetres, but enough to create problems in the simulation
with r.sim.water.
I finally tried another approach: I created the contours, transformed
the vector to raster, at a resolution of 5 cm (to get thin contours)
and then used r.fillnulls to a 20 cm resolution region. With method=rst
(which is the default) it gives me an error:
“Growing NULL areas
Assigning IDs to NULL areas
Processing 1 map holes
Filling hole 1 of 1
ERROR: Invalid input <n=n+0>”
With method=bicubic it works but makes the steps.
r.resample.bspline create other artefacts at the limit of the
calculation regions.
I should probably try anisotropy in v.surf.rst?
Anyone have a solution?

Thank you thank you!!


Perito agrario Enrico Gabrielli
progetto F.A.R.M. https://urldefense.com/v3/__http://www.farm-agroecologia.it__;!!IKRxdwAv5BmarQ!dDwnto4XTrla3t-Qm6io55iEpTu0vsDyIToUu1CfbK_lJOAaKZSQ7PZKdKEpGiP2nz-7FV0ZOR_HNX9Kn85pcW48AwtkWH0kupA$
Tessera n. 633 Collegio Periti agrari prov. Di Modena
Biblioteca agricoltura: https://urldefense.com/v3/__https://www.zotero.org/groups/aplomb/__;!!IKRxdwAv5BmarQ!dDwnto4XTrla3t-Qm6io55iEpTu0vsDyIToUu1CfbK_lJOAaKZSQ7PZKdKEpGiP2nz-7FV0ZOR_HNX9Kn85pcW48AwtkXUVnt_I$
https://urldefense.com/v3/__https://www.inaturalist.org/observations/bonushenricus__;!!IKRxdwAv5BmarQ!dDwnto4XTrla3t-Qm6io55iEpTu0vsDyIToUu1CfbK_lJOAaKZSQ7PZKdKEpGiP2nz-7FV0ZOR_HNX9Kn85pcW48Awtk8hUdvyA$


Subject: Digest Footer


grass-user mailing list
grass-user@lists.osgeo.org
https://urldefense.com/v3/__https://lists.osgeo.org/mailman/listinfo/grass-user__;!!IKRxdwAv5BmarQ!dDwnto4XTrla3t-Qm6io55iEpTu0vsDyIToUu1CfbK_lJOAaKZSQ7PZKdKEpGiP2nz-7FV0ZOR_HNX9Kn85pcW48AwtkXgPmqO0$


End of grass-user Digest, Vol 208, Issue 12


On Mon, Aug 14, 2023 at 9:46 PM Michael Barton <Michael.Barton@asu.edu> wrote:

Perito,

I don't know where you are getting your points file. But here are some suggestions.

Often stepped DEMs are a result of someone starting with a scanned or vector contour map and then transforming that to a DEM using somewhat unsophisticated algorithms. So how to get rid of these.

You can create a a file of points by generating random points (v.random) and assigning them elevation values from your DEM. Then you can use an interpolation algorithm like v.surf.rst or v.surf.bspline. Random points can help get rid of the steps. The fewer points, the smoother the DEM. More points will provide more topographic detail but may also show up some steps.

In addition: you find an overview (interpolation and resampling) here:
https://grasswiki.osgeo.org/wiki/Interpolation

Markus