カーネル密度比の計算 (Calculate Kernel Density Ratio) (Spatial Analyst)

Spatial Analyst のライセンスで利用可能。

サマリー

2 つの入力フィーチャ データセットを使用して、空間的な相対リスク サーフェスを計算します。 比率の分子は犯罪数や患者数などのケースを表し、分母は総人口などのコントロールを表します。

使用法

  • このツールは、[カーネル密度 (Kernel Density)] ツールと同じ計算を使用して、密度サーフェスを作成します。 [カーネル密度 (Kernel Density)] ツールと [カーネル密度比の計算 (Calculate Kernel Density Ratio)] ツールの出力は同じように見えますが、[カーネル密度比の計算 (Calculate Kernel Density Ratio)] ツールの出力は正規化されるため、比例値が表示されます。 [カーネル密度 (Kernel Density)] ツールの出力は正規化されません。 密度比は、解析する現象が総人口などのコントロールを必要とする場合に使用します。

    個々の密度サーフェスは、比率の計算前に [カーネル密度 (Kernel Density)] ツールで計算されます。

  • 人口フィールドの値が非常に大きいか非常に小さいと、不自然に見える結果が生成されることがあります。 人口フィールドの平均が 1 よりもはるかに大きい場合 (たとえば、都市の人口)、デフォルトの検索範囲が非常に小さくなることがあり、その結果、入力値の周囲のリングが小さくなります。 [Population フィールド] の平均が 1 よりも非常に小さい場合、計算された検索範囲が不当に大きく見えることがあります。 このような場合は、独自の検索範囲を指定できます。

  • [出力セル サイズ] パラメーターは、数値で定義するか、既存のラスター データセットから取得することができます。 セル サイズがパラメーター値として明示的に指定されていない場合、セル サイズ環境が指定されていれば、そこから取得されます。 パラメーターのセル サイズまたは環境のセル サイズは指定されていないが、スナップ対象ラスター環境が設定されている場合、スナップ対象ラスターのセル サイズが使用されます。 何も指定されていない場合、セル サイズは範囲の幅および高さのうち小さい方を 250 で割った値で計算されます (範囲が環境で指定された出力座標系に存在する場合)。

  • 数値を使用してセル サイズを指定した場合、出力ラスターではそれが直接使用されます。

    ラスター データセットを使用してセル サイズを指定した場合、パラメーターにはセル サイズの値ではなく、ラスター データセットのパスが表示されます。 データセットの空間参照が出力空間参照と同じであれば、そのラスター データセットのセル サイズが解析で直接使用されます。 データセットの空間参照が出力空間参照と異なる場合、指定した [セル サイズ投影法] の値に基づいて投影されます。

  • 検索範囲の値が大きいほど、より滑らかで単純化された密度のラスターが作成されます。 値が小さいほど、詳細を示すラスターが作成されます。

  • デフォルトの検索範囲は、空間構成と入力ポイントの数に基づいて計算されます。 この方法は、検索範囲が不当に大きくならないように、空間的な外れ値 (他の入力ポイントから非常に離れた入力ポイント) を修正します。

  • [出力のセル値] (Python では out_cell_values) パラメーターは、出力ラスターの値が何を表すかを指定します。 [密度] を選択した場合、値は、各セルの単位面積あたりのカーネル密度の値を表します。 [予測数] を選択すると、セル面積あたりのカーネルの密度の値を表します。 密度の値からカウントを計算する等式は、「カウント = 密度 × 面積」です。

  • 正しい距離と面積を正確に維持する投影を使用してローカル縮尺で解析を実行する場合は、[方法] (Python では method) パラメーターの [平面] オプションが適しています。 地域的な縮尺または大縮尺で (たとえば、Web メルカトルや任意の地理座標系を使用して) 解析を実行する場合は、[測地線] オプションが適しています。 この方法では、楕円体の曲率を考慮して、極と日付変更線の近くのデータを正確に処理します。

  • 密度の計算時、近傍内にあるポイントまたはラインの一部だけが考慮されます。 特定セルの近傍内にポイントやライン セクションがない場合、そのセルには NoData が割り当てられます。

  • NULL 値をサポートするデータ形式 (ファイル ジオデータベース フィーチャクラスなど) では、入力として使用された NULL 値は無視されます。

  • [入力ポイントまたはポリライン フィーチャを分母として使用] (Python では in_features_denominator) のフィーチャがゼロの場合は、そのフィーチャの検索範囲内の出力結果が NoData になります。

  • デフォルトの出力座標系は [入力ポイントまたはポリライン フィーチャを分子として使用] (Python では in_features_numerator) に基づいています。

    [分子の検索範囲] (Python では search_radius_numerator) と [分母の検索範囲] (Python では search_radius_denominator) のデフォルト値は、[入力ポイントまたはポリライン フィーチャを分子として使用] の出力座標系の距離単位に基づいています。 出力座標系環境設定を使用すると、[分子の検索範囲] パラメーターと [分母の検索範囲] パラメーターの値は出力座標系環境設定の距離単位に基づきます。

    デフォルトの解析範囲は、[入力ポイントまたはポリライン フィーチャを分子として使用][入力ポイントまたはポリライン フィーチャを分母として使用] の値の共通範囲になります。

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

  • 参考文献:

    Silverman, B. W. Density Estimation for Statistics and Data Analysis. New York: Chapman and Hall, 1986.

パラメーター

ラベル説明データ タイプ
入力ポイントまたはポリライン フィーチャを分子として使用

密度を計算するケースの入力フィーチャ (ポイントまたはライン)。

Feature Layer
入力ポイントまたはポリライン フィーチャを分母として使用

密度を計算するコントロールの入力フィーチャ (ポイントまたはライン)。

Feature Layer
分子の人口フィールド

各フィーチャの人口値を示すフィールド。 値フィールドは、連続サーフェスを作成する地形上に分散する個数や数量です。

アイテムや特殊な値を使用せず、各フィーチャを 1 回だけカウントする場合は、OID または FID を使用します。

人口フィールドの値は、整数値または浮動小数点値です。

入力フィーチャに z 値がある場合は、Shape フィールドを使用できます。

Field
分母の人口フィールド

各フィーチャの人口値を示すフィールド。 値フィールドは、連続サーフェスを作成する地形上に分散する個数や数量です。

アイテムや特殊な値を使用せず、各フィーチャを 1 回だけカウントする場合は、OID または FID を使用します。

人口フィールドの値は、整数値または浮動小数点値です。

入力フィーチャに z 値がある場合は、Shape フィールドを使用できます。

Field
出力セル サイズ
(オプション)

作成される出力ラスターのセル サイズ。

このパラメーターは、数値で定義するか、既存のラスター データセットから取得することができます。 セル サイズがパラメーター値として明示的に指定されていない場合、環境セル サイズの値が指定されていれば、それが使用されます。そうでない場合、その他のルールを使用してその他の入力から計算されます。 詳細については、使用法セクションをご参照ください。

Analysis Cell Size
分子の検索範囲
(オプション)

密度の計算対象となる検索範囲。 単位は、出力空間参照の投影法の距離単位に基づきます。

たとえば、単位がメートルの場合、1 マイル近傍内のフィーチャをすべて含めるには、検索範囲を 1609.344 に設定します (1 マイル = 1609.344 メートル)。

デフォルトの検索半径は、空間的な外れ値 (つまり、他のポイントから非常に離れているポイント) に十分強い Silverman's Rule of Thumb (Silverman, 1986) の空間的変異を使用して、その入力データセットに特化して計算されます。 このアルゴリズムの説明については、使用上のヒントをご参照ください。

Double
分母の検索範囲
(オプション)

密度の計算対象となる検索範囲。 単位は、出力空間参照の投影法の距離単位に基づきます。

たとえば、単位がメートルの場合、1 マイル近傍内のフィーチャをすべて含めるには、検索範囲を 1609.344 に設定します (1 マイル = 1609.344 メートル)。

デフォルトの検索半径は、空間的な外れ値 (つまり、他のポイントから非常に離れているポイント) に十分強い Silverman's Rule of Thumb (Silverman, 1986) の空間的変異を使用して、その入力データセットに特化して計算されます。 このアルゴリズムの説明については、使用上のヒントをご参照ください。

Double
出力のセル値
(オプション)

出力ラスターの値が表す内容を指定します。

セルの値は指定されたセル サイズにリンクされているため、結果のラスターは異なるセル サイズに合わせてリサンプリングすることはできません。

  • 密度値は、各セルの単位面積あたりのカーネル密度の値の計算結果を表します。 これがデフォルトです。
  • カウント値は、セル面積あたりのカーネル密度の値の計算結果を表します。
String
方法
(オプション)

平面地球 (平面) を使用するか楕円体 (測地線) 距離の最短経路を使用するかを指定します。

ポイントを入力フィーチャとしてのみサポートする測地方法。

  • 平面フィーチャが使用される平面距離。 これがデフォルトです。
  • 測地線フィーチャが使用される測地距離。
String
分子の入力バリア フィーチャ
(オプション)

バリアを定義するデータセット。

バリアはポリライン フィーチャまたはポリゴン フィーチャのレイヤーになります。

Feature Layer
分母の入力バリア フィーチャ
(オプション)

バリアを定義するデータセット。

バリアはポリライン フィーチャまたはポリゴン フィーチャのレイヤーになります。

Feature Layer

戻り値

ラベル説明データ タイプ
出力ラスター

出力カーネル密度ラスター。

常に浮動小数点ラスターです。

Raster

CalculateKernelDensityRatio(in_features_numerator, in_features_denominator, population_field_numerator, population_field_denominator, {cell_size}, {search_radius_numerator}, {search_radius_denominator}, {out_cell_values}, {method}, {in_barriers_numerator}, {in_barriers_denominator})
名前説明データ タイプ
in_features_numerator

密度を計算するケースの入力フィーチャ (ポイントまたはライン)。

Feature Layer
in_features_denominator

密度を計算するコントロールの入力フィーチャ (ポイントまたはライン)。

Feature Layer
population_field_numerator

各フィーチャの人口値を示すフィールド。 値フィールドは、連続サーフェスを作成する地形上に分散する個数や数量です。

アイテムや特殊な値を使用せず、各フィーチャを 1 回だけカウントする場合は、OID または FID を使用します。

人口フィールドの値は、整数値または浮動小数点値です。

入力フィーチャに z 値がある場合は、Shape フィールドを使用できます。

Field
population_field_denominator

各フィーチャの人口値を示すフィールド。 値フィールドは、連続サーフェスを作成する地形上に分散する個数や数量です。

アイテムや特殊な値を使用せず、各フィーチャを 1 回だけカウントする場合は、OID または FID を使用します。

人口フィールドの値は、整数値または浮動小数点値です。

入力フィーチャに z 値がある場合は、Shape フィールドを使用できます。

Field
cell_size
(オプション)

作成される出力ラスターのセル サイズ。

このパラメーターは、数値で定義するか、既存のラスター データセットから取得することができます。 セル サイズがパラメーター値として明示的に指定されていない場合、環境セル サイズの値が指定されていれば、それが使用されます。そうでない場合、その他のルールを使用してその他の入力から計算されます。 詳細については、使用法セクションをご参照ください。

Analysis Cell Size
search_radius_numerator
(オプション)

密度の計算対象となる検索範囲。 単位は、出力空間参照の投影法の距離単位に基づきます。

たとえば、単位がメートルの場合、1 マイル近傍内のフィーチャをすべて含めるには、検索範囲を 1609.344 に設定します (1 マイル = 1609.344 メートル)。

デフォルトの検索半径は、空間的な外れ値 (つまり、他のポイントから非常に離れているポイント) に十分強い Silverman's Rule of Thumb (Silverman, 1986) の空間的変異を使用して、その入力データセットに特化して計算されます。 このアルゴリズムの説明については、使用上のヒントをご参照ください。

Double
search_radius_denominator
(オプション)

密度の計算対象となる検索範囲。 単位は、出力空間参照の投影法の距離単位に基づきます。

たとえば、単位がメートルの場合、1 マイル近傍内のフィーチャをすべて含めるには、検索範囲を 1609.344 に設定します (1 マイル = 1609.344 メートル)。

デフォルトの検索半径は、空間的な外れ値 (つまり、他のポイントから非常に離れているポイント) に十分強い Silverman's Rule of Thumb (Silverman, 1986) の空間的変異を使用して、その入力データセットに特化して計算されます。 このアルゴリズムの説明については、使用上のヒントをご参照ください。

Double
out_cell_values
(オプション)

出力ラスターの値が表す内容を指定します。

  • DENSITIES値は、各セルの単位面積あたりのカーネル密度の値の計算結果を表します。 これがデフォルトです。
  • EXPECTED_COUNTS値は、セル面積あたりのカーネル密度の値の計算結果を表します。

セルの値は指定されたセル サイズにリンクされているため、結果のラスターは異なるセル サイズに合わせてリサンプリングすることはできません。

String
method
(オプション)

平面地球 (平面) を使用するか楕円体 (測地線) 距離の最短経路を使用するかを指定します。

  • PLANARフィーチャが使用される平面距離。 これがデフォルトです。
  • GEODESICフィーチャが使用される測地距離。

ポイントを入力フィーチャとしてのみサポートする測地方法。

String
in_barriers_numerator
(オプション)

バリアを定義するデータセット。

バリアはポリライン フィーチャまたはポリゴン フィーチャのレイヤーになります。

Feature Layer
in_barriers_denominator
(オプション)

バリアを定義するデータセット。

バリアはポリライン フィーチャまたはポリゴン フィーチャのレイヤーになります。

Feature Layer

戻り値

名前説明データ タイプ
out_raster

出力カーネル密度ラスター。

常に浮動小数点ラスターです。

Raster

コードのサンプル

CalculateKernelDensityRatio の例 1 (Python ウィンドウ)

次の例では、ポイント シェープファイルから滑らかな密度比ラスターを計算しています。

from arcpy import env 
from arcpy.sa import * 
env.workspace = r"C:/sapyexamples/data" 
outKDenRa = CalculateKernelDensityRatio("rec_sites.shp", "rec_sites.shp", "Crime", "POP", 45, 1200, 1200, "", "GEODESIC") 
outKDenRa.save(r"C:/sapyexamples/output/KD_out.tif")
CalculateKernelDensityRatio の例 2 (スタンドアロン スクリプト)

次の例では、ポイント シェープファイルから滑らかな密度比ラスターを計算しています。

# Name: CalculateKernelDensityRatio_Ex_02.py 
# Description: Calculates the ozone concentration per population of each county out of 
#              Sierra Nevada Mountain in California 
#              based on the two point samples using a kernel function to 
#              fit a smoothly tapered surface of density ratio. 
# Requirements: Spatial Analyst Extension 

# Import system modules 
import arcpy 
from arcpy import env 
from arcpy.sa import * 

# Set environment settings 
env.workspace = r"C:/sapyexamples/data" 

# Set local variables 
inFeatures1 = "ozone_california.shp" 
inFeatures2 = "pop_california.shp" 
populationField1 = "OZONE" 
populationField2 = "POP" 
cellSize = 60 
searchRadius1 = 2500 
searchRadius2 = 500 
inBarriers1 = "SierraNevada.shp" 
inBarriers2 = "county.shp" 

# Execute CalculateKernelDensityRatio 
outKernelDensityRatio = CalculateKernelDensityRatio(inFeatures1, inFeatures2, populationField1, populationField2,
                                                    cellSize, searchRadius1, searchRadius2, "DENSITIES", "PLANAR",
                                                    inBarriers1, inBarriers2) 

# Save the output  
outKernelDensityRatio.save(r"C:/sapyexamples/output/KD_ozone_california.tif")

関連トピック