空間加重マトリックスの生成 (Generate Spatial Weights Matrix) (空間統計)

サマリー

空間ウェイト マトリックス ファイル (.swm) を生成して、データセット内のフィーチャ間の空間リレーションシップを表します。

空間ウェイト マトリックスの生成ツールの詳細

空間ウェイト マトリックスの生成ツールの図
これらの空間リレーションシップはポリゴン隣接法、Queen's Case (共有されたエッジまたはノード) に基づいています

使用法

  • このツールでは、空間ウェイト マトリックス ファイル (.swm) が出力されます。 [空間リレーションシップのコンセプト] パラメーターの値を指定する必要があるツール、たとえば [ホット スポット分析 (Hot Spot Analysis)] ツールでは、空間ウェイト マトリックス ファイルが許容されます。 [空間リレーションシップのコンセプト] パラメーターで [空間ウェイトをファイルから取得] オプションを選択し、このツールを使用して作成された空間ウェイト ファイルの絶対パスを [ウェイト マトリックス ファイル] パラメーターに指定します。

  • このツールでは、生成される空間ウェイト マトリックス ファイルの特性として、フィーチャ数、接続性、最小近接フィーチャ数、最大近接フィーチャ数、平均近接フィーチャ数も報告されます。 このサマリーは、ツールの処理中に [ジオプロセシング] ウィンドウの下部にメッセージとして書き込まれます。 このメッセージにアクセスするには、[ジオプロセシング] ウィンドウで、進行状況バーにポインターを合わせるか、ポップアップ ボタンをクリックするか、メッセージ セクションを展開します。 ジオプロセシング履歴から、以前に実行したツールのメッセージにアクセスすることもできます。 このサマリーは、すべてのフィーチャに 1 つ以上の近隣フィーチャが存在するかどうかを示します。 通常、フィーチャ接続性には、低い値を設定することが最適です。大きなデータセット (最小で 8 つの近接フィーチャ) の場合は特にこのことがいえます。

  • 時空間分析の場合は、[空間リレーションシップのコンセプト] パラメーターで [時空間ウィンドウ] オプションを選択します。 空間を定義するには、[閾値距離] の値を指定します。時間を定義するには、[日付/時間フィールド] の値だけでなく、[日付/時間のタイプ] (時間や日など) と [日付/時間の間隔値] の両方の値も指定します。 [日付/時間の間隔値] パラメーターには、整数値を指定します。 たとえば、「1000」フィートと入力し、[時間] オプションを選択し、[日付/時間の間隔値] の値として 3 を指定した場合は、間隔が 1,000 フィート以内で 3 時間以内に発生するフィーチャが近接フィーチャと見なされます。

  • 空間ウェイト マトリックス ファイル (.swm) では、リレーションシップのコンセプトを一連のフィーチャ間で生成、保存、再利用、および共有することができます。 パフォーマンス向上のため、このファイルはバイナリ ファイル形式で作成されます。 フィーチャのリレーションシップは疎行列として保存されるため、0 以外リレーションシップだけが .swm ファイルに書き込まれます。 通常、.swm ファイルに含まれている 0 以外のリレーションシップの数が 1,500 万を超えている場合でも、ツールは十分に機能します。 ただし、.swm ファイルの使用時にメモリ エラーが発生した場合は、フィーチャのリレーションシップの定義方法を再検討してください。 ベスト プラクティスとして、空間ウェイト マトリックスでは、すべてのフィーチャに 1 つ以上の近接フィーチャがあり、ほとんどのフィーチャに 8 つの近接フィーチャがあり、どのフィーチャにも 1,000 を超える近接フィーチャがないようにしてください。

  • [閾値距離] パラメーターのデフォルト値の計算では、一致ポイントは使用されません。

  • Z 値を含む座標を持つデータを使用する場合、[閾値距離] パラメーターの値は 3D 距離になります。

  • Z 値を含む座標を持つデータを使用する場合、[空間リレーションシップのコンセプト] でサポートされているオプションは、[逆距離][固定距離][K 近傍]、および [時空間ウィンドウ] のみです。

  • [入力フィーチャクラス] パラメーターの値が Z 対応の場合は、鉛直座標系 (VCS) の距離単位が水平座標系の距離単位に一致する必要があります。 [入力フィーチャクラス] パラメーターの値に VCS が含まれていない場合は、垂直方向の距離単位が水平方向の距離単位と同じであると見なされます。

  • [入力フィーチャクラス] パラメーターの値が投影されていない場合 (つまり、座標が度、分、秒で示されている場合) または出力座標系地理座標系に設定されている場合は、弦の測定値を使用して距離が計算されます。 弦距離の測定値が使用されるのは、少なくとも互いに約 30° の範囲内のポイントに対して、すばやく算出され、実際の測地距離に近い推定値が得られるという理由からです。 弦距離は、扁平回転楕円体に基づいています。 地球の表面上の 2 点が与えられた場合、2 点間の弦の距離は、3 次元の地球内部を通過して 2 点を接続するラインの長さになります。 弦距離は、メートル単位でレポートされます。

    注意:

    分析範囲が 30 度を超えて広がる場合、データを投影変換してください。 30°を超える場合、弦距離は測地距離の良好な推定値にはなりません。

  • 弦距離が解析で使用されている場合は、[閾値距離] パラメーターの値をメートル単位で指定する必要があります。

  • ライン フィーチャとポリゴン フィーチャの場合は、距離の計算にフィーチャの重心が使用されます。マルチポイント、ポリライン、または複数のパートを持つポリゴンの場合は、すべてのフィーチャ パートの加重平均中心を使用して重心が計算されます。加重は、ポイント フィーチャの場合は 1、ライン フィーチャの場合は長さ、ポリゴン フィーチャの場合は面積です。

  • [一意の ID フィールド] パラメーターの値は、このツールを実行して取得されたフィーチャ リレーションシップにリンクされます。 [一意の ID フィールド] には、各フィーチャに一意の値を指定する必要があるため、このフィールドは通常、フィーチャクラスで維持される永続的なフィールドでなければなりません。 一意の ID フィールドがない場合は、フィーチャクラス テーブルに新しい整数フィールドを追加 ([フィールドの追加 (Add Field)]) し、フィールド値が FID または OBJECTID フィールドと同じになるように計算 ([フィールド演算 (Calculate Field)]) して、作成することができます。 FID および OBJECTID フィールドの値は、フィーチャクラスをコピーまたは編集すると変更される場合があるため、これらのフィールド値を [一意の ID フィールド] パラメーターで直接使用することはできません。

  • [近傍数] パラメーターは、逆距離または固定距離の空間リレーションシップのコンセプトについて、[閾値距離] パラメーターをオーバーライドすることができます。 たとえば、10 マイルの閾値距離を指定し、[近傍数] パラメーターの値として 3 を指定した場合、すべてのフィーチャは、近接フィーチャを検索するために閾値距離を延ばす必要があったとしても、3 つ以上の近接フィーチャを受け取ります。 閾値距離は、最小近傍数を満たすことのできない場合にのみ引き上げられます。

  • [空間リレーションシップのコンセプト] パラメーターの [変換テーブル] オプションを使用すると、ASCII 空間ウェイト マトリックス ファイルSWM 形式の空間ウェイト マトリックス ファイルに変換できます。 まず、ASCII ウェイトを Excel などに読み込んで表形式にします。

    注意:

    テーブルにセルフ ポテンシャルのウェイトが含まれている場合、これらは .swm 出力ファイルから除外され、デフォルトのセルフ ポテンシャル値が分析に使用されます。 [ホット スポット分析 (Hot Spot Analysis)] ツールの場合、デフォルトのセルフ ポテンシャル値は 1 ですが、[セルフ ポテンシャル フィールド] に値を指定することで、この値を上書きできます。 これ以外のツールのデフォルトのセルフ ポテンシャル値は 0 です。

  • ポリゴン フィーチャの場合は、[行の標準化] パラメーターをオンにします。 [行の標準化] を行うと、解析対象の変数の実際の空間分布を反映するのではなく、各フィーチャの近傍の数が集約方式またはサンプリング プロセスの関数になるときに、偏りが緩和されます。

  • このツールのパラメーターの詳細については、「空間関係のモデリング」のヘルプ トピックをご参照ください。

  • 空間ウェイト マトリックス ファイルを使用できるツールは、分析に先立ってフィーチャ ジオメトリを出力座標系に投影します。すべての数学的演算は、出力座標系に基づいて実行されます。 したがって、出力座標系の設定が入力フィーチャクラスの空間参照と一致しない場合は、空間ウェイト マトリックス ファイルを使用するすべての分析で、出力座標系が空間ウェイト マトリックス ファイルの作成時に使用された設定と一致していることを確認するか、空間ウェイト マトリックス ファイルに関連付けられた空間参照と一致するように入力フィーチャクラスを投影変換してください。

  • 注意:

    シェープファイルを使用するときは、NULL 値を格納できないため、注意が必要です。シェープファイル以外の入力からシェープファイルを作成するツールまたはその他の方法では、NULL 値がゼロとして格納または解釈される場合があります。場合によっては、NULL 値はシェープファイルに非常に大きな負の値として格納されます。この場合、予期せぬ結果に至ることがあります。詳細については、「ジオプロセシングでのシェープファイル出力の注意事項」をご参照ください。

パラメーター

ラベル説明データ タイプ
入力フィーチャクラス

フィーチャの空間関係の評価対象となるフィーチャクラス。

Feature Class
一意の ID フィールド

入力フィーチャクラスのすべてのフィーチャで値が異なる整数フィールドです。個別値フィールドがない場合は、整数フィールドをフィーチャクラス テーブルに追加し、FID/OBJECTID フィールドに等しいフィールド値を計算することによって、作成できます。

Field
出力空間ウェイト マトリックス ファイル

出力空間ウェイト マトリックス ファイル (.swm) の絶対パス。

File
空間リレーションシップのコンセプト

フィーチャ間の空間リレーションシップをどのようにコンセプト化するかを指定します。

  • 逆距離あるフィーチャが別のフィーチャに及ぼす影響は、距離とともに減少します。
  • 固定距離各フィーチャの指定された臨界距離内にあるすべてのものが分析の対象となります。 臨界距離外のものはすべて除外されます。
  • K 近傍最も近い k 個のフィーチャが分析に含められます。k は指定した数値パラメーターです。
  • 隣接エッジのみ境界を共有するポリゴン フィーチャが近接フィーチャになります。
  • 隣接エッジ コーナー境界を共有するか、ノードを共有するポリゴン フィーチャが近接フィーチャになります。
  • ドロネー三角形分割重なり合わない三角形のメッシュがフィーチャの重心から作成され、エッジを共有する三角形ノードに関連付けられたフィーチャが近接フィーチャになります。
  • 時空間ウィンドウ指定した臨界距離内および時間間隔内にあるフィーチャが近接フィーチャになります。
  • 変換テーブル空間リレーションシップがテーブル内に定義されます。
String
距離計算の方法
(オプション)

各フィーチャから隣接フィーチャまでの距離の計算方法を指定します。

  • ユークリッド2 つのポイント間の直線距離 (最短距離) が計算されます。 これがデフォルトです。
  • マンハッタン直角の軸 (街区) に沿って計測した 2 つのポイント間の距離を計算するには、X 座標と Y 座標間の (絶対) 距離を合計します。
String
指数
(オプション)

逆距離を計算するための値。 標準の値は 1 または 2 です。

Double
閾値距離
(オプション)

[空間リレーションシップのコンセプト] パラメーターの [逆距離] および [固定距離] オプションのカットオフ距離。 この値は、環境出力データの座標系で指定した単位で指定します。 [時空間ウィンドウ] オプションの空間ウィンドウのサイズを定義します。

このパラメーターを空欄のままにすると、出力フィーチャクラスの範囲とフィーチャ数に基づいてデフォルトの閾値が計算されます。 空間リレーションシップのコンセプトが逆距離の場合、値を 0 に設定すると、閾値距離が適用されず、すべてのフィーチャがその他のフィーチャの近接フィーチャになります。

Double
近傍数
(オプション)

最小のまたは正確な近傍数を反映した整数。 [空間リレーションシップのコンセプト] パラメーターが [K 近傍] に設定されている場合、各フィーチャは指定された数とまったく同じ数の近接フィーチャを持つことになります。 [逆距離] または [固定距離] オプションの場合、各フィーチャは少なくともこの数の近接フィーチャを持つことになります (必要に応じて、この数の近接フィーチャを確保するために閾値距離が一時的に延ばされます)。 [隣接エッジのみ] または [隣接エッジ コーナー] オプションを選択した場合は、ポリゴンごとに、最小数の近接フィーチャが割り当てられます。 この近傍数よりも少ない近傍数を持つポリゴンに対して、フィーチャの中心点との近接度に基づいて近隣フィーチャが追加されます。

Long
行の標準化
(オプション)

空間ウェイトを行で標準化するかどうかを指定します。 行の標準化が推奨されるのは、サンプリングの設計や指定された集約方式によってフィーチャの分布が偏る可能性がある場合です。

  • オン - 空間ウェイトは行で標準化されます。 各加重は行の合計で除されます。 これがデフォルトです。
  • オフ - 空間ウェイトの標準化は適用されません。
Boolean
入力テーブル
(オプション)

入力フィーチャクラスにあるすべてのフィーチャを他のすべてのフィーチャに関連付ける数値ウェイトが格納されたテーブル。 このテーブルの必須フィールドは、[一意の ID フィールド] パラメーター値、NID (近隣 ID)、および WEIGHT です。

Table
日付/時間フィールド
(オプション)

各フィーチャのタイム スタンプを格納する日付フィールド。

Field
日付/時間の間隔タイプ
(オプション)

時間の計測に使用する単位を指定します。

  • 単位が秒になります。
  • 単位が分になります。
  • 時間単位が時間になります。
  • 単位が日になります。
  • 単位が週になります。
  • 単位が 30 日になります。
  • 単位が年になります。
String
日付/時間の間隔値
(オプション)

タイム ウィンドウを構成する時間単位数を示す整数。

たとえば、[日付/時間の間隔タイプ] パラメーターで [時間] を選択し、[日付/時間の間隔値] パラメーターに 3 を指定した場合、タイム ウィンドウは 3 時間になります。 指定した空間ウィンドウ内およびタイム ウィンドウ内にあるフィーチャが近接フィーチャになります。

Long
Z 値の使用

入力フィーチャが Z 対応の場合に、空間ウェイト マトリックスの構築で Z 座標を使用するかどうかを指定します。

  • オン - 空間ウェイト マトリックスの構築で Z 値が使用されます。
  • オフ - Z 値が使用されません。 空間ウェイト マトリックスの構築で Z 値が無視され、X 座標と Y 座標だけが考慮されます。 これがデフォルトです。

Boolean

arcpy.stats.GenerateSpatialWeightsMatrix(Input_Feature_Class, Unique_ID_Field, Output_Spatial_Weights_Matrix_File, Conceptualization_of_Spatial_Relationships, {Distance_Method}, {Exponent}, {Threshold_Distance}, {Number_of_Neighbors}, {Row_Standardization}, {Input_Table}, {Date_Time_Field}, {Date_Time_Interval_Type}, {Date_Time_Interval_Value}, Use_Z_values)
名前説明データ タイプ
Input_Feature_Class

フィーチャの空間関係の評価対象となるフィーチャクラス。

Feature Class
Unique_ID_Field

入力フィーチャクラスのすべてのフィーチャで値が異なる整数フィールドです。個別値フィールドがない場合は、整数フィールドをフィーチャクラス テーブルに追加し、FID/OBJECTID フィールドに等しいフィールド値を計算することによって、作成できます。

Field
Output_Spatial_Weights_Matrix_File

出力空間ウェイト マトリックス ファイル (.swm) の絶対パス。

File
Conceptualization_of_Spatial_Relationships

フィーチャ間の空間リレーションシップをどのようにコンセプト化するかを指定します。

  • INVERSE_DISTANCEあるフィーチャが別のフィーチャに及ぼす影響は、距離とともに減少します。
  • FIXED_DISTANCE各フィーチャの指定された臨界距離内にあるすべてのものが分析の対象となります。 臨界距離外のものはすべて除外されます。
  • K_NEAREST_NEIGHBORS最も近い k 個のフィーチャが分析に含められます。k は指定した数値パラメーターです。
  • CONTIGUITY_EDGES_ONLY境界を共有するポリゴン フィーチャが近接フィーチャになります。
  • CONTIGUITY_EDGES_CORNERS境界を共有するか、ノードを共有するポリゴン フィーチャが近接フィーチャになります。
  • DELAUNAY_TRIANGULATION重なり合わない三角形のメッシュがフィーチャの重心から作成され、エッジを共有する三角形ノードに関連付けられたフィーチャが近接フィーチャになります。
  • SPACE_TIME_WINDOW指定した臨界距離内および時間間隔内にあるフィーチャが近接フィーチャになります。
  • CONVERT_TABLE空間リレーションシップがテーブル内に定義されます。
String
Distance_Method
(オプション)

各フィーチャから隣接フィーチャまでの距離の計算方法を指定します。

  • EUCLIDEAN2 つのポイント間の直線距離 (最短距離) が計算されます。 これがデフォルトです。
  • MANHATTAN直角の軸 (街区) に沿って計測した 2 つのポイント間の距離を計算するには、X 座標と Y 座標間の (絶対) 距離を合計します。
String
Exponent
(オプション)

逆距離を計算するための値。 標準の値は 1 または 2 です。

Double
Threshold_Distance
(オプション)

Conceptualization_of_Spatial_Relationships パラメーターの INVERSE_DISTANCE および FIXED_DISTANCE オプションのカットオフ距離。 この値は、環境出力データの座標系で指定した単位で指定します。 SPACE_TIME_WINDOW オプションの空間ウィンドウのサイズを定義します。

このパラメーターを空欄のままにすると、出力フィーチャクラスの範囲とフィーチャ数に基づいてデフォルトの閾値が計算されます。 空間リレーションシップのコンセプトが逆距離の場合、値を 0 に設定すると、閾値距離が適用されず、すべてのフィーチャがその他のフィーチャの近接フィーチャになります。

Double
Number_of_Neighbors
(オプション)

最小のまたは正確な近傍数を反映した整数。 Conceptualization_of_Spatial_Relationships パラメーターが K_NEAREST_NEIGHBORS に設定されている場合、各フィーチャは指定された数とまったく同じ数の近接フィーチャを持つことになります。 INVERSE_DISTANCE または FIXED_DISTANCE オプションの場合、各フィーチャは少なくともこの数の近接フィーチャを持つことになります (必要に応じて、この数の近接フィーチャを確保するために閾値距離が一時的に延ばされます)。 CONTIGUITY_EDGES_ONLY または CONTIGUITY_EDGES_CORNERS オプションを選択した場合は、ポリゴンごとに、最小数の近接フィーチャが割り当てられます。 この近傍数よりも少ない近傍数を持つポリゴンに対して、フィーチャの中心点との近接度に基づいて近隣フィーチャが追加されます。

Long
Row_Standardization
(オプション)

空間ウェイトを行で標準化するかどうかを指定します。 行の標準化が推奨されるのは、サンプリングの設計や指定された集約方式によってフィーチャの分布が偏る可能性がある場合です。

  • ROW_STANDARDIZATION空間ウェイトは行で標準化されます。 各加重は行の合計で除されます。 これがデフォルトです。
  • NO_STANDARDIZATION空間ウェイトの標準化は適用されません。
Boolean
Input_Table
(オプション)

入力フィーチャクラスにあるすべてのフィーチャを他のすべてのフィーチャに関連付ける数値ウェイトが格納されたテーブル。 このテーブルの必須フィールドは、[一意の ID フィールド] パラメーター値、NID (近隣 ID)、および WEIGHT です。

Table
Date_Time_Field
(オプション)

各フィーチャのタイム スタンプを格納する日付フィールド。

Field
Date_Time_Interval_Type
(オプション)

時間の計測に使用する単位を指定します。

  • SECONDS単位が秒になります。
  • MINUTES単位が分になります。
  • HOURS単位が時間になります。
  • DAYS単位が日になります。
  • WEEKS単位が週になります。
  • MONTHS単位が 30 日になります。
  • YEARS単位が年になります。
String
Date_Time_Interval_Value
(オプション)

タイム ウィンドウを構成する時間単位数を示す整数。

たとえば、Date_Time_Interval_Type パラメーターで HOURS を選択し、Date_Time_Interval_Value パラメーターに 3 を指定した場合、タイム ウィンドウは 3 時間になります。 指定した空間ウィンドウ内およびタイム ウィンドウ内にあるフィーチャが近接フィーチャになります。

Long
Use_Z_values

入力フィーチャが Z 対応の場合に、空間ウェイト マトリックスの構築で Z 座標を使用するかどうかを指定します。

  • USE_Z_VALUES空間ウェイト マトリックスの構築で Z 値が使用されます。
  • DO_NOT_USE_Z_VALUESZ 値が使用されません。 空間ウェイト マトリックスの構築で Z 値が無視され、X 座標と Y 座標だけが考慮されます。 これがデフォルトです。
Boolean

コードのサンプル

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

次の Python ウィンドウ スクリプトは、GenerateSpatialWeightsMatrix 関数の使用方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID", 
                                         "euclidean6Neighs.swm", 
                                         "K_NEAREST_NEIGHBORS", "#", "#", "#", 
                                         6, "NO_STANDARDIZATION")
GenerateSpatialWeightsMatrix の例 2 (スタンドアロン スクリプト)

次のスタンドアロン Python スクリプトは、GenerateSpatialWeightsMatrix 関数の使用方法を示しています。


# Analyze the spatial distribution of 911 calls in a metropolitan area
# using the Hot-Spot Analysis Tool (Local Gi*)

# Import system modules
import arcpy

# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True

# Local variables...
workspace = "C:/Data"

try:
    # Set the current workspace (to avoid having to specify the full path to the feature classes each time)
    arcpy.env.workspace = workspace

    # Copy the input feature class and integrate the points to snap
    # together at 500 feet
    # Process: Copy Features and Integrate
    cf = arcpy.CopyFeatures_management("911Calls.shp", "911Copied.shp",
                         "#", 0, 0, 0)

    integrate = arcpy.Integrate_management("911Copied.shp #", "500 Feet")

    # Use Collect Events to count the number of calls at each location
    # Process: Collect Events
    ce = arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#")

    # Add a unique ID field to the count feature class
    # Process: Add Field and Calculate Field
    af = arcpy.AddField_management("911Count.shp", "MyID", "LONG", "#", "#", "#", "#",
                     "NON_NULLABLE", "NON_REQUIRED", "#",
                     "911Count.shp")
    
    cf = arcpy.CalculateField_management("911Count.shp", "MyID", "[FID]", "VB")

    # Create Spatial Weights Matrix for Calculations
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID",
                        "euclidean6Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 6,
                        "NO_STANDARDIZATION") 

    # Hot Spot Analysis of 911 Calls
    # Process: Hot Spot Analysis (Getis-Ord Gi*)
    hs = arcpy.HotSpots_stats("911Count.shp", "ICOUNT", "911HotSpots.shp", 
                     "GET_SPATIAL_WEIGHTS_FROM_FILE",
                     "EUCLIDEAN_DISTANCE", "NONE",
                     "#", "#", "euclidean6Neighs.swm")

except arcpy.ExecuteError:
    # If an error occurred when running the tool, print the error message
    print(arcpy.GetMessages())

環境

特殊なケース

出力座標系

フィーチャ ジオメトリが分析の前に出力データの座標系に投影されます。したがって、[閾値距離] パラメーターに入力された値は、出力データの座標系で指定されている値と一致する必要があります。 数学的演算はすべて、出力データの座標系の空間参照に基づいて行われます。 出力データの座標系が度、分、および秒に基づく場合、測地距離はメートル単位の弦の距離を使用して推定されます。