[GRASS-user] Interpolation with faultlines?
Hamish
hamish_b at yahoo.com
Tue Feb 26 00:23:50 EST 2008
Carlos wrote:
> I remember that some time ago, there was some discussion on
> interpolation using faultlines. Any advances in that subject?
After many years of not publishing my GRASS interpolation with barriers
module, I am today finally posting it publicly. I hope to publish an
article on the module soon.
It is now posted to the wiki addons page and housed in the GRASS addons
SVN.
http://grass.gdf-hannover.de/wiki/GRASS_AddOns#Vector_add-ons
http://trac.osgeo.org/grass/browser/grass-addons/vector/v.surf.icw
screenshot:
http://grass.gdf-hannover.de/wiki/Image:Inlets_03_SurfSal_icw_big.png
It is designed to work with no more than a few dozen data points and is
very computationally expensive*. But results are worth the wait :)
For "simple" inverse true-distance-around-barriers interpolation make
your cost surface a 1/NULL map. For molasses barrier cases use a more
dynamic cost surface input raster (e.g. harder for invasive ground
critter to climb a sheer cliff than to walk around the back of the
mountain and spread up the gentle way; or harder (but still possible) to
diffuse upstream than downstream, ...). Unlike other half-baked (IMO
badly wrong) IDW barrier interpolation methods the input points do not
need to have line of sight to the raster cell to be considered.
I have just updated it from GRASS 6.0 to GRASS 6.2 coding style, and had
previously ported it from GRASS 5, so let me know if it breaks due to
introduced typos etc. There is still much internal code cleanup I could
do.
[*] Adding a 'r.cost max_cost=' step could help speed it up, but the level
for that would need to be dynamically calculated. Running in a RAM-disk
mapset then copying out the result could help save a lot of r.cost disk
thrashing and again help speed it up.
GRASS> v.surf.icw --help
Description:
IDW interpolation, but distance is cost to get to any other site
Usage:
v.surf.icw [-rv] input=string output=string column=string
cost_map=string [post_mask=string] [friction=value]
[null_string=string] [--overwrite] [--verbose] [--quiet]
Flags:
-r Use (d^n)*log(d) instead of 1/(d^n) for radial basis function
-v Verbose mode
Parameters:
input Name of existing vector points map containing seed data
output Name of new raster file to be used for output
column Column name in vector points map that contains data values
cost_map Name of existing raster file containing cost information
post_mask Name of existing raster file to be used as post-processing MASK
friction Friction of distance, (the 'n' in 1/d^n)
options: 1-6
default: 2
null_string Text string that represents "no data" in input data
default: nan
enjoy,
Hamish
More information about the grass-user
mailing list