|Functions / Aggregation Functions|
Computes the average of an aggregation of values which are adjusted based on the proportion of two geometry objects.
ProportionAvg ( n, value_geometry, reference_geometry )
n is a numeric expression,
value_geometry is a geometry expression, and
reference_geometry is a geometry expression.
Returns the proportional average between two geometry values (one an envelope using MI_Box, the other passing in a geometry object).
select ProportionAvg(1, obj, MI_Box(-104.493426, 39.399710, -101.282362, 41.474182, 'epsg:4269')) as ProportionAvg from states
ProportionAvg is an aggregation function which can only be used in an aggregating Select statement. Null values for n, value_geometry, and/or reference_geometry are ignored. If there are only null values supplied in the aggregation, then a null value is returned.
For instances where there is no overlap of geometries, the row is still counted for the average.
The values of n times a proportion are accumulated and averaged. The proportion is determined to be the area of the overlap of the value_geometry and the reference_geometry divided by the area of the value_geometry.
The ProportionAvg aggregation function can be replaced with the following formula:
Avg (n * AreaOverlap(value_geometry, reference_geometry)) / Area(value_geometry))
AreaOverlap(value_geometry, reference_geometry)) is also referred to as Area(Intersection(value_geometry, reference_geometry)).
If the coordinate system of the value_geometry is Non-Earth, a Cartesian area calculation will be performed.