時空間カーネル密度 (Space Time Kernel Density) (Spatial Analyst)

サマリー

時間や深度 (標高) などの他のディメンションを含めるために、入力フィーチャの相対位置と相対強度の解析からカーネル密度の計算を拡張します。 結果として生成される出力から、複数のカーネル関数を使用して単位面積ごとの値を特定し、滑らかなテーパ サーフェスを各入力ポイントに適合させます。

[時空間カーネル密度 (Space Time Kernel Density)] の詳細

使用法

  • [高さフィールド] (Python では elevation_field) パラメーターと [時間フィールド] (Python では time_field) パラメーターの一方または両方に値を指定する必要があります。 このツールでは最初に、両方のパラメーターが必須として表示されますが、そのうちの一方に値を指定すると、もう一方がオプションになります。

    カーネル関数は、これらのパラメーターに指定した値に基づいて定義されます。 [高さフィールド] パラメーターに値を指定すると、方向 (z) 軸に沿ってカーネルが拡張されます。 [時間フィールド] パラメーターに値を指定すると、時間 (t) 軸に沿ってカーネルが拡張されます。 両方のパラメーターに値を指定すると、z 軸と t 軸に沿ってカーネルが拡張されます。

    これらのパラメーターのうち、いずれか一方にのみ値を指定した場合は、出力が 3 次元ラスターになります。 これらのパラメーターの両方に値を指定した場合は、出力が 4 次元ラスターになります。

  • [Population フィールド] (Python では population_field) パラメーターの値が非常に大きいか、非常に小さいと、不自然に見える結果が生成されることがあります。 Population フィールドの平均が 1 よりも非常に大きい場合 (たとえば、都市の人口)、デフォルトの検索範囲が非常に小さくなることがあり、その結果、入力値の周囲のリングが小さくなります。 Population フィールドの平均が 1 よりも非常に小さい場合、計算された検索範囲が不当に大きく見えることがあります。 このような場合は、カスタム検索範囲を指定することができます。

  • [セル サイズ] (Python では cell_size) パラメーターは、数値で定義することも、既存のラスター データセットから取得することもできます。 セル サイズがパラメーター値として指定されていない場合、セル サイズ環境が指定されていれば、セル サイズ環境から取得されます。 パラメーターのセル サイズも環境のセル サイズも指定されておらず、スナップ対象ラスター環境が設定されている場合には、スナップ対象ラスターのセル サイズが使用されます。 何も指定されていない場合、セル サイズは、範囲の幅または高さのうち、どちらか短い方を 250 で除算して求められます。この範囲は環境で指定された出力座標系にあります。

  • 数値を使用してセル サイズを指定した場合、出力ラスターではそれが直接使用されます。

    ラスター データセットを使用してセル サイズを指定した場合、パラメーターにはセル サイズの値ではなく、ラスター データセットのパスが表示されます。 データセットの空間参照が出力空間参照と同じであれば、そのラスター データセットのセル サイズが解析で直接使用されます。 データセットの空間参照が出力空間参照と異なる場合、指定した [セル サイズ投影法] の値に基づいて投影されます。

  • [結果の値] (Python では resultant_values) パラメーターには、出力ラスターの値が表す内容を指定します。 [密度] (Python では DENSITIES) を指定した場合、この値は、各セルの単位面積あたりのカーネル密度の値を表します。 [予測数] (Python では EXPECTED_COUNTS) を指定した場合、この値は、セル面積あたりのカーネル密度を表します。

  • 正しい距離と面積を正確に維持する投影法を使用してローカル縮尺で解析を実行する場合は、[方法] (Python では method) パラメーターの [平面] オプションが適しています。 地域的な縮尺または大縮尺で (たとえば、Web メルカトルや地理座標系を使用して) 解析を実行する場合は、[測地線] オプションが適しています。 この方法では、楕円体の曲率を考慮して、極と日付変更線の近くのデータを正確に処理します。

  • 近傍内にあるポイントだけが密度の計算で考慮されます。 特定セルの近傍内にポイントがない場合は、そのセルに NoData が割り当てられます。

  • NULL 値をサポートするデータ形式 (ファイル ジオデータベース フィーチャクラスなど) では、入力として使用された NULL 値は無視されます。

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

  • 参考文献:

    Härdle, W. K., Müller, M, Sperlich, S., and Werwatz, A. Nonparametric and semiparametric models (Vol. 1). Berlin: Springer, 2004.

    Hu, Y., Wang, F., Guin, C., and Zhu, H. "A spatio-temporal kernel density estimation framework for predictive crime hotspot mapping and evaluation." Applied geography, 99, 2018, 89-97.

    Nakaya, T., and Yano, K. "Visualising crime clusters in a space‐time cube: An exploratory data analysis approach using space time kernel density estimation and scan statistics." Transactions in GIS, 14(3), 2010, 223-239.

    Silverman, B. W. Density Estimation for Statistics and Data Analysis. New York: Chapman and Hall, 1986.

パラメーター

ラベル説明データ タイプ
入力ポイント フィーチャ

密度が計算される入力ポイント フィーチャ。

Feature Layer
Population フィールド

各フィーチャの Population 値を示すフィールド。 人口は、連続サーフェスを作成する地形上に分散する個数や数量です。

人口フィールドの値は、整数値または浮動小数点値です。

アイテムまたは特殊な値を使用せず、各フィーチャを 1 回だけカウントする場合は、None を使用します。

Field
高さフィールド
(オプション)

各フィーチャの高さ値を示すフィールド。

高さフィールドの値は、整数または浮動小数点にすることができます。

時間の経過に伴う 3D カーネル密度をサポートする場合は、空の値を使用します。

3D フィーチャでは、疑似フィールド (Shape.Z) がフィールド リストに追加されます。

Field
高さフィールドの単位
(オプション)

入力高さフィールドの値に使用される計測単位。 デフォルト値はメートルです。

適切な単位を使用して、[高さフィールド] パラメーターの値を表します。

  • インチインチが使用されます。
  • フィートフィートが使用されます。
  • ヤードヤードが使用されます。
  • US マイルUS マイルが使用されます。
  • 海里海里が使用されます。
  • ミリメートルミリメートルが使用されます。
  • センチメートルセンチメートルが使用されます。
  • メートルメートルが使用されます。
  • キロメートルキロメートルが使用されます。
  • デシメートルデシメートルが使用されます。
String
時間フィールド
(オプション)

各フィーチャの時間値を示すフィールド。

Field
セル サイズ
(オプション)

生成される多次元ラスター出力のセル サイズ。

この値は、数値で定義するか、既存のラスター データセットから取得することができます。 セル サイズがパラメーター値として指定されていない場合、環境のセル サイズの値が設定されていれば、その値が使用されます。設定されていない場合は、追加のルールを使用して別の入力から計算されます。 詳細については、ツールの使用方法をご参照ください。

Analysis Cell Size
検索範囲 (x および y)
(オプション)

密度の計算対象となる x-y 面の検索範囲。

使用する単位を定義します。 たとえば、単位がメートルの場合に、1 マイル近傍内のフィーチャをすべて含めるには、検索範囲を 1609.344 に設定します (1 マイル = 1609.344 メートル)。

Linear Unit
検索範囲 (z)
(オプション)

密度の計算対象となる z 方向の垂直検索距離。 この垂直距離は、z 軸に沿った上方向と下方向のフィーチャの検索に使用されます。

使用する単位を定義します。

Linear Unit
検索タイム ウィンドウ (t)
(オプション)

密度の計算対象となる時間の検索範囲。

使用する単位を定義します。

Time Unit
結果の値
(オプション)

出力ラスターの値が表す内容を指定します。

出力セルの値は指定のセル サイズにリンクされているため、結果のラスターは異なるセル サイズに合わせてリサンプリングすることができません。

  • 密度値は、各セルの単位面積あたりのカーネル密度の値の計算結果を表します。 これがデフォルトです。
  • 予測数値は、セル面積あたりのカーネル密度の値の計算結果を表します。
String
方法
(オプション)

平面地球 (平面) を使用するか楕円体 (測地線) の最短経路を使用するかを指定します。

  • 平面フィーチャが使用される平面距離。 これがデフォルトです。
  • 測地線フィーチャが使用される測地距離。
String
最小高さ
(オプション)

多次元ラスター出力に使用される高さの開始値。

Double
最大高さ
(オプション)

多次元ラスター出力に使用される高さの終了値。

Double
高さ間隔
(オプション)

多次元ラスター出力の各スライスの高さ間隔。

Double
高さ単位
(オプション)

多次元ラスター出力に使用される高さ間隔の単位を指定します。 デフォルトはメートルです。

  • インチインチが使用されます。
  • フィートフィートが使用されます。
  • ヤードヤードが使用されます。
  • US マイルUS マイルが使用されます。
  • 海里海里が使用されます。
  • ミリメートルミリメートルが使用されます。
  • センチメートルセンチメートルが使用されます。
  • メートルメートルが使用されます。
  • キロメートルキロメートルが使用されます。
  • デシメートルデシメートルが使用されます。
String
開始時間
(オプション)

多次元ラスター出力に使用される開始時間。

Date
終了時間
(オプション)

多次元ラスター出力に使用される終了時間。

Date
時間間隔
(オプション)

多次元ラスター出力の各スライスの時間間隔。

Double
時間間隔の単位
(オプション)

多次元ラスター出力に使用される時間間隔の単位を指定します。 デフォルトは日です。

  • 時間間隔の単位が秒になります。
  • 時間間隔の単位が分になります。
  • 時間時間間隔の単位が時間になります。
  • 時間間隔の単位が日になります。
  • 時間間隔の単位が週になります。
String

戻り値

ラベル説明データ タイプ
出力ラスター

クラウド ラスター形式 (.crf) での出力カーネル密度の多次元ラスター データセット。 現在、他の出力形式はサポートされていません。

常に浮動小数点ラスターです。

Raster

SpaceTimeKernelDensity(in_features, population_field, {elevation_field}, {elevation_field_unit}, {time_field}, {cell_size}, {kernel_search_radius_xy}, {kernel_search_radius_z}, {kernel_search_time_window}, {resultant_values}, {method}, {min_elevation}, {max_elevation}, {elevation_interval}, {elevation_unit}, {start_time}, {end_time}, {time_interval}, {time_interval_unit})
名前説明データ タイプ
in_features

密度が計算される入力ポイント フィーチャ。

Feature Layer
population_field

各フィーチャの Population 値を示すフィールド。 人口は、連続サーフェスを作成する地形上に分散する個数や数量です。

人口フィールドの値は、整数値または浮動小数点値です。

アイテムまたは特殊な値を使用せず、各フィーチャを 1 回だけカウントする場合は、'' を使用します。

Field
elevation_field
(オプション)

各フィーチャの高さ値を示すフィールド。

高さフィールドの値は、整数または浮動小数点にすることができます。

時間の経過に伴う 3D カーネル密度をサポートする場合は、'' を使用します。

3D フィーチャでは、疑似フィールド (Shape.Z) がフィールド リストに追加されます。

Field
elevation_field_unit
(オプション)

入力高さフィールドの値に使用される計測単位。 デフォルト値はメートルです。

適切な単位を使用して、elevation_field パラメーターの値を表します。

  • INCHインチが使用されます。
  • FOOTフィートが使用されます。
  • YARDヤードが使用されます。
  • MILE_USUS マイルが使用されます。
  • NAUTICAL_MILE海里が使用されます。
  • MILLIMETERミリメートルが使用されます。
  • CENTIMETERセンチメートルが使用されます。
  • METERメートルが使用されます。
  • KILOMETERキロメートルが使用されます。
  • DECIMETERデシメートルが使用されます。
String
time_field
(オプション)

各フィーチャの時間値を示すフィールド。

Field
cell_size
(オプション)

生成される多次元ラスター出力のセル サイズ。

この値は、数値で定義するか、既存のラスター データセットから取得することができます。 セル サイズがパラメーター値として指定されていない場合、環境のセル サイズの値が設定されていれば、その値が使用されます。設定されていない場合は、追加のルールを使用して別の入力から計算されます。 詳細については、ツールの使用方法をご参照ください。

Analysis Cell Size
kernel_search_radius_xy
(オプション)

密度の計算対象となる x-y 面の検索範囲。

使用する単位を定義します。 たとえば、単位がメートルの場合に、1 マイル近傍内のフィーチャをすべて含めるには、検索範囲を 1609.344 に設定します (1 マイル = 1609.344 メートル)。

Linear Unit
kernel_search_radius_z
(オプション)

密度の計算対象となる z 方向の垂直検索距離。 この垂直距離は、z 軸に沿った上方向と下方向のフィーチャの検索に使用されます。

使用する単位を定義します。

Linear Unit
kernel_search_time_window
(オプション)

密度の計算対象となる時間の検索範囲。

使用する単位を定義します。

Time Unit
resultant_values
(オプション)

出力ラスターの値が表す内容を指定します。

出力セルの値は指定のセル サイズにリンクされているため、結果のラスターは異なるセル サイズに合わせてリサンプリングすることができません。

  • DENSITIES値は、各セルの単位面積あたりのカーネル密度の値の計算結果を表します。 これがデフォルトです。
  • EXPECTED_COUNTS値は、セル面積あたりのカーネル密度の値の計算結果を表します。
String
method
(オプション)

平面地球 (平面) を使用するか楕円体 (測地線) の最短経路を使用するかを指定します。

  • PLANARフィーチャが使用される平面距離。 これがデフォルトです。
  • GEODESICフィーチャが使用される測地距離。
String
min_elevation
(オプション)

多次元ラスター出力に使用される高さの開始値。

Double
max_elevation
(オプション)

多次元ラスター出力に使用される高さの終了値。

Double
elevation_interval
(オプション)

多次元ラスター出力の各スライスの高さ間隔。

Double
elevation_unit
(オプション)

多次元ラスター出力に使用される高さ間隔の単位を指定します。 デフォルトはメートルです。

  • INCHインチが使用されます。
  • FOOTフィートが使用されます。
  • YARDヤードが使用されます。
  • MILE_USUS マイルが使用されます。
  • NAUTICAL_MILE海里が使用されます。
  • MILLIMETERミリメートルが使用されます。
  • CENTIMETERセンチメートルが使用されます。
  • METERメートルが使用されます。
  • KILOMETERキロメートルが使用されます。
  • DECIMETERデシメートルが使用されます。
String
start_time
(オプション)

多次元ラスター出力に使用される開始時間。

Date
end_time
(オプション)

多次元ラスター出力に使用される終了時間。

Date
time_interval
(オプション)

多次元ラスター出力の各スライスの時間間隔。

Double
time_interval_unit
(オプション)

多次元ラスター出力に使用される時間間隔の単位を指定します。 デフォルトは日です。

  • SECOND時間間隔の単位が秒になります。
  • MINUTE時間間隔の単位が分になります。
  • HOUR時間間隔の単位が時間になります。
  • DAY時間間隔の単位が日になります。
  • WEEK時間間隔の単位が週になります。
String

戻り値

名前説明データ タイプ
out_raster

クラウド ラスター形式 (.crf) での出力カーネル密度の多次元ラスター データセット。 現在、他の出力形式はサポートされていません。

常に浮動小数点ラスターです。

Raster

コードのサンプル

SpaceTimeKernelDensity の例 1 (Python ウィンドウ)

次の例では、シェープファイルを使用して、平滑化された時系列カーネル密度を計算しています。

from arcpy import env  
from arcpy.sa import * 

env.workspace = "C:/sapyexamples/data" 
STKD_out_raster = SpaceTimeKernelDensity("WOD_subset.shp", "Salinity", "Z", "Meter",
                                         "Time", "0.001", resultant_values="Densities",
                                         method="Planar", elevation_unit="Meter")  

STKD_out_raster.save("C:/sapyexamples/output/STKD_out.crf")
SpaceTimeKernelDensity の例 2 (スタンドアロン スクリプト)

次の例では、多次元データセットを使用して、平滑化された時系列カーネル密度を計算しています。

## Name: SpaceTimeKernelDensity_Ex_standalone.py  
## Description: Calculate spatial temporal salinity concentration using a multidimensional dataset 
## Requirements: Spatial Analyst Extension 
 
## Import system modules 
import arcpy  
from arcpy import env   
from arcpy.sa import *

## Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
 
## Set environment settings 
env.workspace = r" C:\STKD_Test"
# To allow overwriting outputs change overwriteOutput option to True. 
env.overwriteOutput = False 
  
## Set local variables 
in_features = "WOD_subset"  
Population_Field = "Salinity"  
Elevation_Field = "Z"  
Elevation_Field_Unit = "Meter"  
Time_Field = "Time"  
Cell_Size = "30"  
Resultant_values = "Densities"  
Method = "Planar" 
Elevation_Unit = "Meter"  
  
## Execute: Space Time Kernel Density  
STKD_out_raster = SpaceTimeKernelDensity(in_features, Population_Field,   
                                Elevation_Field, Elevation_Field_Unit,   
                                Time_Field, Cell_Size,   
                                resultant_values=Resultant_values,   
                                method=Method, 
                                elevation_unit=Elevation_Unit) 
  
## Save the output 
STKD_out_raster.save("STKD_test.crf")

関連トピック