ProportionSum

説明

値の集合の合計を計算し、2 つのジオメトリ オブジェクトの比率に基づいて調整します。

構文

ProportionSum ( n, value_geometry, reference_geometry )

引数

n は、加算する値を示す数値式です。

value_geometry はジオメトリ式です。

reference_geometry はジオメトリ式です。

2 つのジオメトリ オブジェクト (1 つは MI_Box を使用するエンベロープ、もう 1 つはジオメトリ オブジェクトで渡します) の間の値の比例合計を返します。

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

この演算の使用例としては、ある領域内の人口の比例数を知りたい場合が挙げられます。次の例では、米国のある地域内の人口が返されます。

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

この例は、sum 演算を使用しても実行できます。次の例でも、上記の 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')

コメント

ProportionSum は集計関数であり、集計を行う Select 文でのみ使用できます。nvalue_geometry、または reference_geometry が Null 値の場合は無視されます。集合が Null 値だけの場合は、Null 値が返されます。

n に比率を掛けた値を集計します。比率は、value_geometryreference_geometry の重なっている部分の面積を value_geometry の面積で割ることによって求められます。

例えば、基準ジオメトリは、複数の郡と交差する、洪水の危険がある地域であるものとします。各郡の人口を、危険地域と重なる郡の面積の比率に基づいて比例的に合計できます。

ProportionSum 集計関数は次の式に置き換えることができます。

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

AreaOverlap(value_geometry, reference_geometry)) は、Area(Intersection(value_geometry, reference_geometry)) とも表現されます。

value_geometry の座標系が非地球である場合は、カルテシアン面積計算が実行されます。