Hi,<div><br></div><div>I am trying to calculate the average pixel value in a elevation raster inside quadrate polygons.</div><div>However, I am not getting the correct values from my query:</div><div><br></div><div><div>SELECT gid, AVG(((foo.geomval).val)) as avgmnt </div>
<div>FROM (SELECT p.gid, ST_Intersection(p.cell, r.rast) AS geomval FROM mountain r, priogrid_land p WHERE ST_Intersects(p.cell, r.rast, ) AND p.gid =186124) AS foo </div><div>GROUP BY gid ORDER BY gid;</div></div><div><br>
</div><div>The problem here is that the ST_Intersects(geom, rast) takes into consideration the pixels that is outside, but touches the border of the quadrate polygons. Then, the average values for each quadrate polygon is affected by pixels inside other polygons. This will potentially lead to a flawed result.</div>
<div>So what I want is to be able to calculate the average value for the pixels INSIDE the polygon excluding those outside.</div><div><br></div><div>How can i restrict the AVG pixel value to be calculated only for pixels that is inside the polygon, and not the pixels that touch the outside of the border?</div>
<div><br></div><div>Thanks!</div><div><br></div><div>Best,</div><div>Andreas</div><div><br></div><div><br></div>