概要
空間ウェイト マトリックス ファイル (*.swm) を構築して、データセット内のフィーチャ間の空間リレーションシップを表します。
図
使用法
このツールでは空間ウェイト マトリックス ファイル (*.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 値はシェープファイルに非常に大きな負の値として格納されます。この場合、予期せぬ結果に至ることがあります。詳細については、「ジオプロセシングでのシェープファイル出力の注意事項」をご参照ください。
構文
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 | フィーチャ間の空間リレーションシップをどのようにコンセプト化するかを指定します。
| String |
Distance_Method (オプション) | 各フィーチャから隣接フィーチャまでの距離の計算方法を指定します。
| String |
Exponent (オプション) | 逆距離の計算のためのパラメーター。典型的な値は 1 または 2 です。 | Double |
Threshold_Distance (オプション) | [逆距離] または [固定距離] の空間リレーションシップのコンセプトについて、カットオフ値を指定します。この値は、環境出力データの座標系で指定した単位で指定します。[時空間ウィンドウ] の空間リレーションシップのコンセプトについて、空間ウィンドウのサイズを定義します。 値をゼロにすると、距離の閾値が適用されません。このパラメーターを空欄のままにすると、出力フィーチャクラスの範囲とフィーチャ数に基づきデフォルトの閾値が計算されます。 | Double |
Number_of_Neighbors (オプション) | 最小のまたは正確な近傍数を反映した整数。K_NEAREST_NEIGHBORS の場合、各フィーチャは指定された近傍数を持つことになります。INVERSE_DISTANCE または FIXED_DISTANCE の場合、各フィーチャは少なくともこの数の近隣フィーチャを持つことになります (必要に応じて、近傍数を満たすために距離の閾値が一時的に引き上げられます)。[空間リレーションシップのコンセプト] のいずれかの隣接を選択した場合、各ポリゴンにはこの最小近傍数が割り当てられます。この近傍数よりも少ない近傍数を持つポリゴンに対して、フィーチャの中心点との近接度に基づいて近隣フィーチャが追加されます。 | Long |
Row_Standardization (オプション) | 設計のサンプリングや適用される集約方式のためにフィーチャの分布に偏りがあると考えられる場合は、行を標準化することを推奨します。
| Boolean |
Input_Table (オプション) | 入力フィーチャクラスにあるすべてのフィーチャを他のすべてのフィーチャに関連付ける数値ウェイトが格納されたテーブル。必須フィールドは、[入力フィーチャクラス]、[一意の ID フィールド]、[NID (近隣 ID)]、および [ウェイト] です。 | Table |
Date_Time_Field (オプション) | 各フィーチャのタイムスタンプを持つ日付フィールド。 | Field |
Date_Time_Interval_Type (オプション) | 時間の計測に使用する単位。
| String |
Date_Time_Interval_Value (オプション) | タイム ウィンドウを構成する時間単位数を示す整数。 たとえば、[日付/時間の間隔タイプ] に [時間] を、[日付/時間の間隔値] に [3] を選択した場合、タイム ウィンドウは 3 時間になります。指定した空間ウィンドウ内およびタイム ウィンドウ内にあるフィーチャが近接フィーチャになります。 | Long |
Use_Z_values |
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、GenerateSpatialWeightsMatrix ツールの使用方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID", "euclidean6Neighs.swm", "K_NEAREST_NEIGHBORS", "#", "#", "#", 6, "NO_STANDARDIZATION")
次のスタンドアロン 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: はい
関連トピック
- 空間関係のモデリング ツールセットの概要
- 地理空間加重回帰分析 (Geographically Weighted Regression) (GWR) の詳細
- 空間的自己相関分析 (Spatial Autocorrelation (Global Moran's I))
- 高/低クラスター分析 (High/Low Clustering (Getis-Ord General G))
- クラスター/外れ値分析 (Cluster and Outlier Analysis (Anselin Local Moran's I))
- ホット スポット分析 (Hot Spot Analysis (Getis-Ord Gi*))
- グループ分析 (Grouping Analysis)
- 空間ウェイト
- 空間関係のモデリング
- ネットワーク空間ウェイトの生成 (Generate Network Spatial Weights) の詳細
- ジオプロセシング ツールの検索