<div dir="ltr"><div>Hi,</div><div>I have no idea in terms of performance but I would bet on B option in your case. </div><div>Thanks to give feedback.</div><div><br></div><div>Regards.</div></div><div class="gmail_extra"><br>
<br><div class="gmail_quote">On Wed, Jul 3, 2013 at 8:36 AM, Otto Dassau <span dir="ltr"><<a href="mailto:dassau@gbd-consult.de" target="_blank">dassau@gbd-consult.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Fred,<br>
<br>
thanks for the hints, A and B sound interesting - PostGIS is not an option<br>
here.<br>
<br>
One more question, because you already used these workarounds. What solution<br>
A or B should be more usable (faster) from your opinion, if I need to<br>
calculate the mean while moving the mouse over the map canvas?<br>
<br>
Regards<br>
Otto<br>
<br>
Am Tue, 2 Jul 2013 18:05:10 +0100<br>
schrieb Fred Lehodey <<a href="mailto:lehodey@gmail.com">lehodey@gmail.com</a>>:<br>
<div class="im"><br>
> Hi,<br>
><br>
> Not sure it's the best way but I did something similar with these<br>
> workarounds:<br>
><br>
> A - with gdal:<br>
> 1 - the user click and you get your buffer. (already done)<br>
</div>> 2 - use gdalwarp with "-cutline" and "*-*crop_to_cutline" options to<br>
<div class="HOEnZb"><div class="h5">> extract a new raster. (python subprocess)<br>
> 3 - read the created raster in a numpy array to do all the statistics you<br>
> need.<br>
><br>
> B - with matplotlib:<br>
> 1 - with the buffer: create an array of the vertices<br>
> 2 - read the raster into another numpy array<br>
> 3 - use the "points_inside_poly" function of "matplotlib" lib to create a<br>
> numpy mask.<br>
><br>
> Not tried but postgis raster should do the job.<br>
><br>
> Hth,<br>
> Fred<br>
><br>
><br>
> On Tue, Jul 2, 2013 at 1:12 PM, Otto Dassau <<a href="mailto:dassau@gbd-consult.de">dassau@gbd-consult.de</a>> wrote:<br>
><br>
> > Hi,<br>
> ><br>
> > for a qgis 1.8 plugin I would like to query the mean of pixel values of a<br>
> > raster layer within a defined buffer for the current mouse position (not<br>
> > for<br>
> > an existing point layer).<br>
> ><br>
> > For the buffer it works:<br>
> ><br>
> > ...<br>
> > feat.geometry().asPoint()<br>
> > (3.5176e+06,5.4062e+06)<br>
> > buff_geom = feat.geometry().buffer(1000, 5)<br>
> > buff_geom.asPolygon() [[(3.5186e+06,5.4062e+06),<br>
> > (3.51855e+06,5.4059e+06), (3.51841e+06,5.40562e+06),<br>
> > (3.51819e+06,5.4054e+06), (3.51791e+06,5.40525e+06),<br>
> > (3.5176e+06,5.4052e+06), (3.51729e+06,5.40525e+06),<br>
> > (3.51701e+06,5.4054e+06),...]]<br>
> ><br>
> > but now I try to find a solution to query the raster pixels within the<br>
> > buffer zone and calculate the mean, but I don't know how and if this is<br>
> > possible in QGIS 1.8 at all. I found QgsZonalStatistics, but that doesn't<br>
> > work for my task.<br>
> ><br>
> > Does anybody have a solution for this or a better idea, how to solve<br>
> > this?<br>
> ><br>
> > Thanks<br>
> ><br>
> > Otto<br>
> > _______________________________________________<br>
> > Qgis-developer mailing list<br>
> > <a href="mailto:Qgis-developer@lists.osgeo.org">Qgis-developer@lists.osgeo.org</a><br>
> > <a href="http://lists.osgeo.org/mailman/listinfo/qgis-developer" target="_blank">http://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
> ><br>
<br>
<br>
</div></div><div class="HOEnZb"><div class="h5">--<br>
Geoinformatik Büro Dassau - <a href="http://www.gbd-consult.de" target="_blank">http://www.gbd-consult.de</a><br>
FOSSGIS consulting , training , support  and analysis<br>
Ackerstrasse 144c  ,  D - 40233 Düsseldorf  , Germany<br>
Tel: <a href="tel:%2B49-%280%29211-47468178" value="+4921147468178">+49-(0)211-47468178</a> , Mobil: <a href="tel:%2B49-%280%29171-4687540" value="+491714687540">+49-(0)171-4687540</a><br>
<br>
--<br>
Community Advisor - QGIS Project Steering Committee<br>
</div></div></blockquote></div><br></div>