ASCII → ラスタ(ASCII to Raster) (変換)
サマリ
ラスタ データを表す ASCII ファイルをラスタ データセットに変換します。
使用法
入力ファイルは、ASCII 形式のテキスト ファイルです。
-
ASCII ファイルは、一連のキーワードを含むヘッダー情報の後に、行優先順でセル値が続く構造になっています。
ASCII ファイルの構造には 2 つの種類があります。原点は、左下側セルの左下隅の座標によって識別されるか、左下側セルの中心として識別されます。
通常、ファイルの形式は以下のとおりです。
NCOLS xxx NROWS xxx XLLCORNER xxx YLLCORNER xxx CELLSIZE xxx NODATA_VALUE xxx row 1 row 2 . . row n
キーワードの定義は以下のとおりです。
NCOLS と NROWS は、ASCII ファイルによって定義されるラスタのカラムの数とロウの数です。
XLLCORNER と YLLCORNER は左下側セルの左下隅の座標です。
XLLCENTER と YLLCENTER を使用して、原点を左下側セルの中心の座標で指定することもできます。
CELLSIZE はラスタのセル サイズです。
NODATA_VALUE は NoData セルを表す値です。
セル値はスペースで区切る必要があります。ASCII ファイルの各行はキャリッジ リターンで終わる必要はありません。ヘッダーの列の数によって、新しい行が始まる位置を指定します。
ASCII ラスタ ファイルの例を以下に示します。
NCOLS 480 NROWS 450 XLLCORNER 378922 YLLCORNER 4072345 CELLSIZE 30 NODATA_VALUE -32768 43 2 45 7 3 56 2 5 23 65 34 6 32 54 57 34 35 45 65 34 2 6 78 4 2 6 89 3 2 7 45 23 5 ...
-
NODATA_VALUE は、出力ラスタの NoData セルに割り当てられる、ASCII ファイル内の値です。この値は、通常、true の値が不明であるセル用に予約されています。出力ラスタの作成時には、システムによって生成される NoData の値が NODATA_VALUE の代わりに使用されます。「ラスタ データセットの NoData」では、ラスタ作成後に NoData の値を変更する方法について説明しています。
-
ファイルに格納されているセル値の数は行数に列数を掛けた数と等しくなければなりません。等しくない場合は、エラーが返されます。
-
出力のデータ タイプは、浮動小数点または整数のどちらかです。
出力ラスタが作成されたら、[投影法の定義(Define Projection)] ツールを使用して適切な座標系を設定します。
ピラミッド環境設定の [ピラミッド構築] の設定のみが使用されます。残りのピラミッド環境設定は、他のすべてのラスタ格納環境設定と共に無視されます。以降の手順で [ピラミッド構築(Build Pyramids)] ツールを使用して、ピラミッドの性質をさらに制御できます。
構文
パラメータ | 説明 | データ タイプ |
in_ascii_file |
変換対象の入力 ASCII ファイル | File |
out_raster | 作成される出力ラスタ データセット。 ジオデータベースに保存しない場合、TIFF ファイル形式には *.tif、ERDAS IMAGINE ファイル形式には *.img を指定します。Esri Grid ラスタ形式には拡張子を指定しません。 | Raster Dataset |
data_type (オプション) |
出力ラスタ データセットのデータ タイプ
| String |
コードのサンプル
ラスタ データを表す ASCII ファイルをラスタ データセットに変換します。
import arcpy
arcpy.ASCIIToRaster_conversion("c:/data/elevation.asc", "c:/output/elevation",
"INTEGER")
ラスタ データを表す ASCII ファイルをラスタ データセットに変換します。
# Name: ASCIIToRaster_Ex_02.py
# Description: Converts an ASCII file representing raster data to a raster
# dataset.
# Import system modules
import arcpy
# Set local variables
inASCII = "c:/data/elevation.asc"
outRaster = "c:/output/elevation02"
rasterType = "INTEGER"
# Execute ASCIIToRaster
arcpy.ASCIIToRaster_conversion(inASCII, outRaster, rasterType)