ProportionSum

Description

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

Syntaxe

ProportionSum ( n, value_geometry, reference_geometry )

Arguments

n est une expression numérique indiquant les valeurs à ajouter,

value_geometry est une expression géométrique, et

reference_geometry est une expression géométrique.

Exemple

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

SELECT proportionSum(1, obj, MI_BOX(-104.493426, 39.399710, -101.282362, 41.474182, 'epsg:4269')) as ProportionSum from states

Un cas d'utilisation de cette opération est la recherche du nombre de personnes proportionnel au sein d'une région donnée. Dans l'exemple suivant, la population d'une zone donnée des États-Unis est renvoyée :

SELECT proportionSum(Pop_2000, obj, MI_BOX(-110.515461, 38.525829, -106.905772, 42.324814, 'epsg:4326')) from "/Samples/NamedTables/USA"

Cet exemple peut également être dupliqué à l'aide de l'opération d'addition. L'exemple suivant renvoie les mêmes résultats que l'exemple proportionSum ci-dessus :

SELECT SUM(Pop_2000 * MI_AREA(MI_INTERSECTION(obj, MI_Box(-110.515461, 38.525829, -106.905772, 42.324814, 'epsg:4326')), 'sq mi', 'Spherical') / MI_AREA(obj, 'sq mi', 'Spherical')) from "/Samples/NamedTables/USA" WHERE obj intersects MI_BOX(-110.515461, 38.525829, -106.905772, 42.324814, 'epsg:4326')

Remarques

ProportionSum 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.

Les valeurs de n multipliées par une proportion sont accumulées. 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.

Par exemple, une géométrie de référence peut être une région représentant un risque d'inondation qui croise plusieurs comtés. La population de chaque comté peut être additionnée proportionnellement en fonction de la proportion de la zone du comté qui chevauche la région à risque.

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

Sum (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é.