<div dir="ltr"><div>Thank you Stefan for your help! I figured what happens. v.strds.stats with default method produces in my case a corrupted output, topology is there but there's no table associated to it. If I specify method=average, I do obtain the table, and the mystery is solved: some of the polygons fall into a nodata (due to cloud mask). If anyone else can reproduce the corrupted table issue, I can file a ticket for that.</div><div><br></div><div>Thanks for help!</div><div>Regards,<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 7, 2019 at 12:33 PM Stefan Blumentrath <<a href="mailto:Stefan.Blumentrath@nina.no">Stefan.Blumentrath@nina.no</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="NO-BOK">
<div class="gmail-m_-7736169399964262791WordSection1">
<p class="MsoNormal"><span>Hi Madi,<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">With this combination (polygon size vs. raster resolution), the shape of the polygons can be an issue (narrow areas that do not cover the center of any pixel).<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Debugging should be simple with v.db.select or v.extract.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Areas that did not get rasterized should be NULL in the column with statistics computed with v.rast.stats.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">In verbose mode v.rast.stats (or probably even v.to.rast) should probably give a more informative Warning message (e.g. listing categories not rasterized). It also would help if you
can rasterize the areas yourself and provide a raster with categories as (optional) input to v.rast.stats…<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">For high resolution data like yours, the speed improvement of multiple raster input might help quite a bit esp. with many maps in the time series. Will see if I can come up with a patch
rather soon…<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Cheers<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Stefan<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Margherita Di Leo <<a href="mailto:diregola@gmail.com" target="_blank">diregola@gmail.com</a>>
<br>
<b>Sent:</b> torsdag 7. februar 2019 10:37<br>
<b>To:</b> Stefan Blumentrath <<a href="mailto:Stefan.Blumentrath@nina.no" target="_blank">Stefan.Blumentrath@nina.no</a>><br>
<b>Cc:</b> Veronica Andreo <<a href="mailto:veroandreo@gmail.com" target="_blank">veroandreo@gmail.com</a>>; grass-user <<a href="mailto:grass-user@lists.osgeo.org" target="_blank">grass-user@lists.osgeo.org</a>><br>
<b>Subject:</b> Re: [GRASS-user] sample a strds at specific locations (areas)<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">Hi,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">thank you for your replies. To give a little more context: I selected my polygon areas to be > 0.5 ha each (this would be 50000 mq if I'm not mistaken) and I'm sampling NDVI maps at 10m resolution (the region being the same as NDVI maps).
So I think I need an idea on how to debug the areas that were excluded to check them individually to see what could be the problem...
<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Regarding the alignment problem, if I understand it correctly: if the polygon doesn't include the *center* of the raster beneath it, can't retrieve the value and the polygon is discarded? But a value exists, so it would be correct that
it returned a value in any case. But I admit I don't have a full grasp of the problem.<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Wed, Feb 6, 2019 at 10:52 PM Stefan Blumentrath <<a href="mailto:Stefan.Blumentrath@nina.no" target="_blank">Stefan.Blumentrath@nina.no</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal">Hi Vero,<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">I think there is a little misunderstanding.</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">v.rast.stats did not change it behaviour with regards to the computational region (at least not if only one raster map is used). The alignment to the input raster
(resolution) has been around since the module got ported to Python (like 10 years ago):</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"><a href="https://trac.osgeo.org/grass/browser/grass/trunk/scripts/v.rast.stats/v.rast.stats.py?rev=33522#L148" target="_blank">https://trac.osgeo.org/grass/browser/grass/trunk/scripts/v.rast.stats/v.rast.stats.py?rev=33522#L148</a></span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">So, adding a flag for skipping the alignment was more an idea for an enhancement that allows the behaviour you seem to prefer (too).</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">Cheers</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">Stefan</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Veronica Andreo <<a href="mailto:veroandreo@gmail.com" target="_blank">veroandreo@gmail.com</a>>
<br>
<b>Sent:</b> onsdag 6. februar 2019 21:38<br>
<b>To:</b> Stefan Blumentrath <<a href="mailto:Stefan.Blumentrath@nina.no" target="_blank">Stefan.Blumentrath@nina.no</a>><br>
<b>Cc:</b> Margherita Di Leo <<a href="mailto:diregola@gmail.com" target="_blank">diregola@gmail.com</a>>; grass-user <<a href="mailto:grass-user@lists.osgeo.org" target="_blank">grass-user@lists.osgeo.org</a>><br>
<b>Subject:</b> Re: [GRASS-user] sample a strds at specific locations (areas)</span><u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">I had a similar problem some time ago, just that it was not raster resolution, but region resolution that I changed to solve my problem (see this thread and MM's answer:
<a href="http://osgeo-org.1560.x6.nabble.com/v-to-rast-for-polygons-not-overlapping-center-of-raster-cell-td5355686.html#a5355729" target="_blank">
http://osgeo-org.1560.x6.nabble.com/v-to-rast-for-polygons-not-overlapping-center-of-raster-cell-td5355686.html#a5355729</a>)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">IIUC, MM's proposed solution to my case then does not work anymore because v.to.rast call inside v.rast.stats is affected by the region alignment to the raster to be queried. So,
the solution is indeed now, to change raster resolution... ? Then the region would be aligned to it (them)?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">If one has large areas or long time series and has to resample all rasters to get smallish polygons rasterized, I do not see the advantage of this new behavior... but maybe I'm
missing something<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Cheers,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Vero<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">El mié., 6 feb. 2019 16:54, Stefan Blumentrath <<a href="mailto:Stefan.Blumentrath@nina.no" target="_blank">Stefan.Blumentrath@nina.no</a>> escribió:<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-width:medium medium medium 1pt;padding:0cm 0cm 0cm 6pt;margin:5pt 0cm 5pt 4.8pt;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)">
<div>
<div>
<p class="MsoNormal">Ciao Madi, Vero,<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">Starting with GRASS 7.6, also centroids are used to get the raster representation of your area vector map. That increases the likelihood of smaller areas to be
rasterized.</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">Increasing the resolution of the current region alone does not help, because v.rast.stats temporarily changes the computational region to align with the input
raster map(s) (see also: <a href="https://trac.osgeo.org/grass/ticket/3523" target="_blank">
https://trac.osgeo.org/grass/ticket/3523</a> and <a href="https://trac.osgeo.org/grass/ticket/3598" target="_blank">
https://trac.osgeo.org/grass/ticket/3598</a> for discussion) Even if the first ticket is closed, comments are welcome.</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">It might make sense to add a flag to v.rast.stats like in r.slope.aspect to not align the computational region.</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">Furthermore, with regards to efficiency, v.strds.stats could gain some speed if multi-raster support in v.rast.stats - added in G 7.6 - would be handed down to
the addon. Might almost double the speed for larger STRDS…</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">Cheers</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB">Stefan</span><u></u><u></u></p>
<p class="MsoNormal"><span lang="EN-GB"> </span><u></u><u></u></p>
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> grass-user <<a href="mailto:grass-user-bounces@lists.osgeo.org" target="_blank">grass-user-bounces@lists.osgeo.org</a>>
<b>On Behalf Of </b>Veronica Andreo<br>
<b>Sent:</b> onsdag 6. februar 2019 17:20<br>
<b>To:</b> Margherita Di Leo <<a href="mailto:diregola@gmail.com" target="_blank">diregola@gmail.com</a>><br>
<b>Cc:</b> GRASS user list <<a href="mailto:grass-user@lists.osgeo.org" target="_blank">grass-user@lists.osgeo.org</a>><br>
<b>Subject:</b> Re: [GRASS-user] sample a strds at specific locations (areas)</span><u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">Hi Madi<u></u><u></u></p>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">El mié., 6 feb. 2019 a las 16:31, Margherita Di Leo (<<a href="mailto:diregola@gmail.com" target="_blank">diregola@gmail.com</a>>) escribió:<u></u><u></u></p>
</div>
<blockquote style="border-style:none none none solid;border-width:medium medium medium 1pt;padding:0cm 0cm 0cm 6pt;margin:5pt 0cm 5pt 4.8pt;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)">
<div>
<div>
<div>
<p class="MsoNormal">I have a question regarding v.strds.stats. I get the following warning message:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">WARNING: Not all vector categories converted to raster. Converted 120 of 265.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">What could be the reason for that?<u></u><u></u></p>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Some vector areas might not be converted because they are too small with respect to the pixel size that you try to query. Others will tell better but I think the polygon must overlap
the center of the pixel in order to be converted into raster. One solution could be to resample your rasters to a higher resolution.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">HTH,
<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Vero<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><br clear="all">
<br>
-- <u></u><u></u></p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:rgb(102,102,102)">Margherita Di Leo</span><u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><font color="#666666">Margherita Di Leo</font></div></div></div></div></div></div></div></div></div>