スライス (Slice) (3D Analyst)

Spatial Analyst のライセンスで利用可能。

3D Analyst のライセンスで利用可能。

概要

入力セルの値の範囲を、等間隔/等面積となるゾーンにスライスまたは再分類するか、自然分類に基づいてスライスまたは再分類します。

使用法

  • [スライス (Slice)] は、正規分布しているデータで最適に機能します。使用する入力ラスター データが偏っていると、予想または指定したクラスの一部が出力結果に含まれない場合があります。

  • スライスの方法に [等面積] を使用する場合は、必ずしもすべての出力ゾーン (クラス) でセルの数が等しくなるとは限らず、近い値にすらならない場合があります。これは、入力値の性質と指定したゾーンの数に基づく本質的な結果です。結果が望ましくない場合は、ゾーンの数を減らすか、統計的な変換 (たとえば、対数や平方根など) を入力データセットに適用して、もう一度試すことができます。

構文

arcpy.3d.Slice(in_raster, out_raster, number_zones, {slice_type}, {base_output_zone})
パラメーター説明データ タイプ
in_raster

再分類対象の入力ラスター。

Raster Layer
out_raster

出力再分類ラスター。

出力は常に整数タイプになります。

Raster Dataset
number_zones

入力ラスターを再分類するゾーンの数。

スライスの方法が [等面積] の場合は、それぞれのゾーンにほぼ同じ数のセルが含まれるように、定義した数のゾーンが出力ラスターに生成されます。

[等間隔] を使用する場合は、それぞれのゾーンに出力ラスターで等しい値の範囲が含まれるように、定義した数のゾーンが出力ラスターに生成されます。

[自然分類] を使用する場合は、それぞれのゾーンにクラスの閾値で決定した数のセルが含まれるように、定義した数のゾーンが出力ラスターに生成されます。

Long
slice_type
(オプション)

入力ラスターの値を切り直す方法。

  • EQUAL_INTERVAL入力値の範囲を決定し、その範囲を指定した数の出力ゾーンに分割します。切り直された出力ラスターの各ゾーンには、端からの範囲が同じである入力セル値が含まれます。これがデフォルトです。
  • EQUAL_AREA入力値は、各ゾーンに含まれるセルの数が同じになるように、指定した数の出力ゾーンに分割されます。各ゾーンは、ほぼ同じ面積になります。
  • NATURAL_BREAKSデータに内在する自然なグループに基づいてクラスを分割します。近い値を最適にグループ化してクラス間の差を最大化するようにクラス閾値を選択することで、分割ポイントが決定されます。セル値は、データ値が比較的大きく変化する部分で境界が設定されているクラスに分割されます。
String
base_output_zone
(オプション)

出力ラスター データセットの最小のゾーン値を定義します。

デフォルト値は 1 です。

Long

コードのサンプル

Slice (スライス) の例 1 (Python ウィンドウ)

入力ラスターを、データに内在する自然なグループに基づいて 5 つのクラスに再分類します。

import arcpy
from arcpy import env  
env.workspace = "C:/data"
arcpy.Slice_3d("elevation", "c:/output/elevslice", 5, "NATURAL_BREAKS")
Slice (スライス) の例 2 (スタンドアロン スクリプト)

入力ラスターを、データに内在する自然なグループに基づいて 10 のクラスに再分類します。

# Name: Slice_3d_Ex_02.py
# Description: Slices a range of values of the input cells of a raster by
#    zones of equal interval or equal area.
# Requirements: 3D Analyst Extension

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inRaster = "elevation"
outRaster = "C:/output/outslice"
numberZones = 10
baseOutputZone = 5

# Execute Slice
arcpy.Slice_3d(inRaster, outRaster, numberZones, "NATURAL_BREAKS", 
               baseOutputZone)

ライセンス情報

  • Basic: 次のものが必要 3D Analyst または Spatial Analyst
  • Standard: 次のものが必要 3D Analyst または Spatial Analyst
  • Advanced: 次のものが必要 3D Analyst または Spatial Analyst

関連トピック