3D フィーチャクラス → ASCII (Feature Class Z To ASCII) (3D Analyst)

概要

ジェネレート、XYZ、またはプロファイル データを格納する ASCII テキスト ファイルに 3D フィーチャをエクスポートします。

使用法

  • [プロファイル] オプションは、折れ線グラフの生成に使用できるレコードに 3D ラインを変換する 2 列の ASCII ファイルを書き込みます。ソース フィーチャクラスの各ラインは個別のファイルに書き出され、そのファイルの名前にラインの一意の ID が追加されます。ASCII ファイルの各行には、ラインの開始位置から頂点 (D) までの距離とその頂点の標高がこの順序で含まれます。結果として生成される ASCII ファイルをグラフ アプリケーションに読み込むとき、最初の列を使用して X 軸が定義され、2 つ目の列を使用して Y 軸が定義されます。

    0 z1D1 z2D2 z3D3 z4
  • XYZ オプションは、x、y、および z 座標を浮動小数点値として書き込みます。そこでは、各行はポイント レコードを表します。

    x1 y1 z1x2 y2 z2x3 y3 z3x4 y4 z4
    メモ:

    ポイントおよびマルチポイント フィーチャは同一ファイルに書き出されますが、各ポリゴンおよびポリラインフィーチャは個別のテキストファイルに書き出され、その名前にフィーチャの ID が追加されます。マルチパート フィーチャの各部は、ファイル名でフィーチャの ID の後にそのパート番号が続く個別のファイルに書き込まれます。

  • ジェネレート形式は、ヘッダー行をサポートしていませんが、すべての入力フィーチャを 1 つのファイルに格納します。

    • ポイント フィーチャはそれぞれの ID および XYZ 座標とともに格納され、END キーワードは最後の行を示します。
      id1 x1 y1 z1id2 x2 y2 z2id3 x3 y3 z3id4 x4 y4 z4END
      メモ:

      元のフィーチャクラス内の同一レコードから生成されたマルチポイント フィーチャは同じ ID を共有します。

    • ラインおよびポリゴン フィーチャは END キーワードによって区切られ、END キーワードが 2 つ連続していればファイルの末尾であることを示します。
      id1x1 y1 z1x2 y2 z2x3 y3 z3x4 y4 z4END
      id2x1 y1 z1x2 y2 z2END
      END
      メモ:

      ポリゴン フィーチャの最初と最後の XYZ 座標は常に同じです。

構文

arcpy.3d.FeatureClassZToASCII(in_feature_class, output_location, out_file, {format}, {delimiter}, {decimal_format}, {digits_after_decimal}, {decimal_separator})
パラメーター説明データ タイプ
in_feature_class

3D ポイント、マルチポイント、ポリライン、またはポリゴンの各フィーチャクラスが ASCII ファイルにエクスポートされます。

Feature Layer
output_location

出力ファイルが書き込まれるフォルダー。

Folder
out_file

生成される ASCII ファイルの名前。

ラインまたはポリゴン フィーチャクラスを XYZ 形式にエクスポートすると、そのファイル名がベース名として使用されます。XYZ 形式はファイルにつき 1 つのラインまたはポリゴンのみをサポートするため、各フィーチャに一意のファイル出力が割り当てられます。マルチパート フィーチャの各パートも個別のファイルに書き出されます。このファイル名には各フィーチャの OID と、各ファイル名を一意にするために必要な追加の文字が付加されます。

String
format
(オプション)

ASCII ファイルの作成形式を指定します。

  • GENERATEジェネレート形式で出力を書き出します。これがデフォルトです。
  • XYZ入力フィーチャの XYZ 情報を書き出します。入力フィーチャの 1 つのラインまたはポリゴンに対して 1 つのファイルが作成されます。
  • PROFILE外部グラフ アプリケーションで使用できるライン フィーチャの断面図情報を書き出します。
String
delimiter
(オプション)

テキスト ファイル テーブルの列内のエントリの区切りを示す区切り文字を指定します。

  • SPACEフィールド値の区切りにスペースを使用します。これがデフォルトです。
  • COMMAフィールド値の区切りにカンマを使用します。小数点の記号がカンマの場合、このオプションは適用されません。
String
decimal_format
(オプション)

出力ファイルに格納される有効桁数を決定する方法を指定します。

  • AUTOMATIC不要な末尾のゼロを削除して、使用可能な精度を維持するのに必要な有効桁数が自動的に決定されます。これがデフォルトです。
  • FIXED有効桁数を [小数点以下の桁数] パラメーターで定義します。
String
digits_after_decimal
(オプション)

出力ファイルに書き込まれる浮動小数点値の小数点以下の桁数。このパラメーターは、[10 進表記] パラメーターが [指定された数] (Python では decimal_format=FIXED) に設定されている場合に使用されます。

Long
decimal_separator
(オプション)

整数部と小数部を区別する小数記号を指定します。

  • DECIMAL_POINTポイントが小数記号として使用されます。これがデフォルトです。
  • DECIMAL_COMMAカンマが小数記号として使用されます。
String

派生した出力

名前説明データ タイプ
derived_output

出力ファイルが書き込まれるフォルダー。

フォルダー、ファイル

コードのサンプル

FeatureClassZToASCII (3D フィーチャクラス → ASCII) の例 1 (Python ウィンドウ)

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

arcpy.env.workspace = "C:/data"
arcpy.FeatureClassZToASCII_3d("LidarPts.shp", "", "ASCII_LidarPts.txt",
                            "GENERATE", "COMMA", "FIXED", 6, "DECIMAL_POINT")
FeatureClassZToASCII (3D フィーチャクラス → ASCII) の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。

'''****************************************************************************
Name: FeatureClassZToASCII Example
Description: This script demonstrates how to use the
             FeatureClassZToASCII tool to create generate files for all
             z-aware point features in a given workspace.
****************************************************************************'''
import arcpy

try:
    # Set environment settings
    arcpy.env.workspace = 'C:/data'
    # List all points in the target workspace
    fcList = arcpy.ListFeatureClasses("*", "POINT")
    if fcList:
        # Set Local Variables
        outFolder = "C:/output"
        outFormat = "GENERATE"
        delimeter = "SPACE"
        decimal = "FIXED"
        digits = 3
        dec_sep = "DECIMAL_POINT"
        for fc in fcList:
            # Use Describe method to evaluate whether the feature class is z-aware
            desc = arcpy.Describe(fc)
            if desc.hasZ == True:
                # Define the output file name by replacing '.shp' with _ascii.txt
                outName = fc.replace('.shp', '') + "_ascii.txt"
                #Execute FeatureClassZToASCII_3d
                arcpy.FeatureClassZToASCII_3d(fc, outFolder, outName, outFormat, delimeter, decimal, digits, dec_sep)
    else:
        print("There are no feature classes in the " + env.workspace + " directory.")

except arcpy.ExecuteError:
    print(arcpy.GetMessages())
except Exception as err:
    print(err)

ライセンス情報

  • Basic: 次のものが必要 3D Analyst
  • Standard: 次のものが必要 3D Analyst
  • Advanced: 次のものが必要 3D Analyst

関連トピック