ArcGis 土地空間「1 つのマップ」充填操作スキル (4) ゼロ プログラミングの基礎 バッチでフィールドを追加し、フィールド属性を設定する

      テーブルやフィーチャクラス テーブル、フィーチャ レイヤーや属性テーブルを持つラスターにフィールドを追加し、フィールド属性を設定することは、データを構築または処理するときによく使用される操作であり、これを実現する方法は数多くあります。

1. フィールドを 1 つずつ追加する一般的な操作

1. 属性テーブルを開き、フィールドを追加します。

2.フィールド ツールを使用してフィールドを追加するか、バッチで一括追加します。

3.ファイル ジオデータベースのフィーチャクラス プロパティを変更します。

      上記の一般的な方法は、フィールドがそれほど多くない場合の作業要件を満たすことができます。現在、さまざまな業界で行われている土地空間の「一枚地図」報告では、フィールド値が多く、同じフィールドでも階層が異なると属性が異なるため、上記の従来手法は特に適用できない。

2. フィールドを一括で追加(変更)し、フィールドのプロパティを設定する

ArcGis での Python プログラミングに慣れている兄貴にとって、バッチでフィールドを追加したり、フィールド属性を設定したりするのは非常に幼稚です。プログラミングの基礎がゼロの場合は、Excel と単純な AddField()/AlterField() 関数を組み合わせて、バッチでフィールドを追加 (変更) し、フィールド プロパティを設定することもできます。AddField()を例に挙げると、技術要件のフィールド属性テーブルを最大限に活用して一括フィールド追加を実現します。

1.AddField()関数

構文: arcpy.AddField_management(in_table,field_name,field_type,{field_precision},{field_scale},{field_length},{field_alias},{field_is_nullable},{field_is_required},{field_domain})。このうち、in_table 入力テーブル、field_name フィールド名、field_type フィールド タイプは必須パラメータです。他のパラメータはフィールドの説明であり、オプションです。field_length=100 などの名前付きパラメータを使用することをお勧めします。

パラメータ

説明する

データの種類

in_table

指定されたフィールドを追加する入力テーブル。フィールドは既存の入力テーブルに追加され、新しい出力テーブルは作成されません。フィールドは、ArcSDE フィーチャクラス、ファイルまたはパーソナル ジオデータベースのフィーチャクラス、カバレッジ、シェープファイル、ラスター カタログ、スタンドアロン テーブル、属性テーブルを持つラスター、レイヤーなどに追加できます。

モザイク レイヤー;ラスター カタログ レイヤー;ラスター レイヤー;テーブル ビュー

フィールド名

入力テーブルに追加するフィールドの名前。

フィールドタイプ

新しいフィールドを作成するときに使用するフィールド タイプ。

  • TEXT —名前またはその他のテキストのプロパティ。
  • FLOAT —指定された範囲内の 10 進数値を含む数値。
  • DOUBLE —指定された範囲内の 10 進数値を含む数値。
  • SHORT —小数値を含まない指定範囲内の数値、エンコードされた値。
  • LONG —小数値を含まない、指定された範囲の数値。
  • DATE —日付および/または時刻。
  • BLOB —画像またはその他のマルチメディア。
  • RASTER —ラスター イメージ。
  • GUID —GUID 値

フィールド精度

(オプション)

フィールドに格納できるビット数を記述します。小数点のどちら側にあるかに関係なく、すべての桁がカウントされます。入力テーブルがパーソナル ジオデータベースまたはファイル ジオデータベースの場合、フィールド精度の値は無視されます。

長さ

フィールドスケール

(オプション)

フィールドに保存できる小数点以下の桁数を設定します。このパラメーターは、float および double データ フィールド タイプでのみ使用できます。入力テーブルがパーソナル ジオデータベースまたはファイル ジオデータベースの場合、フィールドの 10 進値は無視されます。

長さ

フィールドの長さ

(オプション)

追加するフィールドの長さ。フィールドの各レコードに許可される最大文字数を設定します。このオプションは、テキストまたは BLOB タイプのフィールドでのみ使用できます。

長さ

フィールドエイリアス

(オプション)

フィールド名に割り当てる別の名前。この名前は、暗号的なフィールド名にわかりやすい名前を付けるために使用されます。フィールド エイリアス パラメーターは、ジオデータベースとカバレッジにのみ適用されます。

field_is_nullable

(オプション)

関連する属性情報が存在しない地理的フィーチャ。これらは、ジオデータベースのフィールドでのみサポートされるゼロまたは空のフィールドとは異なります。

  • NON_NULLABLE —フィールドでは NULL 値は許可されません。
  • NULLABLE —フィールドでは null 値が許可されます。これがデフォルトの設定です。

ブール値

フィールドは必須項目です

(オプション)

作成するフィールドがテーブルに必須かどうかを指定します。サポートされるのはジオデータベース内のフィールドのみです。

  • NON_REQUIRED —フィールドは必須ではありません。これがデフォルトの設定です。
  • REQUIRED —このフィールドは必須です。必須フィールドは永続的であり、削除できません。

ブール値

フィールドドメイン

(オプション)

ジオデータベース内のテーブル、フィーチャクラス、またはサブタイプを制約するために使用される特定のプロパティの許容値。既存のドメインの名前をフィールドに適用するには、その名前を指定する必要があります。

次の点に注意してください。

  • フィールド長パラメータは、テキスト型のフィールドでのみ使用できます。長さが指定されていない場合、長さはデフォルトの 255 になります。
  • シェープファイルはフィールド エイリアスをサポートしていないため、フィールド エイリアスをシェープファイルに追加できません。
  • フィールドの精度とスケールは、フィールドに格納できるデータの最大サイズと精度を表します。精度はフィールドに格納できる桁数を表し、スケールは float および double フィールドの小数点以下の桁数を表します。たとえば、フィールド値が 54.234 の場合、scale=3、precision=5 になります。
  • ジオデータベース フィーチャクラスまたはテーブルに新しいフィールドを作成する場合、フィールドのタイプは指定できますが、精度と縮尺は指定できません。ダイアログでは精度またはスケールの値を追加できますが、実行中は無視されます。

2. 予備的なアイデア

技術要件のフィールド属性テーブルと Excel のフィールド処理関数を最大限に活用し、技術要件のフィールド テーブルを AddField() ステートメントとして記述します。例: arcpy.AddField_management(“GLZXX”,“LC”, 「フロート」、1、15、「走行距離」)。

3. 運用プロセス

(1) 要素属性データテーブルを Excel テーブルにコピーし、field_type —name またはその他のテキスト特性のフィールド属性 Char を TEXT に置き換え、入力テーブル、数字、小数点以下の桁数およびその他の列を追加し、順序に従って調整します。 AddField ステートメントのパラメータ フォーム

(2) 表に式 =I2:O12 を入力し、F9 キーを押すと、二重引用符で囲まれセミコロンで区切られた文字列が生成されます。

(3)将分号“;”作为分隔符执行数据分列,复制——选择性粘贴——转置。使用连接字符串公式="arcpy.AddField_management("&A16&")",写成标准语法。

(4)复制生成的字符串,粘贴到ArcGis中的Python窗口,回车。

おすすめ

転載: blog.csdn.net/heroyuan2011/article/details/126226847