Natural Neighbor (Spatial Analyst)
使用法
-
出力ラスタの周囲のセルのセル中心が、(入力ポイントによって定義された)凸包の外側に存在する場合、これらのセルには NoData 値が割り当てられます。入力ポイントがこれらの周囲のセルのいずれかの内部に存在し、セルの中心が凸包の外側に存在する場合も、セルには NoData 値が割り当てられます。
-
入力データセットには X、Y 座標が同じである位置に複数のポイントが存在することがあります。共通の位置にあるポイントの値が同じである場合、それは重複とみなされて出力には影響しません。値が異なる場合は、一致ポイントとみなされます。
このデータ条件の処理方法は各種内挿ツールによって異なることがあります。たとえば、最初に遭遇した一致ポイントが計算に使用されることも、最後に遭遇した一致ポイントが計算に使用されることもあります。そのため、出力ラスタ内のある位置に予想とは異なる値が出力される可能性があります。対策としては、このような一致ポイントを削除したデータを用意しておくことです。[Spatial Statistics] ツールボックスの [イベントの集計(Collect Events)] ツールは、データ内の一致ポイントを特定するのに役立ちます。
-
このツールの入力ポイントには、約 1500 万という制限があります。入力フィーチャクラスに含まれるポイント数が膨大(約 1500 万以上)になると、ツールが結果を作成できなくなる可能性があります。
この制限を回避するためには、調査領域を複数のセクションで処理し、結果をモザイク処理して 1 つの大きなラスタ データセットを作成します。セクション間に重なり合う部分があることを確認します。あるいは、テレイン データセット使用して、無数の計測ポイントによって構成されているポイントとサーフェスを格納して視覚化することもできます。
入力データは、地理座標系ではなく、投影座標系で作成することをお勧めします。
-
ArcGIS 3D Analyst エクステンションが利用できる場合、TIN データセットを使用する別のアプローチがあります。まず、ソース データから TIN を作成します。次に、[TIN → ラスタ(TIN To Raster)] ツールの [Natural Neighbors] オプションを使用して、作成された TIN をラスタに変換します。これは、ブレークラインまたは不規則な形状のデータ エリアが存在する場合に特に便利です。
構文
パラメータ | 説明 | データ タイプ |
in_point_features |
サーフェス ラスタとして内挿する Z 値を含む入力ポイント フィーチャ。 | Feature Layer |
z_field |
各ポイントの高さまたは大きさの値を保持するフィールド。 これは数値フィールドまたは、入力ポイント フィーチャが Z 値を含む場合は Shape フィールドです。 | Field |
cell_size (オプション) |
作成する出力ラスタのセル サイズ。 環境設定で特定の値が指定されている場合は、その値を使用します。そうでない場合、セル サイズは、入力空間参照において、入力ポイント フィーチャの範囲の幅または高さ(どちらか短いほう)を 250 で割った値になります。 | Analysis Cell Size |
戻り値
名前 | 説明 | データ タイプ |
out_raster |
内挿された出力サーフェス ラスタ。 | Raster |
コードのサンプル
この例では、ポイント シェープファイルを入力として、内挿したサーフェスを TIFF ラスタとして出力します。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outNaturalNeighbor = NaturalNeighbor("ozone_pts.shp", "ozone", 2000)
outNaturalNeighbor.save("C:/sapyexamples/output/nnout.tif")
この例では、ポイント シェープファイルを入力として、内挿したサーフェスを GRID ラスタとして出力します。
# Name: NaturalNeighbor_Ex_02.py
# Description: Interpolate a series of point features onto a
# rectangular raster using Natural Neighbor interpolation.
# 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
inPointFeatures = "ca_ozone_pts.shp"
zField = "ozone"
cellSize = 40000
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute NaturalNeighbor
outNatNbr = NaturalNeighbor(inPointFeatures, zField, cellSize)
# Save the output
outNatNbr.save("C:/sapyexamples/output/nnout02")