サマリー
XYZ、XYZI、または GENERATE 形式で保存された 1 つ以上の ASCII ファイルから新しいフィーチャクラスへ 3D フィーチャをインポートします。
図
使用法
入力ファイルは、すべて同じ形式で、同じジオメトリ タイプである必要があります。
XYZ および XYZI 形式は、ヘッダー行をサポートし、3 つの連続する数字から始まる最初の行をポイント レコードの始点と見なします。いずれの形式もポイント、ライン、およびポリゴンを格納できますが、各ファイルには、1 つのシングルパート ラインまたはポリゴン フィーチャしか含めることができません。ポリゴン フィーチャは、最初と最後の頂点の座標が一致する閉じた形である必要があり、ラインが交差してはいけません。
XYZ ファイルは、x,y,z 座標を浮動小数点値として格納します。そこでは、各行は別個のポイント レコードを表します。XYZ 座標の後に英数字を使用できますが、これらは作成されるフィーチャクラスに転送されません。
XYZI ファイルは、x,y,z、および強度の計測値を格納します。強度値は、BLOB (バイナリ ラージ オブジェクト) フィールドにマルチパッチ出力として格納されます。
GENERATE 形式では、ヘッダー行がサポートされていませんが、各ポイントの ID と XYZ 座標が提供されます。必要に応じて、ファイルの最後の行が END キーワードで示されます。
id x y z id x y z . . END
GENERATE 形式は、1 ファイルあたり複数のフィーチャをサポートします。ラインおよびポリゴンの場合、END キーワードがフィーチャの終わりを示し、各フィーチャはシングルパート フィーチャである必要があります。1 行に 2 つの END キーワードがある場合は、ファイルの終わりを示します。
id x y z x y z x y z END id x y z x y z END END
構文
ASCII3DToFeatureClass_3d (input, in_file_type, out_feature_class, out_geometry_type, {z_factor}, {input_coordinate_system}, {average_point_spacing}, {file_suffix}, {decimal_separator})
パラメーター | 説明 | データ タイプ |
input [input,...] | XYZ、XYZI (LIDAR 強度付き)、または 3D GENERATE 形式のデータが格納された ASCII ファイルまたはフォルダーです。すべての入力ファイルは同じ形式である必要があります。フォルダーを指定すると、[ファイル接尾辞] パラメーターの指定が求められ、そこで指定した接尾辞と同じ拡張子を持つすべてのファイルが処理されます。 Windows エクスプローラーでフォルダーを選択して、パラメーターの入力ボックスにドラッグすると、ツール ダイアログ ウィンドウでフォルダーを指定することもできます。 | Folder; File |
in_file_type | フィーチャクラスに変換される ASCII ファイルの形式。
| String |
out_feature_class | このツールで生成されるフィーチャクラス。 | Feature Class |
out_geometry_type | 出力フィーチャクラスのジオメトリ タイプです。
| String |
z_factor (オプション) | Z 値に乗算する係数。これは通常、Z リニア単位から XY リニア単位に変換する場合に使用されます。デフォルトは 1 です。この場合、標高値は変更されません。 | Double |
input_coordinate_system (オプション) | 入力データの座標系です。デフォルトは [不明な座標系] です。指定した場合、出力は別の座標系に投影されることも、されないこともあります。これは、ジオプロセシング環境でターゲット フィーチャクラスの位置に対して座標系が定義されているかどうかに左右されます。 | Coordinate System |
average_point_spacing (オプション) | 入力ポイント間の平均平面距離です。このパラメーターは、出力ジオメトリをマルチポイントに設定した場合のみ使用できます。この機能は、ポイントをグループ化します。この値は、シェープの制限ごとのポイントと組み合わせて、ポイントをグループ化するときに使用される仮想タイル システムの作成時に使用されます。タイル システムの原点は、ターゲット フィーチャクラスのドメインに基づきます。ターゲット フィーチャクラスの横方向の単位で間隔を指定します。 | Double |
file_suffix (オプション) | 入力フォルダーからインポートするファイルの接尾辞。フォルダーが入力として指定されている場合は、このパラメーターが必要です。 | String |
decimal_separator (オプション) | 整数部と小数部を区別するためにテキスト ファイルで使用される小数記号。
| String |
コードのサンプル
ASCII3DToFeatureClass (ASCII 3D → フィーチャクラス) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
#Create spatial reference object using WKID
sr = arcpy.SpatialReference(32136)
arcpy.ASCII3DToFeatureClass_3d("masspntz.gen", "GENERATE", "elevation_points.shp",
"MULTIPOINT", z_factor=3.28,
input_coordinate_system=sr, average_point_spacing=2.5)
ASCII3DToFeatureClass (ASCII 3D → フィーチャクラス) の例 2 (スタンドアロン スクリプト)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
'''****************************************************************************
Name: ASCII3D_to_Feature_Class Example
Description: Creates a TIN surface using XYZI files in a folder and breaklines
imported from ASCII files.
****************************************************************************'''
# Import system modules`
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Define the spatial reference using the name
sr = arcpy.SpatialReference("Hawaii Albers Equal Area Conic")
#Create the elevation points
arcpy.ddd.ASCII3DToFeatureClass("Elevation Points", "XYZI",
"elevation_points.shp",
"MULTIPOINT", z_factor=3.28,
input_coordinate_system=sr,
average_point_spacing=2.5,
file_suffix="XYZ")
#Create the break lines
arcpy.ddd.ASCII3DToFeatureClass("brklines.gen", "GENERATE",
"breaklines.shp",
"POLYLINE", z_factor=3.28,
input_coordinate_system=sr)
arcpy.ddd.CreateTin("elevation_tin", sr,
[["breaklines.shp", "Shape", "hardline"],
["elevation_points.shp", "Shape", "masspoints"]],
"CONSTRAINED_DELAUNAY")
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
環境
ライセンス情報
- ArcGIS Desktop Basic: 次のものが必要 3D Analyst
- ArcGIS Desktop Standard: 次のものが必要 3D Analyst
- ArcGIS Desktop Advanced: 次のものが必要 3D Analyst