ネットワーク空間ウェイトの生成 (Generate Network Spatial Weights) (空間統計)

概要

ネットワーク データセットを使用して空間ウェイト マトリックス ファイル (*.swm) を作成し、基礎となるネットワーク構造における空間リレーションシップを定義します。

ネットワーク空間ウェイトの生成の詳細

[ネットワーク空間ウェイトの生成 (Generate Network Spatial Weights)] の図

使用法

  • ネットワーク データセットは、次のいずれかのソースから取得できます。

    • ローカル ドライブまたはネットワークに保存されたネットワーク データセット。組織が独自の道路ネットワーク データセットを保持してる場合、すでにアクセスを持っているかもしれません。
    • ArcGIS Online または ArcGIS Enterprise でホストされている物流およびルート検索サービスArcGIS Online を使用して解析する場合は、その解析で、ArcGIS Online クラウドに格納されている高品質な世界規模のネットワーク データセットが参照され、ArcGIS Online クレジットが消費されます。
    • ArcGIS StreetMap Premium から提供される構成済みネットワーク データセット。これらのネットワーク データセットは SDC 形式で、北米、中南米、ヨーロッパ、中東、アフリカ、日本、オーストラリア、ニュージーランドが含まれます。

  • このツールは、出力として空間ウェイト マトリックス ファイル (*.swm) を作成します。[空間統計] および [時空間パターン マイニング] ツールボックスのさまざまなツールには、このファイルを使用してフィーチャの空間リレーションシップを定義できる [空間リレーションシップのコンセプト] パラメーターが含まれています。ネットワーク データソースに空間ウェイト マトリックスを使用すると、距離、移動時間、および移動コストによる空間リレーションシップを定義できます。

  • [入力フィーチャクラス] はポイントである必要があります。このツールでは、ポリゴンおよびポリラインはサポートされていません。

  • [一意の ID フィールド] パラメーターを使用して、このツールの出力を入力フィーチャに関連付けます。一意の ID 値を含むフィールドが存在しない場合は、新たな整数フィールドをフィーチャクラス テーブルに追加し、FID/OBJECTID フィールドに等しいフィールド値を計算することによって、作成できます。FID および OBJECTID フィールドの値は、フィーチャクラスをコピーまたは編集するときに変更される場合があります。そのため、これらのフィールド値を [一意の ID フィールド] パラメーターで直接使用することはできません。

  • 各フィーチャに関連付けられている近傍数は、[最大近傍数] パラメーターと 3 つのインピーダンス カットオフ パラメーターによって決定されます。このツールは、最大近傍数を超えたり、インピーダンスがいずれかのカットオフ値を超過するフィーチャを使用したりせずに、入力フィーチャに最も近いフィーチャをできるだけ多く使用します。インピーダンスは、距離、移動時間、またはコストによって定義できます。使用できるインピーダンスのタイプは、ネットワーク データ ソースのプロパティおよび [移動モード] パラメーターの値によって異なります。

  • ネットワーク データセットに階層が含まれている場合、階層を使用して空間リレーションシップが定義されます。階層では、ネットワーク エッジが幹線道路、一般道路、生活道路に分類されます。ネットワークの階層を使用してフィーチャ間の空間関係を作成するときには、一般道路よりも幹線道路での移動が優先され、生活道路よりも一般道路での移動が優先されます。

  • [空間リレーションシップのコンセプト] パラメーターに [逆] が指定されている場合は、[行の標準化] パラメーターをオンにして行の標準化を実行することをお勧めします。行の標準化が実行されていない場合、距離の単位が異なると空間ウェイトも異なります。

  • すべての入力フィーチャは、解析前にネットワーク データセットの空間参照に投影され、ネットワーク空間ウェイト マトリックス ファイルがこの空間参照に構築されます。この空間参照で以降のすべての解析を実行して、空間リレーションシップを適切に表現することをお勧めします。

構文

arcpy.stats.GenerateNetworkSWM(Input_Feature_Class, Unique_ID_Field, Output_Spatial_Weights_Matrix_File, Input_Network_Data_Source, Travel_Mode, Impedance_Distance_Cutoff, {Impedance_Temporal_Cutoff}, {Impedance_Cost_Cutoff}, {Maximum_Number_of_Neighbors}, {Time_of_Day}, {Time_Zone}, {Barriers}, {Search_Tolerance}, {Conceptualization_of_Spatial_Relationships}, {Exponent}, {Row_Standardization})
パラメーター説明データ タイプ
Input_Feature_Class

ネットワーク上の位置を表すポイント フィーチャクラス。各フィーチャに対して近傍とウェイトが計算され、出力空間ウェイト マトリックス ファイルに保存されます。

Feature Class
Unique_ID_Field

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

Field
Output_Spatial_Weights_Matrix_File

各入力フィーチャの近傍とウェイトを格納する出力ネットワーク空間ウェイト マトリックス ファイル (*.swm)。

File
Input_Network_Data_Source

各入力フィーチャの近傍の検索に使用されるネットワーク データセット。ネットワーク データセットは通常、道路ネットワークを表しますが、鉄道や歩道など、他の種類の交通ネットワークを表すこともできます。ネットワーク データセットには、距離、移動時間、またはコストに関連する属性が 1 つ以上含まれている必要があります。

Network Data Source
Travel_Mode

解析対象の交通モード。移動モードには、歩行者、車、トラック、その他の輸送手段がネットワークをどのように移動するかが定義されており、移動規制や U ターン ポリシーなどのネットワーク設定のコレクションを表します。

arcpy.na.TravelMode オブジェクトおよび移動モードの有効な JSON 表現を含む文字列もパラメーターの入力として使用できます。

String
Impedance_Distance_Cutoff

フィーチャの近傍と見なされる最大インピーダンス距離。距離がこの値よりも遠いフィーチャは、近傍として使用されません。デフォルトでは、距離カットオフは使用されません。

Linear Unit
Impedance_Temporal_Cutoff
(オプション)

フィーチャの近傍と見なされる最大インピーダンス移動時間。移動時間がこの値より長いフィーチャは、近傍として使用されません。デフォルトでは、時間カットオフは使用されません。

Time Unit
Impedance_Cost_Cutoff
(オプション)

フィーチャの近傍と見なされる最大インピーダンス コスト。移動コストがこの値よりも大きいフィーチャは、近傍として使用されません。デフォルトでは、コスト カットオフは使用されません。

Double
Maximum_Number_of_Neighbors
(オプション)

各フィーチャの最大近傍数を表す整数。各フィーチャに使用される実際の近傍数は、インピーダンス カットオフにより少なくなる場合があります。

Long
Time_of_Day
(オプション)

解析では、時刻による交通状況が考慮されます。交通状況は、指定された時間に移動できる距離に影響を与える可能性があります。日付または時刻が指定されていない場合、解析は交通の影響を考慮しません。

特定の日付を使用する代わりに、次の日付を使用して曜日を指定することができます。

  • 本日 - 1899/12/30
  • 日曜日 - 1899/12/31
  • 月曜日 - 1900/1/1
  • 火曜日 - 1900/1/2
  • 水曜日 - 1900/1/3
  • 木曜日 - 1900/1/4
  • 金曜日 - 1900/1/5
  • 土曜日 - 1900/1/6

たとえば、移動を火曜日の 5:00 PM に開始するよう指定するには、パラメーター値を「1900/1/2 5:00 PM」に指定します。

Date
Time_Zone
(オプション)

Time_of_Day パラメーターのタイム ゾーンを指定します。

  • LOCAL_TIME_AT_LOCATIONSInput_Feature_Class が含まれているタイム ゾーンが使用されます。これがデフォルトです。
  • UTC協定世界時 (UTC) が使用されます。
String
Barriers
(オプション)

ブロックされている交差点、道路の閉鎖、事故現場、ネットワーク沿いで移動がブロックされているその他の場所を表すフィーチャ。

Feature Layer
Search_Tolerance
(オプション)

各入力フィーチャをネットワーク上の位置に割り当てる際に使用される最大距離。入力ポイントのいずれかがネットワークのラインに正確に一致しない場合、それらのポイントは解析用にネットワーク上の最も近い位置に割り当てられます。ただし、フィーチャがネットワーク上の任意の位置からの検索許容値よりも遠い場合、そのフィーチャはネットワークに割り当てられず、解析には含まれません。

Linear Unit
Conceptualization_of_Spatial_Relationships
(オプション)

各近傍にウェイトを定義する方法を指定します。

  • INVERSE距離、時間、またはコストが大きいフィーチャほど、近いフィーチャよりもウェイトが小さくなります。ウェイトは指数の逆数で減少します。
  • FIXEDすべての近傍に等しいウェイトが付与されます。これがデフォルトです。
String
Exponent
(オプション)

INVERSEConceptualization_of_Spatial_Relationships パラメーターに指定されている場合に使用される指数。各近傍に割り当てられたウェイトは、距離、時間、またはコストの逆数を指数で累乗して計算されます。デフォルト値は 1 で、値は 0.01 ~ 4 である必要があります。指数が増加するにつれて、ウェイトは急激に減少します。

Double
Row_Standardization
(オプション)

行の標準化を適用するかどうかを指定します。行の標準化が推奨されるのは、サンプリングの設計や指定された集約方式によって入力ポイントの位置が偏る可能性があるときです。距離、時間、またはコストの逆数に基づいて近傍にウェイトを付与する場合も、行を標準化することをお勧めします。

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

コードのサンプル

GenerateNetworkSWM (ネットワーク空間ウェイトの生成) の例 1 (Python ウィンドウ)

次の Python スクリプトは、[GenerateNetworkSWM] ツールの使用方法を示します。

import arcpy
arcpy.env.workspace = "c:\Data"
# Use a network data source hosted on ArcGIS Online.
arcpy.stats.GenerateNetworkSWM(r"Data.gdb\Hospital", "MyID", 
                               "Hospital.swm", "https://www.arcgis.com/",
                               "Driving Time", None, None, None, None, None, 
                               "LOCAL_TIME_AT_LOCATIONS", None, "5000 Meters",
                               "FIXED", 1, "ROW_STANDARDIZATION")
# Use a network data source stored on a local drive.
arcpy.stats.GenerateNetworkSWM(r"Data.gdb\Hospital", "MyID", "Hospital.swm", 
                               r"Data.gdb\transportation\streets_ND",
                               "Driving Time", None, None, None, None, None, 
                               "LOCAL_TIME_AT_LOCATIONS", None, "5000 Meters", 
                               "FIXED", 1, "ROW_STANDARDIZATION")
GenerateNetworkSWM (ネットワーク空間ウェイトの生成) の例 2 (スタンドアロン スクリプト)

次の Python スクリプトは、[GenerateNetworkSWM] ツールの使用方法を示します。

# Create a Spatial Weights Matrix based on Network Data
# Import system modules
import arcpy
# Set the environment property to overwrite existing output
arcpy.env.overwriteOutput = True
# Check out the ArcGIS Network Analyst extension 
arcpy.CheckOutExtension("Network")
# Local variables...
workspace = r"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
    # Create Spatial Weights Matrix based on Network Data
    # Process: Generate Network Spatial Weights...
    arcpy.stats.GenerateNetworkSWM(r"Data.gdb\Hospital","MyID", 
        "Hospital.swm", r"Data.gdb\Transportation\Streets_ND",
        "Driving Time", None, None, None, None, None, 
        "LOCAL_TIME_AT_LOCATIONS", None, "5000 Meters", "FIXED", 
        1,"ROW_STANDARDIZATION")
    # Create Spatial Weights Matrix based on Euclidean Distance
    # Process: Generate Spatial Weights Matrix...
    arcpy.stats.GenerateSpatialWeightsMatrix(
        r"Data.gdb\Hospital", "MyID", r"Euclidean6Neighs.swm", 
        "K_NEAREST_NEIGHBORS", "EUCLIDEAN", 1, None, 6, 
        "ROW_STANDARDIZATION", None, None, '', None, None)
    # Calculate Moran's Index of Spatial Autocorrelation for
    # average hospital visit times using Network Spatial Weights
    # Process: Spatial Autocorrelation (Morans I)...
    moransINet = arcpy.stats.SpatialAutocorrelation("Data.gdb\Hospital", 
                     "VisitTime", "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE",
                     "EUCLIDEAN_DISTANCE", "ROW", None, "Hospital.swm", None)
    # Calculate Moran's Index of Spatial Autocorrelation for
    # average hospital visit times using Euclidean Spatial Weights
    # Process: Spatial Autocorrelation (Morans I)...
    moransIEuc = arcpy.stats.SpatialAutocorrelation("Data.gdb\Hospital", 
                     "VisitTime", "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE",
                     "EUCLIDEAN_DISTANCE", "ROW", None, r"Euclidean6Neighs.swm", 
                     None)
except arcpy.ExecuteError:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

ライセンス情報

  • Basic: 次のものが必要 Network Analyst
  • Standard: 次のものが必要 Network Analyst
  • Advanced: 次のものが必要 Network Analyst

関連トピック