トポ → ラスタ(Topo to Raster) (Spatial Analyst)
使用法
-
最適な結果が得られるのは、すべての入力データが同じ平面座標系に格納され、Z 単位が同じである場合です。非投影データ(緯度経度)も使用できますが、結果はそれほど正確でなく、特に高緯度で精度が低下します。
-
出力セル内に 1 つ以上の入力ポイントがある場合、[トポ → ラスタ(Topo to Raster)] は、内挿の平均値を使用します(セル内にある最初の 100 ポイントのみが対象となり、それ以外は無視されます)。アルゴリズムに対してポイントの数が多すぎる場合は、ポイント データセットのポイント数が多すぎることを示すエラーが生成されます。使用できるポイントの最大数は、NRows * NCols です。NRows は出力ラスタのロウの数を表し、NCols はカラムの数を表します。
-
入力フィーチャのタイプがコンターの場合、アルゴリズムは最初に、コンターの曲率に基づいて単純化されたサーフェスの形状を生成します。続いて、コンターを標高情報のソースとして生成します。コンターとコーナーが河川や尾根の信頼性の高い指標である大縮尺データでは、コンターが最適です。小さい縮尺では、コンターの頂点をデジタイズして入力ポイント フィーチャクラスとして使用すると、効果的でコストもかかりません。
-
網状の河川を表す場合や、アークを使用して河川の両側を表現すると、信頼性の高い結果が得られない場合があります。河川データは常にポイントまたはコンターのデータよりも優先されるため、各河川に沿った降下傾斜と矛盾する標高データ ポイントは無視されます。河川データは、地形情報を内挿に追加する強力な手段であるだけでなく、出力 DEM の品質を保証します。
-
[許容値 1] および [許容値 2] に設定する一般的な値は、次のとおりです。
- 縮尺が 1:100,000 のポイント データでは、5.0 および 200.0 を使用します。
- 最大縮尺が 1:500,000 の密度の低いポイント データでは、10.0 および 400.0 を使用します。
- コンターの間隔が 10 のコンター データでは、5.0 および 100.0 を使用します。
[許容値 2] は、[許容値 1] の 6 倍以上にする必要があります。
-
入力とパラメータを簡単に実験するには、[トポ → ラスタ(Topo to Raster)] ダイアログ ボックスを使用して出力パラメータ ファイルを作成します。このファイルは、任意のテキスト エディタで編集でき、[トポ → ラスタ(ファイルによる定義)(Topo to Raster by File)] ツールの入力として使用できます。
-
[トポ → ラスタ(Topo to Raster)] は、メモリを大量に消費するアプリケーションであるため、大きな出力ラスタは作成できません。大きな出力が必要な場合は、[MARGIN] パラメータを使用します。
構文
パラメータ | 説明 | データ タイプ |
in_topo_features topo_input |
Topo クラスは、サーフェス ラスタに内挿される Z 値を含む入力フィーチャを指定します。 Topo クラスへの入力には、次の 9 つのタイプを指定できます。TopoPointElevation、TopoContour、TopoStream、TopoSink、TopoBoundary、TopoLake、TopoCliff、TopoExclusion、および TopoCoast。
ポイントの標高、コンター、およびシンクの入力フィーチャ タイプでは、Z 値を格納するフィールドを指定できます。境界、湖、崖、海岸、除外、河川の入力タイプには、[フィールド] オプションはありません。 | TopoInput |
cell_size (オプション) |
作成する出力ラスタのセル サイズ。 環境設定で特定の値が指定されている場合は、その値を使用します。そうでない場合、セル サイズは、入力空間参照において、入力ポイント フィーチャの範囲の幅または高さ(どちらか短いほう)を 250 で割った値になります。 | Analysis Cell Size |
extent (オプション) |
Extent クラスは、出力ラスタ データセットの範囲を決定します。 内挿は X および Y の制限内で実行され、この範囲の外にあるセルは NoData になります。出力ラスタのエッジに沿って最適な内挿結果を得るには、X および Y の範囲を入力データの範囲よりも両側で少なくとも 10 セル分だけ小さくなるようにします。 Extent クラスの形式は、次のとおりです。
デフォルトの範囲は、入力フィーチャ データのすべての範囲で最大となる範囲です。 | Extent |
Margin margin (オプション) |
指定した出力範囲と境界を越えて内挿を行う距離(セル単位)。 値は 0 以上である必要があります。デフォルト値は 20 です。 Extent と TopoBoundary フィーチャ データセットが、入力データの制限範囲と同じである場合(デフォルト)、DEM のエッジに沿って内挿される値は隣接する DEM データとうまく一致しません。これは、これらの値を内挿するときに使用されるデータの量が、ラスタ内部で周囲をすべて入力データで囲まれているポイントに比べて半分しかないためです。Margin オプションを使用すると、これらの範囲外にある入力データを内挿に使用できます。 | Long |
minimum_z_value (オプション) |
内挿で使用する最小の Z 値。 デフォルトは、すべての入力値の最小値より 20 パーセント低い値です。 | Double |
maximum_z_value (オプション) |
内挿で使用する最大の Z 値。 デフォルトは、すべての入力値の最大値より 20 パーセント高い値です。 | Double |
enforce (オプション) |
適用する強制的な排水のタイプ。 強制的な排水のオプションを設定すると、すべてのシンクを除去して、水文学的に正しい DEM を作成できます。シンク ポイントが入力フィーチャ データで明示的に指定されている場合、これらのシンクは平滑化されません。
| String |
data_type (オプション) |
入力フィーチャ データの主な標高データ タイプ。
関連するタイプを選択することで、河川と尾根の生成中に使用される検索方法が最適化されます。 | String |
maximum_iterations (オプション) |
内挿を繰り返す最大回数。 繰り返しの回数は、0 より大きい値にする必要があります。デフォルトは 20 で、通常はコンターとライン データの両方に対して十分です。 値を 30 にすると、除去されるシンクが減少します。まれに、除去するシンクや設定する尾根や河川の数を増やす場合に、大きい値(45 〜 50)が有効な場合もあります。繰り返しの最大回数に達すると、各グリッドの解像度で繰り返しが終了します。 | Long |
roughness_penalty (オプション) |
粗さの尺度を表す二次導関数の二乗の積分。 粗さのペナルティは 0 以上である必要があります。主な入力データ タイプが CONTOUR の場合、デフォルトは 0 です。主なデータ タイプが SPOT の場合、デフォルトは 0.5 です。通常、これより大きな値は推奨されません。 | Double |
discrete_error_factor (オプション) |
離散化誤差ファクタは、入力データをラスタに変換するときに、スムージングの量を調整するために使用します。 0 より大きい値を指定する必要があります。通常の調整範囲は 0.25 〜 4 で、デフォルトは 1 です。値が小さいほどデータのスムージング量が少なくなり、値が大きいほどスムージング量が多くなります。 | Double |
vertical_standard_error (オプション) |
入力データの Z 値における確率的誤差の量。 値は 0 以上である必要があります。デフォルトは 0 です。 データに均一な分散の重大な確率的(系統的でない)垂直誤差がある場合、垂直方向標準誤差に小さい正の値を設定できます。この場合、垂直方向標準誤差をこれらの誤差の標準偏差に設定します。ほとんどの標高データセットでは垂直誤差を 0 に設定しますが、河川のライン データを持つポイント データをラスタ化する場合は、小さい正の値を設定して収束を安定させることができます。 | Double |
tolerance_1 (オプション) |
この許容値は、地表の排水に関する標高ポイントの精度と密度を反映します。 ポイント データセットの場合、許容値をデータの高さの標準誤差に設定します。コンター データセットの場合は、平均コンター間隔の 2 分の 1 を使用します。 値は 0 以上である必要があります。デフォルトは、データ タイプが CONTOUR の場合は 2.5、データ タイプが SPOT の場合は 0 です。 | Double |
tolerance_2 (オプション) |
この許容値は、非現実的に高いバリアによる排水の除去を回避します。 0 より大きい値を指定する必要があります。デフォルトは、データ タイプが CONTOUR の場合は 100、データ タイプが SPOT の場合は 200 です。 | Double |
out_stream_features (オプション) |
河川ポリライン フィーチャと尾根ライン フィーチャの出力ライン フィーチャクラス。 ライン フィーチャは、内挿プロセスの最初に作成されます。内挿にサーフェスの一般的な形状を与えます。既知の河川および尾根データと比較して排水と形状が正しいことを確認するために使用できます。 ポリライン フィーチャは、次のようにコード化されます。
| Feature Class |
out_sink_features (オプション) |
残留シンク ポイント フィーチャの出力ポイント フィーチャクラス。 これらは、シンク入力フィーチャ データに指定されていない、強制的な排水で除去されなかったシンクです。tolerance_1 と tolerance_2 の値を調整することで、残留シンクの数を減らすことができます。残留シンクは、強制的な排水のアルゴリズムで解決できなかった入力データ中のエラーを示している可能性があります。これは、わずかな標高のエラーを検出する有効な方法として使用できます。 | Feature Class |
out_diagnostic_file (オプション) |
使用されたすべての入力とパラメータ、および各解像度と繰り返しで除去されたシンクの数を一覧で示す出力診断ファイル。 | File |
out_parameter_file (オプション) |
使用されたすべての入力とパラメータの一覧を示す出力パラメータ ファイル。[トポ → ラスタ(ファイルによる定義)(Topo to Raster by File)] で使用して、内挿を再度実行できます。 | File |
profile_penalty (オプション) |
断面曲率の粗さのペナルティは、局所に適用するペナルティで、曲率全体の一部を置き換えるのに使用できます。 これにより、結果として高品質のコンター データを得ることができますが、低精度のデータとの収束において不安定になる可能性もあります。断面曲率なしには 0.0(デフォルト)、緩やかな断面曲率には 0.5、最大断面曲率には 0.8 を、それぞれ設定します。0.8 より大きな値は推奨できないため、使用しないでください。 | Double |
out_residual_feature (オプション) |
局所的な離散化誤差によって縮尺されたときの、すべての大きな標高残差の出力ポイント フィーチャクラス。 10 より大きいスケールされた残差はすべて、入力標高データと河川データにエラーがないことを確認するために検証する必要があります。スケールされた残差が大きいことは、入力標高データと河川ライン データとの間に競合があることを示します。このことは、自動の強制排水が不十分であることとも関係があります。これらの競合を解決するには、既存の入力データのエラーを最初にチェックして修正した後で、河川ラインおよび/またはポイント標高データを追加します。スケールされていない残差が大きいことは、通常、入力標高エラーを示します。 | Feature Class |
out_stream_cliff_error_feature (オプション) |
河川および崖のエラーが発生する可能性がある場所の出力ポイント フィーチャクラス。 河川に閉じたループ、分流、および崖を流れる河川(滝)がある場所を、ポイント フィーチャクラスから識別できます。崖の高い側および低い側と一致しない隣接セルを持つ崖も示されます。これは、方向が正しくない崖を的確に示す方法として使用できます。 ポイントは、次のようにコード化されます。
| Feature Class |
out_contour_error_feature (オプション) |
入力コンター データに関して発生の可能性があるエラーの出力ポイント フィーチャクラス。 出力ラスタで表されているようにコンター値の標準偏差の 5 倍を超える高さのバイアスがあるコンターは、このフィーチャクラスに報告されます。標高が異なる他のコンターと結合するコンターは、このフィーチャクラスではコード 1 でマークされます。これにより、コンター ラベル エラーを確実に識別できます。 | Feature Class |
戻り値
名前 | 説明 | データ タイプ |
out_surface_raster |
内挿された出力サーフェス ラスタ。 | Raster |
コードのサンプル
この例では、ポイント、ライン、およびポリゴン データから、水文学的に正しい TIFF サーフェス ラスタを作成します。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outTTR = TopoToRaster([TopoPointElevation([['spots', 'spot_meter']]),
TopoContour([['contours', 'spot_meter']]),
TopoCliff(['cliff'])], 60,
"#", "#", "#", "#", "NO_ENFORCE")
outTTR.save("C:/sapyexamples/output/ttrout.tif")
この例では、ポイント、ライン、およびポリゴン データから、水文学的に正しい GRID サーフェス ラスタを作成します。
# Name: TopoToRaster_Ex_02.py
# Description: Interpolates a hydrologically correct surface
# from point, line, and polygon data.
# 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
inPointElevations = TopoPointElevation([['spots.shp', 'spot_meter'],
['spots2.shp', 'elev']])
inBoundary = TopoBoundary(['boundary.shp'])
inContours = TopoContour([['contours.shp', 'spot_meter']])
inLake = TopoLake(['lakes.shp'])
inSinks = TopoSink([['sink1.shp', 'elevation'], ['sink2.shp', 'none']])
inStream = TopoStream(['streams.shp'])
inCliff = TopoCliff(['cliff.shp'])
inCoast = TopoCoast(['coast.shp'])
inExclusion = TopoExclusion(['ignore.shp'])
inFeatures = ([inPointElevations, inContours, inLake, inStream, inBoundary, inSinks, inCliff, inCoast, inExclusion])
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute TopoToRaster
outTTR = TopoToRaster(inFeatures)
# Save the output
outTTR.save("C:/sapyexamples/output/ttrout03")