Spatial Analyst のライセンスで利用可能。
概要
カーネル関数を使用してポイントまたはポリライン フィーチャから単位面積ごとの値を計算し、各ポイントまたはポリラインに滑らかなテーパ サーフェスを合わせます。
図
使用法
[検索範囲] パラメーターの値が大きいほど、滑らかで単純化された密度のラスターが作成されます。値が小さいほど、詳細を示すラスターが作成されます。
近傍内にあるポイントまたはラインの一部だけが、密度の計算に考慮されます。特定セルの近傍内にポイントやライン セクションがない場合、そのセルには NoData が割り当てられます。
[人口フィールド] の非常に大きいか非常に小さい値によって、不自然に見える結果が得られることがあります。Population フィールドの平均が 1 よりも非常に大きい場合 (たとえば、都市の人口)、デフォルトの検索範囲が非常に小さくなることがあり、その結果、入力値の周囲のリングが小さくなります。Population フィールドの平均が 1 よりも非常に小さい場合、計算されたバンド幅が不当に大きく見えることがあります。そのような場合は、独自の検索範囲を入力できます。
[出力セル サイズ] は、数値で定義するか、既存のラスター データセットから取得できます。セル サイズがパラメーター値として明示的に指定されていない場合、[セル サイズ] 環境が指定されていれば、そこから取得されます。パラメーターのセル サイズも環境のセル サイズも指定されておらず、[スナップ対象ラスター] 環境が設定されている場合には、スナップ ラスターのセル サイズが使用されます。何も指定されていない場合、セル サイズは範囲の幅または高さ (どちらか短い方) を 250 で割って求められます。この範囲は環境で指定された [出力座標系] にあります。
セル サイズが数値によって指定されている場合、このツールは出力ラスターに対してこの値を直接使用します。
セル サイズがラスター データセットを使用して指定されている場合、パラメーターはセル サイズの値ではなくラスター データセットのパスを示します。データセットの空間参照が出力空間参照と同じである場合、解析ではラスター データセットのセル サイズが直接使用されます。データセットの空間参照が出力空間参照と異なる場合は、選択された [セル サイズ投影法] に基づいて投影されます。
ArcGIS 10.2.1 以降では、空間構成と入力ポイント数に基づいてデフォルトの検索範囲 (バンド幅) が計算されます。 この方法は、検索範囲が不当に大きくならないように、空間的な外れ値 (他の入力ポイントから非常に離れた入力ポイント) を修正します。
面積単位の係数単位がフィーチャ (フィーチャ タイプに応じて、ポイント間の距離またはライン セクションの長さ) に比べて小さい場合、出力値が小さくなる可能性があります。大きな値を得るには、大きな単位の面積単位の係数 (平方キロメートル対平方メートルなど) を選択します。
密度の計算は、正確な距離と面積計算に依存しています。ほとんどの場合、GEODESIC法の使用をお勧めします。正しい距離と面積を正確に維持する投影を使用してローカル エリアで解析を実行する場合は、PLANAR法が適切な場合があります。適切な投影法の決定については、地理座標系と投影座標系の詳細をご参照ください。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
KernelDensity(in_features, population_field, {cell_size}, {search_radius}, {area_unit_scale_factor}, {out_cell_values}, {method})
パラメーター | 説明 | データ タイプ |
in_features | 密度を計算する入力フィーチャ (ポイントまたはライン)。 | Feature Layer |
population_field | 各フィーチャの人口値を示すフィールド。値フィールドは、連続サーフェスを作成する地形上に分散する個数や数量です。 population フィールドの値は、整数値または浮動小数点値です。 フィールドのオプションとデフォルトの動作は以下のとおりです。
| Field |
cell_size (オプション) | 作成される出力ラスターのセル サイズ。 このパラメーターは、数値で定義するか、既存のラスター データセットから取得できます。セル サイズがパラメーター値として明示的に指定されていない場合、指定されていれば、環境のセル サイズ値が使用されます。そうでない場合は、追加のルールを使用して別の入力から計算されます。詳細については、使用方法をご参照ください。 | Analysis Cell Size |
search_radius (オプション) | 密度の計算対象となる検索範囲。単位は、出力空間参照の投影法の距離単位に基づきます。 たとえば、単位がメートルの場合、1 マイル近傍内のフィーチャをすべて含めるには、検索範囲を 1609.344 に設定します (1 マイル = 1609.344 メートル)。 デフォルトの検索範囲 (バンド幅) は、空間的な外れ値 (つまり、他のポイントから非常に離れているポイント) に強い Silverman's Rule of Thumb の空間的変異を使用して、その入力データセットに特化して計算されます。このアルゴリズムの説明については、上の使用上のヒントをご参照ください。 | Double |
area_unit_scale_factor (オプション) | 出力密度値の望ましい面積単位。 デフォルトの単位は、出力空間参照の距離単位に基づいて選択されます。密度の出力を変換する場合は、これを適切な単位に変更できます。線密度の値は長さと面積の両方の単位を変換します。 出力空間参照を指定しなかった場合、出力空間参照は入力フィーチャクラスと同じになります。デフォルトの出力密度単位は、出力空間参照の距離単位に基づいて次のように決定されます。出力の距離単位がメートルの場合、デフォルトの出力の面積密度単位はポイント フィーチャでは SQUARE_KILOMETERS、ポリライン フィーチャではキロメートル/平方キロメートルになります。出力の距離単位がフィートの場合、出力の面積密度単位は SQUARE_MILESに設定されます。 出力の距離単位がフィートまたはメートル以外の場合、出力の面積密度単位は SQUARE_MAP_UNITSに設定されます。つまり、出力の密度単位は出力空間参照の投影法の距離単位の平方になります。たとえば、出力の距離の単位がセンチメートルの場合、出力の面積密度の単位は SQUARE_MAP_UNITSになり、結果として平方センチメートルになります。出力の距離の単位がキロメートルの場合、出力の面積密度の単位は SQUARE_MAP_UNITSになり、結果として平方キロメートルになります。 利用可能なオプションとそれに対応する出力の密度単位は次のとおりです。
| String |
out_cell_values (オプション) |
出力ラスターの値が表す内容を指定します。
| String |
method (オプション) | 楕円体 (測地線) または平面地球 (平面) のどちらで最短パスを使用するかを指定します。データが、距離の計測に適さない座標系 (Web メルカトル、任意の地理座標系など) で格納されている場合や、解析が広い地理範囲にまたがる場合、測地法を使用することを強くお勧めします。
| String |
戻り値
名前 | 説明 | データ タイプ |
out_raster | 出力カーネル密度ラスター。 常に浮動小数点ラスターです。 | Raster |
コードのサンプル
KernelDensity (カーネル密度) の例 1 (Python ウィンドウ)
次の例では、ポイント シェープファイルから滑らかな密度のラスターを計算しています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outKDens = KernelDensity("rec_sites.shp", "NONE", 45, 1200, "SQUARE_KILOMETERS")
outKDens.save("C:/sapyexamples/output/kdensout")
KernelDensity (カーネル密度) の例 2 (スタンドアロン スクリプト)
次の例では、ポイント シェープファイルから滑らかな密度のラスターを計算しています。
# Name: KernelDensity_Ex_02.py
# Description: Calculates a magnitude per unit area from point or polyline
# features using a kernel function to fit a smoothly tapered
# surface to each point or polyline.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inFeatures = "rec_sites.shp"
populationField = "NONE"
cellSize = 60
searchRadius = 2500
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute KernelDensity
outKernelDensity = KernelDensity(inFeatures, populationField, cellSize,
searchRadius, "SQUARE_KILOMETERS")
# Save the output
outKernelDensity.save("C:/sapyexamples/output/kerneldout")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst