空間ウェイト マトリックスの生成 (Generate Spatial Weights Matrix) (空間統計)

概要

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

空間ウェイト マトリックスの生成 (Generate Spatial Weights Matrix) ツールの詳細

ポリゴン隣接法に基づく空間ウェイト
ポリゴン隣接法に基づく空間リレーションシップ、Queen's Case (共有されたエッジまたはノード)。

使用法

  • このツールでは空間ウェイト マトリックス ファイル (*.swm) が出力されます。[空間リレーションシップのコンセプト] の指定を必要とする [ホット スポット分析 (Hot_Spot_Analysis)] などのツールでは、空間ウェイト マトリックス ファイルが許容されます。[空間リレーションシップのコンセプト] パラメーターでは、[空間ウェイトをファイルから取得] を選択し、[ウェイト マトリックス ファイル] パラメーターでは、このツールを使って作成する空間ウェイト ファイルのフル パスを指定します。

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

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

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

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

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

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

  • [入力フィーチャクラス] が Z 対応である場合、鉛直座標系 (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 ですが、[セルフ ポテンシャル] フィールドに値を指定すればこの値を上書きできます。これ以外のツールのデフォルトのセルフ ポテンシャル値はゼロです。

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

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

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

  • 注意:

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

構文

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
(オプション)

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

値をゼロにすると、距離の閾値が適用されません。このパラメーターを空欄のままにすると、出力フィーチャクラスの範囲とフィーチャ数に基づきデフォルトの閾値が計算されます。

Double
Number_of_Neighbors
(オプション)

最小のまたは正確な近傍数を反映した整数。K_NEAREST_NEIGHBORS の場合、各フィーチャは指定された近傍数を持つことになります。INVERSE_DISTANCE または FIXED_DISTANCE の場合、各フィーチャは少なくともこの数の近隣フィーチャを持つことになります (必要に応じて、近傍数を満たすために距離の閾値が一時的に引き上げられます)。[空間リレーションシップのコンセプト] のいずれかの隣接を選択した場合、各ポリゴンにはこの最小近傍数が割り当てられます。この近傍数よりも少ない近傍数を持つポリゴンに対して、フィーチャの中心点との近接度に基づいて近隣フィーチャが追加されます。

Long
Row_Standardization
(オプション)

設計のサンプリングや適用される集約方式のためにフィーチャの分布に偏りがあると考えられる場合は、行を標準化することを推奨します。

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

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

Table
Date_Time_Field
(オプション)

各フィーチャのタイムスタンプを持つ日付フィールド。

Field
Date_Time_Interval_Type
(オプション)

時間の計測に使用する単位。

  • SECONDS
  • MINUTES
  • HOURS時間
  • DAYS
  • WEEKS
  • MONTHS30 日
  • YEARS
String
Date_Time_Interval_Value
(オプション)

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

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

Long
Use_Z_values
  • USE_Z_VALUES空間ウェイト マトリックスの構築で Z 座標が使用されます。
  • DO_NOT_USE_Z_VALUES空間ウェイト マトリックスの構築で 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:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

環境

出力座標系

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

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック