ProportionAvg

Description

Calcule la moyenne d'une agrégation de valeurs ajustées en fonction de la proportion de deux objets géométriques.

Syntaxe

ProportionAvg ( n, value_geometry, reference_geometry )

Arguments

n est une expression numérique,

value_geometry est une expression géométrique, et

reference_geometry est une expression géométrique.

Exemple

Renvoie la moyenne proportionnelle de deux valeurs géométriques (l'une une enveloppe utilisant MI_Box, l'autre passant dans un objet géométrique).

select ProportionAvg(1, obj, MI_Box(-104.493426, 39.399710, -101.282362, 41.474182, 'epsg:4269')) as ProportionAvg from states

Remarques

ProportionAvg est une fonction d'agrégation qui ne peut être utilisée que dans une instruction d'agrégation Select. Les valeurs null de n, de value_geometry et/ou de reference_geometry sont ignorées. Si l'agrégation ne fournit que des valeurs null, une valeur null est renvoyée.

Pour les instances sans aucun chevauchement de géométries, la ligne reste prise en compte pour la moyenne.

Les valeurs de n multipliées par une proportion sont accumulées et leur moyenne est calculée. La proportion est déterminée en fonction de la zone de chevauchement de value_geometry et de reference_geometry divisée par la zone de value_geometry.

La fonction d'agrégation ProportionAvg peut être remplacée par la formule suivante :

Avg (n * AreaOverlap(value_geometry, reference_geometry)) / Area(value_geometry)) 

AreaOverlap(value_geometry, reference_geometry)) est également appelé Area(Intersection(value_geometry, reference_geometry)).

Si le système de coordonnées de value_geometry est non terrestre, un calcul de zone cartésien est réalisé.