ASCII 3D → フィーチャクラス(ASCII 3D to Feature Class) (3D Analyst)
サマリ
XYZ、XYZI、または GENERATE 形式で保存された 1 つ以上の ASCII ファイルから新しいフィーチャクラスへ 3D フィーチャをインポートします。
図
使用法
入力ファイルは、すべて同じ形式で、同じジオメトリ タイプである必要があります。
XYZ および XYZI 形式は、ヘッダー行をサポートし、3 つの連続する数字から始まる最初の行をポイント レコードの始点と見なします。どちらの形式も、サポートされるすべてのジオメトリ タイプを同じ方法で格納し、1 ファイルあたり、1 つのシングルパート ライン フィーチャまたはシングルパート ポリゴン フィーチャのみをサポートします。
注意:XYZ または XYZI ファイルに、1 つのシングルパート ライン フィーチャまたはシングルパート ポリゴン フィーチャのみを格納できます。ポリゴンは、最初と最後の頂点の座標が一致する閉じた形である必要があり、ラインが交差してはいけません。
XYZ ファイルは、x、y、および z 座標を浮動小数点値として格納します。そこでは、各行は別個のポイント レコードを表します。XYZ 座標の後に英数字を使用できますが、これらは作成されるフィーチャクラスに転送されません。
XYZI ファイルは、x、y、z、および強度の計測値を格納します。強度値は、BLOB(バイナリ ラージ オブジェクト)フィールドにマルチパッチ出力として格納されます。
注意:ASCII ファイルが XYZI 形式であっても、強度の計測値が必要でない場合は、XYZ を選択します。ファイルの読み込み時に強度値がスキップされます。
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
注意:ポリゴンは、時計回りで自己交差していないポリゴンで、閉じている(最初と最後の頂点が一致する)必要があります。これらの条件のいずれかを満たしていない場合、出力ポリゴンは無効になります。[ジオメトリのチェック(Check Geometry)] ツールを使用して、作成されたフィーチャの整合性をチェックできます。また、[ジオメトリの修正(Repair Geometry)] ツールを使用して、エラーの修正ができます。
構文
パラメータ | 説明 | データ タイプ |
input [input,...] |
XYZ、XYZI(LIDAR 強度付き)、または 3-D GENERATE 形式のデータが格納された ASCII ファイルまたはフォルダです。フォルダを指定すると、[ファイル接尾辞] パラメータの指定が求められ、そこで指定した接尾辞と同じ拡張子を持つすべてのファイルが使用されます。ファイルが複数ある場合は、すべて同じ形式である必要があります。 | Folder; File |
in_file_type | 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 (オプション) |
入力ポイント間の平均平面距離です。このパラメータは、出力ジオメトリを MULTIPOINT に設定した場合のみ使用できます。その機能は、ポイントをグループ化することです。この値は、シェープの制限ごとのポイントと組み合わせて、ポイントをグループ化するときに使用される仮想タイル システムの作成時に使用されます。タイル システムの原点は、ターゲット フィーチャクラスのドメインに基づきます。ターゲット フィーチャクラスの横方向の単位で間隔を指定します。 | Double |
file_suffix (オプション) |
入力フォルダからインポートするファイルの接尾辞。フォルダが入力として指定されている場合は、このパラメータが必要です。 | String |
decimal_separator (オプション) |
整数部と小数部を区別するためにテキスト ファイルで使用される小数記号。
| String |
コードのサンプル
次のサンプルは、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)
次のサンプルは、スタンドアロン 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)