空間ウェイト マトリックスの作成(Generate Spatial Weights Matrix) (空間統計)
図
使用法
-
このツールでは空間ウェイト マトリックス ファイル(*.swm)が出力されます。[空間リレーションシップのコンセプト] オプションの指定を必要とするツールでは、空間ウェイト マトリックス ファイルが許容されます。[空間リレーションシップのコンセプト] パラメータについて GET_SPATIAL_WEIGHTS_FROM_FILE を選択し、[ウェイト マトリックス ファイル] パラメータについてこのツールを使って作成する空間ウェイト ファイルのフル パス名を指定します。
このツールでは、生成される空間ウェイト マトリックス ファイルの特性として、フィーチャ数、接続性、最小、最大、平均近傍数もレポートされます。このサマリには、結果ウィンドウからアクセスできます。結果ウィンドウのメッセージ エントリを右クリックして、[表示] を選択して表示します。このサマリを使うことで、すべてのフィーチャに 1 つ以上の近隣フィーチャ(近隣フィーチャは 8 個が理想的です)を確保できます。一般的に、フィーチャ接続性には、低い値を設定することが望ましいといえます。大きなデータセットの場合は特にこれがいえます。
-
距離ベースの空間リレーションシップのコンセプトを使用する場合は常に、データを投影座標系(地理座標系ではなく)にしてください。
-
ライン フィーチャとポリゴン フィーチャの場合は、距離の計算にフィーチャの重心が使用されます。マルチポイント、ポリライン、または複数のパートを持つポリゴンの場合は、すべてのフィーチャ パートの加重平均中心を使用して重心が計算されます。加重は、ポイント フィーチャの場合は 1、ライン フィーチャの場合は長さ、ポリゴン フィーチャの場合は面積です。
-
個別値フィールドは、このツールを実行して得られたフィーチャ リレーションシップにリンクしています。そのため、個別値は、すべてのフィーチャについて一意でなければならず、通常はフィーチャクラスとともに保持される永続的なフィールドに置かれます。個別値フィールドがない場合は、新しい整数フィールドをフィーチャクラス テーブルに追加し、FID/OID フィールドに等しいフィールド値を計算することによって、簡単に作成できます。固有値パラメータに FID/OID フィールドを直接使用することはできません。
-
[空間リレーションシップのコンセプト] パラメータについての、ポリゴン隣接オプションである [CONTIGUITY_EDGES_ONLY] と [CONTIGUITY_EDGES_CORNERS] は、ポリゴン フィーチャでしか有効ではありません。これらのオプションは、ArcInfo ライセンスを通じてのみ利用できます。
-
[近傍数] パラメータは、Inverse または Fixed の空間リレーションシップのコンセプトについて、[閾値距離] パラメータをオーバーライドすることができます。閾値距離として 10 マイルを、近傍数として 3 を指定すると、近傍の特定のために閾値を引き上げる必要があっても、すべてのフィーチャについて 3 つ以上の近傍が特定されます。閾値距離は、最小近傍数を満たすことのできない場合にのみ引き上げられます。
[空間リレーションシップのコンセプト] パラメータの [CONVERT_TABLE] オプションを使用すれば、ASCII 空間ウェイト マトリックス ファイルを「.swm」形式の空間ウェイト マトリックス ファイルに変換できます。まず、ASCII ウェイトを書式付きのテーブル(Excel を使用したものなど)に配置する必要があります。
注意:テーブルにセルフ ポテンシャルのウェイトが含まれている場合、これらは *.swm 出力ファイルから除外され、分析にはデフォルトのセルフ ポテンシャル値が使用されます。[ホット スポット分析] ツールの場合、デフォルトのセルフ ポテンシャル値は 1 ですが、[セルフ ポテンシャル] フィールドに値を指定すればこの値を上書きできます。これ以外のツールのデフォルトのセルフ ポテンシャル値はゼロです。
ポリゴン フィーチャの場合は、ほぼ常に [標準化] パラメータに [行] を選択することができます。[行の標準化] を行うと、解析対象の変数の実際の空間分布を反映するのではなく、各フィーチャの近傍の数が集約方式またはサンプリング プロセスの関数になるときに、偏りが緩和されます。
-
このツールのパラメータの詳細については、「空間関係のモデリング」のヘルプ トピックをご参照ください。
シェープファイルを使用するときは、Null 値を格納できないため、注意が必要です。シェープファイル以外の入力からシェープファイルを作成するツールまたはその他の方法では、Null 値がゼロとして格納または解釈される場合があります。これにより、予想外の結果になる可能性があります。「ジオプロセシングでのシェープファイル出力の注意事項」もご参照ください。
構文
パラメータ | 説明 | データ タイプ |
Input_Feature_Class |
フィーチャの空間関係の評価対象となるフィーチャクラス。 | Feature Class |
Unique_ID_Field |
入力フィーチャクラスの各フィーチャについて異なる値を格納した整数フィールド。 | Field |
Output_Spatial_Weights_Matrix_File |
作成する空間ウェイト マトリックス ファイル(*.swm)についてのフル パス名。 | File |
Conceptualization_of_Spatial_Relationships |
フィーチャ間の空間関係をどのようにコンセプト化するかを指定します。
注意: ポリゴン隣接手法は、ArcInfo ライセンスでしか利用できません。 | String |
Distance_Method |
各フィーチャから隣接フィーチャまでの距離の計算方法を指定します。
| String |
Exponent (オプション) |
逆距離の計算のためのパラメータ。典型的な値は 1 または 2 です。 | Double |
Threshold_Distance (オプション) |
Inverse Distance または Fixed Distance の空間リレーションシップのコンセプトについて、カットオフ値を指定します。この値は、環境出力データの座標系で指定した単位で指定します。 値をゼロにすると、距離の閾値が適用されません。このパラメータを空欄のままにすると、出力フィーチャクラスの範囲とフィーチャ数に基づきデフォルトの閾値が計算されます。 | Double |
Number_of_Neighbors (オプション) |
最小のまたは正確な近傍数を反映した整数。[K 個の最近隣フィーチャ(K Nearest Neighbors)] の場合、各フィーチャは指定された近傍数をもつことになります。[Inverse distance] または [固定距離]の場合、各フィーチャは少なくともこの数の近隣フィーチャをもつことになります(必要に応じて、近傍数を満たすために距離の閾値が一時的に引き上げられます)。アイランド ポリゴンが存在する場合に、[隣接] の空間リレーションシップのコンセプトの 1 つを選択すると、指定された数の最近隣ポリゴンがアイランド ポリゴンに関連付けられます。 | Integer |
Row_Standardization (オプション) |
設計のサンプリングや適用される集約方式のためにフィーチャの分布に偏りがあると考えられる場合は、行を標準化することをお勧めします。
| Boolean |
Input_Table (オプション) |
入力フィーチャクラスにあるすべてのフィーチャを他のすべてのフィーチャに関連付ける数値ウェイトが格納されたテーブル。必須フィールドは、[入力フィーチャクラスの一意な ID(Input Feature Class Unique ID)] フィールド、[NID (近隣ID)]、および [ウェイト] フィールドです。 | File |
コードのサンプル
次の 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 geoprocessor object property to overwrite existing output, by default arcpy.gp.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()