Skip to main content

Bonjour,

Je souhaite calculer une statistique zonale afin d’obtenir la moyenne des valeurs de pixels d’un raster, sur une couche polygone (vecteur), comme on a l’habitude de le faire dans un logiciel SIG (voir capture ci-dessous).

Merci pour votre aide.

 

Bonjour,

 

avez-vous essayé le RasterStatisticsCalculator ?

https://docs.safe.com/fme/html/FME-Form-Documentation/FME-Transformers/Transformers/rasterstatisticscalculator.htm


Bonjour,

Oui, effectivement.

Je l’avais déjà utilisé, mais je pense que, dans le cadre d’une statistique zonale, les transformers RasterStatisticsCalculator et même PointOnRasterValueExtractor ne sont pas les plus adaptés,je pense  car ici je dois combiner des données vecteur et raster pour ensuite enrichir ma donnée vecteur avec des statistiques comme la moyenne.

Ces transformers calculent directement les statistiques sur le raster sans prendre en compte la couche vecteur.

Par exemple, comme dans un logiciel SIG (voir capture ci-dessous, sur QGIS), je peux obtenir la valeur moyenne des pixels du raster pour chaque polygone de ma couche vecteur, ce qui permet d’enrichir cette dernière avec des informations issues du raster.

Je me demande donc s’il existe un transformer qui permet de réaliser directement cette opération (comme dans la plupart des logiciels SIG) ou si je suis obligé d’enchaîner plusieurs traitements.

Merci

 


Et si vous découpez votre raster avec votre polygone grâce à un Clipper en amont, cela ne ferait-il pas l’affaire ?


Je l’ai testé aussi, mais le problème est qu’il me donne une seule moyenne de l’ensemble des valeurs de pixels. Or, l’idée est de calculer la moyenne des pixels pour chaque entité de la couche polygone, afin de pouvoir l’exploiter.


You need to use the polygon features as the clippers for the raster, then you feed the clipped rasters into the RasterStatisticsCalculater. This will give you clipped raster features with the pixel value set as an attribute. You then need to pass the attribute value to the polygons used for clipping.

You can do this with a FeatureJoiner if you have a unique id. In the Clipper you need to make sure you are merging attributes so that the raster areas also get the unique id from the polygons during the clipping process. 
 


D’accord, je vais testé 

Merci pour votre aide !!! 


Reply