ラベル | 説明 | データ タイプ |
入力レイヤー | 密度の計算に使用するポイント。 | Feature Layer |
出力フィーチャクラス | 計算された密度を含む新しいフィーチャクラス。 | Feature Class |
ビン タイプ | 解析で使用されるビンの形状を指定します。
| String |
ビン サイズ | 入力フィーチャの集約に使用するビンのサイズ。 正方形のビンを生成する場合、指定された数値と単位によって、正方形の高さと長さが決まります。 六角形の場合、指定された数値と単位によって、平行な 2 辺の距離が決まります。 | Linear Unit |
加重 | 密度計算に適用される重み付けを指定します。
| String |
近傍サイズ | 密度計算に適用される検索範囲。 | Linear Unit |
フィールド (オプション) | 各フィーチャの値を示す 1 つ以上のフィールド。 値フィールドは、連続サーフェスを作成する地形上に分散する個数や数量です。 フィールドの値は数値である必要があります。 デフォルトでは、入力ポイント数の密度が常に計算されます。 | Field |
面積単位の係数 (オプション) | 出力密度値に使用される面積単位を指定します。 デフォルトの単位は、出力空間参照の単位に基づきます。
| String |
時間ステップ間隔 (オプション) | 時間ステップの期間を指定する値。 このパラメーターは、入力ポイントが時間対応であり、特定時点を表す場合にのみ使用できます。 時間ステップは、入力が時間対応である場合にのみ適用できます。 | Time Unit |
時間ステップの反復 (オプション) | 時間ステップの間隔が発生する頻度を指定する値。 このパラメーターは、入力ポイントが時間対応であり、特定時点を表す場合にのみ使用できます。 | Time Unit |
時間ステップの基準 (オプション) | 時間ステップを揃える基準時間を指定する日付。 デフォルト値は、1970 年 1 月 1 日 12:00 a.m. です。このパラメーターは、入力ポイントが時間対応であり、特定時点を表す場合にのみ使用できます。 | Date |
図
使用法
-
[密度の計算 (Calculate Density)] ツールは、単一入力としてポイント フィーチャを必要とします。
-
密度は、1 つ以上の count フィールドを使用して計算できます。 count フィールドは、各位置のインシデントの数を指定する数値フィールドです。 都市や高速道路などのフィーチャでは、人口または交通レーンの密度をそれぞれ計算するときに count フィールドが使用されます。 count フィールドを指定すると、ポイントの密度に加えて count フィールドの密度も計算されます。
-
解析のため、入力ポイントはビンに集約されます。 データを集約するには、ビン サイズを指定する必要があります。 デフォルトでは、出力結果の単位は平方キロメートルです。
-
入力ポイントは、指定したサイズと形状 (六角形または四角形) のビンに集約されます。 六角形に集約している場合、ビン サイズ d は各六角形の高さになり、生成される六角形の幅は、高さの 2 倍を 3 の平方根で除算した値になります。 四角形に集約している場合は、ビンのサイズは四角形の高さ (幅と同じ) になります。
-
ビン サイズより大きな近傍サイズを指定する必要があります。 近傍サイズは、対象フィーチャ (ビン) と同じ近傍内の入力フィーチャを検索するために使用されます。
近傍サイズの値が大きいほど、単純化された密度の出力が作成されます。 値が小さいほど、詳細を示す出力が作成されます。
近傍内にあるポイントだけが、密度の計算時に考慮されます。 特定のセルの近傍内にポイントがない場合、そのセルには値が割り当てられません。
-
密度の計算には、2 つの重み付けオプションがあります。[一様分布] オプションは、近傍内のすべての値を合計し、それらを面積で除算します。 [カーネル] オプションは、対象フィーチャからの距離によって近傍の値を重み付けし、各ポイントに滑らかなテーパ サーフェスを合わせるカーネル関数を適用します。
-
ポイントを含むビンの近傍内のエリアのみが返されます。
面積単位の係数単位がポイント間の距離に比べて小さい場合、出力値も非常に小さくなる可能性があります。 大きな値を得るには、大きな単位の面積単位の縮尺係数 (たとえば、[平方メートル] ではなく [平方キロメートル]) を使用します。
ビニングによる解析では、入力が投影されているか、出力座標系が投影座標系に設定されている必要があります。 データが投影座標系内になく、投影座標系を設定していない場合、解析するデータの範囲に基づいて投影法が使用されます。
密度値は常に浮動小数値になります。
-
[密度の計算 (Calculate Density)] ツールでは、時間ステップを使用して解析できます。 各時間ステップは、時間ステップ外のフィーチャとは切り離して解析されます。 時間ステップを使用するには、入力データを時間対応にし、任意の時点を時間で表す必要があります。 時間ステップを適用すると、出力フィーチャはフィールドで表した時間間隔になります。
時間ステップを使用して入力フィーチャを解析した場合、各時間ステップは、時間ステップ外部にあるフィーチャとは独立して解析されます。
[時間ステップの基準] パラメーターには、日時の値または日付のみの値を指定できますが、時間のみの値を指定することはできません。
次のフィールドが出力フィーチャに含められます。
フィールド名 説明 density
所定のポリゴンの密度。 これは、指定した単位の縮尺係数で返されます。
density_<fieldname>
所定のフィールドで重み付けされた密度。 これは、1 つ以上のフィールドが指定された場合のみ返されます。
start_date
時間ステップを指定した場合、出力ポリゴンは時間間隔を持ちます。 このフィールドは開始時間を表します。
end_date
時間ステップを指定した場合、出力ポリゴンは時間間隔を持ちます。 このフィールドは終了時間を表します。
以下を 1 つ以上行うことで、[密度の計算 (Calculate Density)] ツールのパフォーマンスを向上させることができます。
- 対象データのみが解析されるように、範囲環境を設定します。
- 大きいビンは、小さいビンよりパフォーマンスが高くなります。 使用すべきサイズがわからない場合は、大きいビンのプロトタイプから開始します。
- ビンと同様に、大きい時間ステップは小さい時間ステップよりパフォーマンスが高くなります。
- ビン サイズに対する近傍サイズの比率を減らします。 ビンのサイズの 3 倍の近傍サイズは、ビン サイズの 10 倍の近傍サイズよりパフォーマンスが高くなります。
- 解析が実行されているロケーションに対してローカルなデータを使用します。
ジオプロセシング ツールは、Spark を活用しています。 解析は、複数のコアを並列に使用して、デスクトップ コンピューター上で実行されます。 解析の実行方法の詳細については、「GeoAnalytics Desktop ツールに関する考慮事項」をご参照ください。
GeoAnalytics Desktop ツールを実行する場合、解析はデスクトップ コンピューター上で実行されます。 最適なパフォーマンスを実現するには、データがデスクトップ上で使用可能である必要があります。 ホスト フィーチャ レイヤーを使用している場合は、ArcGIS GeoAnalytics Server を使用することをお勧めします。 データがローカルに存在していない場合、ツールの実行時間が長くなります。 ArcGIS GeoAnalytics Server を使用して解析を実行する方法については、GeoAnalytics Tools をご参照ください。
次のツールを使用して、類似の解析を実行することもできます。
- GeoAnalytics Desktop ツールボックスまたは GeoAnalytics Server ツールボックスの [ポイントの集約 (Aggregate Points)] ツール。
- Spatial Analyst ツールボックス内の [ポイント密度 (Point Density)] ツール。
- Spatial Analyst ツールボックス内の [カーネル密度 (Kernel Density)] ツール。
- 標準フィーチャ解析ツールボックス内の [密度の計算 (Calculate Density)] ツール。
パラメーター
arcpy.geoanalytics.CalculateDensity(input_layer, out_feature_class, bin_type, bin_size, weight, neighborhood_size, {fields}, {area_unit_scale_factor}, {time_step_interval}, {time_step_repeat}, {time_step_reference})
名前 | 説明 | データ タイプ |
input_layer | 密度の計算に使用するポイント。 | Feature Layer |
out_feature_class | 計算された密度を含む新しいフィーチャクラス。 | Feature Class |
bin_type | 解析で使用されるビンの形状を指定します。
| String |
bin_size | 入力フィーチャの集約に使用するビンのサイズ。 正方形のビンを生成する場合、指定された数値と単位によって、正方形の高さと長さが決まります。 六角形の場合、指定された数値と単位によって、平行な 2 辺の距離が決まります。 | Linear Unit |
weight | 密度計算に適用される重み付けを指定します。
| String |
neighborhood_size | 密度計算に適用される検索範囲。 | Linear Unit |
fields [fields,...] (オプション) | 各フィーチャの値を示す 1 つ以上のフィールド。 値フィールドは、連続サーフェスを作成する地形上に分散する個数や数量です。 フィールドの値は数値である必要があります。 デフォルトでは、入力ポイント数の密度が常に計算されます。 | Field |
area_unit_scale_factor (オプション) | 出力密度値に使用される面積単位を指定します。 デフォルトの単位は、出力空間参照の単位に基づきます。
| String |
time_step_interval (オプション) | 時間ステップの期間を指定する値。 このパラメーターは、入力ポイントが時間対応であり、特定時点を表す場合にのみ使用できます。 時間ステップは、入力が時間対応である場合にのみ適用できます。 | Time Unit |
time_step_repeat (オプション) | 時間ステップの間隔が発生する頻度を指定する値。 このパラメーターは、入力ポイントが時間対応であり、特定時点を表す場合にのみ使用できます。 | Time Unit |
time_step_reference (オプション) | 時間ステップを揃える基準時間を指定する日付。 デフォルト値は、1970 年 1 月 1 日 12:00 a.m. です。このパラメーターは、入力ポイントが時間対応であり、特定時点を表す場合にのみ使用できます。 | Date |
コードのサンプル
次のスタンドアロン スクリプトで、CalculateDensity 関数を使用する方法を示します。
# Name: CalculateDensity.py
# Description: Calculate density using the count of points as well as the severity
# value of outbreaks by week.
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/HealthInfo.gdb"
# Enable time on the input features using an .lyrx file.
# To create the .lyrx file, add your layer to a map, open the layer properties
# and enable time. Then right-click the layer and select Share As Layer File.
inputLyrx = r'C:\data\outbreaks.lyrx'
# MakeFeatureLayer converts the .lyrx to features
outbreaksLayer = arcpy.management.MakeFeatureLayer(inputLyrx, "outbreaks_layer")
# ApplySymbologyFromLayer sets the time using the .lyrx file definition
arcpy.management.ApplySymbologyFromLayer(outbreaksLayer, inputLyrx)
# By default, the count of points will be used in addition to any other fields
# that are specified
fields = "Severity"
# Set the size of bins and neighborhood and the time step size
binSize = "1 Kilometers"
neighborhoodSize = "2 Kilometers"
timeStepInterval = "1 Weeks"
# Specify output info
out = "OutbreakDensity"
# Run Calculate Density
arcpy.gapro.CalculateDensity(outbreaksLayer, out, 'HEXAGON', binSize,
'UNIFORM', neighborhoodSize, fields,
'SQUARE_KILOMETERS', timeStepInterval)