<div dir="ltr"><div class="gmail_extra">Back to filling holes in lidar data, I also think that the "fill in the gaps" approach is quite promising, so I ported the r.fill.gaps module to G7:<br><br><a href="https://grass.osgeo.org/grass72/manuals/addons/r.fill.gaps.html">https://grass.osgeo.org/grass72/manuals/addons/r.fill.gaps.html</a><br><br></div><div class="gmail_extra">I didn't review the code, but the documentation is very nice and detailed. I did some mostly formatting updates for the current submitting guidelines and added complete example with lidar data.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 21, 2017 at 7:29 AM, Benjamin Ducke <span dir="ltr"><<a href="mailto:benducke@fastmail.fm" target="_blank">benducke@fastmail.fm</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-"><br>
</span>I just realized that I have never committed "<span class="gmail-il">r</span>.<span class="gmail-il">fill</span>.<span class="gmail-il">gaps</span>"<br>
to the add-ins repo.<br>
<br></blockquote><div><br></div><div>Really nice module, please, find more of these in your shelf :-)<br><br></div><div>Thanks!<br></div><div>Vaclav<br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I have just done that now:<br>
<br>
<a href="http://grasswiki.osgeo.org/wiki/AddOns/GRASS_6#r.fill.gaps" rel="noreferrer" target="_blank">http://grasswiki.osgeo.org/<wbr>wiki/AddOns/GRASS_6#<span class="gmail-il">r</span>.<span class="gmail-il">fill</span>.<wbr><span class="gmail-il">gaps</span></a><br>
<br>
Its purpose is filling small <span class="gmail-il">gaps</span> in otherwise dense<br>
data using IDW with a pre-computed weights matrix.<br>
It works on rasterized data, so you simply use v.to.rast<br>
on your vector points first. Make sure to set the<br>
cell size small enough so that you don't get many<br>
vector points falling into the same cell. The result<br>
will be an oversampled raster with a lot of small<br>
"no data" cells. That's exactly the intended input for<br>
<span class="gmail-il">r</span>.<span class="gmail-il">fill</span>.<span class="gmail-il">gaps</span>!<br>
<br>
This is not multi-core code, (parallelizing<br>
interpolation algorithms is hard, because you need to<br>
segment the data and then you need to deal with the<br>
seams between the segments), but it is very, very fast,<br>
as long as you keep the IDW radius small.<br>
<br>
The code is optimized to death, which makes it very<br>
hard to read. Another drawback is that it was written<br>
for GRASS 6 (but converting it to GRASS 7 should not<br>
be hard, since it uses only the basic raster API).<br>
<br>
<span class="gmail-il">r</span>.<span class="gmail-il">fill</span>.<span class="gmail-il">gaps</span> is not useful for filling large <span class="gmail-il">gaps</span>, both<br>
in terms of performance (for large IDW radii) and<br>
interpolation quality (it's IDW -- enough said).<br>
</blockquote></div><br><br></div></div>