Statistic summary of values of raster pixels inside polygons?

14 次查看(过去 30 天)
Hi there, I have a raster satellite image that I imported to matlab as geotiff and I have a file (shapefile) with several polygons (about 500), form the same area, that I imported in matlab by shaperead function. I want to know the mean, maximum, minimum and sum of the values of the pixels of the raster that are within each polygon. So I finally want to have a matrix with 500 rows, which each row represents a polygon and 4 columns that each indicates a parameter (mean, maximum, minimum and sum). Any idea is really appreciated. ?!

采纳的回答

KSSV
KSSV 2018-5-9
As you said you have polygons in hand.......you can extract the points of the raster lying inside these polygons using inpolygon. inpolygon gives you indices of the raster points lying inside the given polygon. Once indices are known, you extract the points and calculate mean, max, min and sum. Bottomline read about inpolygon.
  1 个评论
Marmar
Marmar 2018-5-9
Hi Thanks, do you have any idea how can I put a raster in inpolygon function? SO I had a raster and a polygone and now I imported them to Matlab by shaperead and geotiffread. SO I thinkn in inpolygon function it just needs coordinates! Thanks for your reply in advance

请先登录,再进行评论。

更多回答(1 个)

Reema Alhassan
Reema Alhassan 2018-6-10
Hello Marmar,
this is exactly what I need to do if you have a code of doing this could you share it please ? till know I can do statistics for only a shape with one polygon but I need to do the same with a file with many polygons and I couldn't if you know a way of doing this please let me know
Many thanks.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by