ProportionSum

Descripción

Calcula la suma de una agregación de valores, que se ajustan según la proporción de dos objetos geométricos.

Sintaxis

ProportionSum ( n, value_geometry, reference_geometry )

Argumentos

n es una expresión numérica que indica los valores que se van a agregar,

value_geometry es una expresión geométrica, y

reference_geometry es una expresión geométrica.

Ejemplo

Permite obtener la suma proporcional de los valores entre dos objetos geométricos (uno un sobre mediante el uso de MI_Box, el otro pasando en un objeto geométrico).

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

Un caso de uso para esta operación es encontrar la cantidad proporcional de personas dentro de una región determinada. En el siguiente ejemplo, se devuelve la población dentro de un área definida de Estados Unidos:

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

Este ejemplo también se puede duplicar mediante la operación de suma. En el siguiente ejemplo se devuelven los mismos resultados que en el ejemplo anterior proportionSum:

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')

Notas

ProportionSum es una función de agregación que solamente se puede usar en una instrucción de agregación Seleccionar. Los valores nulos de n, value_geometry, o reference_geometry son ignorados. Si la agregación solo proporciona valores nulos, entonces se arroja un valor nulo.

Los valores de n veces una proporción se acumulan. La proporción se determina como el área de la superposición de value_geometry y reference_geometry dividida por el área de value_geometry.

Por ejemplo, una geometría de referencia puede ser una región que representa un riesgo de inundación, que interseca con varios países. La población en cada condado puede ser proporcionalmente sumada sobre la base de la proporción del área del condado que se superpone a la región de riesgo.

La función de agregación ProportionSum se puede reemplazar por la siguiente fórmula:

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

AreaOverlap(value_geometry, reference_geometry)) también se denominaArea(Intersection(value_geometry, reference_geometry)).

Si el sistema de coordenadas de value_geometry es fuera de la Tierra, se realizará un cálculo del área cartesiana.