ラベル | 説明 | データ タイプ |
入力フィーチャクラス | フィーチャの空間関係の評価対象となるフィーチャクラス。 | Feature Class |
一意の ID フィールド | 入力フィーチャクラスのすべてのフィーチャで値が異なる整数フィールドです。個別値フィールドがない場合は、整数フィールドをフィーチャクラス テーブルに追加し、FID/OBJECTID フィールドに等しいフィールド値を計算することによって、作成できます。 | Field |
出力空間ウェイト マトリックス ファイル | 出力空間ウェイト マトリックス ファイル (*.swm) の絶対パス。 | File |
空間リレーションシップのコンセプト | フィーチャ間の空間リレーションシップをどのようにコンセプト化するかを指定します。
| String |
距離計算の方法 (オプション) | 各フィーチャから隣接フィーチャまでの距離の計算方法を指定します。
| String |
指数 (オプション) | 逆距離を計算するための値。 標準の値は 1 または 2 です。 | Double |
閾値距離 (オプション) | [空間リレーションシップのコンセプト] パラメーターの [逆距離] および [固定距離] オプションのカットオフ距離。 この値は、環境出力データの座標系で指定した単位で指定します。 [時空間ウィンドウ] オプションの空間ウィンドウのサイズを定義します。 このパラメーターを空欄のままにすると、出力フィーチャクラスの範囲とフィーチャ数に基づいてデフォルトの閾値が計算されます。 空間リレーションシップのコンセプトが逆距離の場合、値を 0 に設定すると、閾値距離が適用されず、すべてのフィーチャがその他のフィーチャの近接フィーチャになります。 | Double |
近傍数 (オプション) | 最小のまたは正確な近傍数を反映した整数。 [空間リレーションシップのコンセプト] パラメーターが [K 近傍] に設定されている場合、各フィーチャは指定された数とまったく同じ数の近接フィーチャを持つことになります。 [逆距離] または [固定距離] オプションの場合、各フィーチャは少なくともこの数の近接フィーチャを持つことになります (必要に応じて、この数の近接フィーチャを確保するために閾値距離が一時的に延ばされます)。 [隣接エッジのみ] または [隣接エッジ コーナー] オプションを選択した場合は、ポリゴンごとに、最小数の近接フィーチャが割り当てられます。 この近傍数よりも少ない近傍数を持つポリゴンに対して、フィーチャの中心点との近接度に基づいて近隣フィーチャが追加されます。 | Long |
行の標準化 (オプション) | 空間ウェイトを行で標準化するかどうかを指定します。 行の標準化が推奨されるのは、サンプリングの設計や指定された集約方式によってフィーチャの分布が偏る可能性がある場合です。
| Boolean |
入力テーブル (オプション) | 入力フィーチャクラスにあるすべてのフィーチャを他のすべてのフィーチャに関連付ける数値ウェイトが格納されたテーブル。 このテーブルの必須フィールドは、[一意の ID フィールド] パラメーター値、NID (近隣 ID)、および WEIGHT です。 | Table |
日付/時間フィールド (オプション) | 各フィーチャのタイム スタンプを格納する日付フィールド。 | Field |
日付/時間の間隔タイプ (オプション) | 時間の計測に使用する単位を指定します。
| String |
日付/時間の間隔値 (オプション) | タイム ウィンドウを構成する時間単位数を示す整数。 たとえば、[日付/時間の間隔タイプ] パラメーターで [時間] を選択し、[日付/時間の間隔値] パラメーターに 3 を指定した場合、タイム ウィンドウは 3 時間になります。指定した空間ウィンドウ内およびタイム ウィンドウ内にあるフィーチャが近接フィーチャになります。 たとえば、Date_Time_Interval_Type パラメーターで HOURS を選択し、Date_Time_Interval_Value パラメーターに 3 を指定した場合、タイム ウィンドウは 3 時間になります。指定した空間ウィンドウ内およびタイム ウィンドウ内にあるフィーチャが近接フィーチャになります。 | Long |
Z 値の使用 | 入力フィーチャが Z 対応の場合に、空間ウェイト マトリックスの構築で Z 座標を使用するかどうかを指定します。
| Boolean |
図
使用法
このツールでは、空間ウェイト マトリックス ファイル (*.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 値はシェープファイルに非常に大きな負の値として格納されます。この場合、予期せぬ結果に至ることがあります。詳細については、「ジオプロセシングでのシェープファイル出力の注意事項」をご参照ください。
パラメーター
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 (オプション) | 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 (オプション) | 空間ウェイトを行で標準化するかどうかを指定します。 行の標準化が推奨されるのは、サンプリングの設計や指定された集約方式によってフィーチャの分布が偏る可能性がある場合です。
| Boolean |
Input_Table (オプション) | 入力フィーチャクラスにあるすべてのフィーチャを他のすべてのフィーチャに関連付ける数値ウェイトが格納されたテーブル。 このテーブルの必須フィールドは、[一意の ID フィールド] パラメーター値、NID (近隣 ID)、および WEIGHT です。 | Table |
Date_Time_Field (オプション) | 各フィーチャのタイム スタンプを格納する日付フィールド。 | Field |
Date_Time_Interval_Type (オプション) | 時間の計測に使用する単位を指定します。
| String |
Date_Time_Interval_Value (オプション) | タイム ウィンドウを構成する時間単位数を示す整数。 | Long |
Use_Z_values | 入力フィーチャが Z 対応の場合に、空間ウェイト マトリックスの構築で Z 座標を使用するかどうかを指定します。
| 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 arcpy.ExecuteError:
# If an error occurred when running the tool, print the error message.
print(arcpy.GetMessages())
環境
特殊なケース
- 出力座標系
フィーチャ ジオメトリが分析の前に出力データの座標系に投影されます。したがって、[閾値距離] パラメーターに入力された値は、出力データの座標系で指定されている値と一致する必要があります。 数学的演算はすべて、出力データの座標系の空間参照に基づいて行われます。 出力データの座標系が度、分、および秒に基づく場合、測地距離はメートル単位の弦の距離を使用して推定されます。