方法

ArcGIS Pro で Arcade を使用して 1 つの文字列から先頭のテキストを削除する

Last Published: January 30, 2024

サマリー

ArcGIS Pro では、Python 式または Arcade 式を使用して、フィールドの不要なテキスト文字列を含まない新しいフィールドを作成できます。 これは、解析において道路住所が必要ない住所レコードでよく見られます。 文字列から先頭のテキストを削除すると、データ管理や検索結果の最適化に使用できます。

この記事では、Python 式と Arcade 式を使用して、ArcGIS Pro の文字列から先頭のテキストを削除する例と手順について説明します。

次の図は、テキスト文字列レコードを含む ADDRESS フィールドを示しています。

ADDRESS フィールドを含む Schools_all 属性テーブル

手順

  1. コンテンツ ウィンドウでフィーチャクラスを右クリックし、属性テーブルをクリックして、フィーチャクラスの属性テーブルを開きます。
コンテンツ ウィンドウからフィーチャクラスの属性テーブルを開く
  1. 計算をクリックし、フィールド演算ツールを開きます。
Note:
Refer to ArcGIS Pro: Calculate Field (Data Management) for more information on the parameters in the Calculate Field tool.
  1. フィールド演算 (Calculate Field) ダイアログ ボックスで、以下のパラメーターを構成します。
  • Python 3 の場合:
    1. 入力テーブルでフィーチャクラスを選択します。
    2. フィールド名 (既存または新規) で、編集するフィールドを選択するか、新しいフィールドを作成します。 この例では、「PYTHONSPLITADDRESS」が作成されます。
    3. 式の種類で、Python 3 を選択します。
    4. 最初のテキスト ブロックに次のスクリプトを指定します。 「maxSplitParameter」は分割エレメントの数です。 たとえば、「maxSplitParameter」を 1 に設定すると、2 つのエレメントを含むリストが返されます。 「indexNumber」は、反復可能オブジェクト内の位置によって反復可能オブジェクトのエレメントを参照します。 たとえば、「indexNumber」を 1 に設定すると、2 番目のエレメントが返されます。
!<fieldName>!.strip().split(" ",<maxSplitParameter>)[<indexNumber>]

次のコード ブロックは、式の例です。

!ADDRESS!.strip().split(" ",1)[1]
  1. 確認をクリックして、式のテストを実行します。 式が有効な場合、OK をクリックします。
記入する必要があるパラメーターを示すフィールド演算ジオプロセシング ウィンドウ
  • Arcade 式の場合:
    1. 入力テーブルでフィーチャクラスを選択します。
    2. フィールド名 (既存または新規) で、編集するフィールドを選択するか、新しいフィールドを作成します。 この例では、「ARCADESPLITADDRESS」が作成されます。
    3. 式の種類で、Arcade を選択します。
    4. セクションで、次の Arcade 式を指定します。
      1. テキスト値内の文字のシーケンスを検索する変数を定義します。 この例では、「varName1」の名前は fstSpace です。
var <varName1> = find(' ',$feature.<fieldName>,<startPosition>)
  1. テキスト値の文字数をカウントする変数を定義します。 この例では、「varName2」の名前は strCount です。
var <varName2> = Count($feature.<fieldName>)
  1. 「varName1」と「varName2」の差を計算する変数を定義します。 この例では、「varName3」の名前は strDiff です。
var <varName3> = <varName2> - <varName1>
  1. 次のステートメントを指定して、テキスト値の末尾から指定した文字数を返します。
return right($feature.<fieldName, <varName3>)

次のコード ブロックは、完全な式の例です。

var fstSpace = Find(' ', $feature.ADDRESS, 0)
var strCount = Count($feature.ADDRESS)
var strDiff = strCount - fstSpace

return Right($feature.ADDRESS, strDiff)
  1. 確認をクリックして、式のテストを実行します。 式が有効な場合、OK をクリックします。
記入する必要があるパラメーターを示すフィールド演算ジオプロセシング ウィンドウ

以下の図は、Python 式と Arcade 式を使用して「ADDRESS」フィールドから先頭のテキストが削除され、Schools_all 属性テーブルに追加された「PYTHONSPLITADDRESS」フィールドと「ARCADESPLITADDRESS」フィールドを示しています。

2 つの新しいフィールドが追加された Schools_all 属性テーブル

記事 ID: 000029050

新しい問題や一般的な問題に対する通知とソリューションの受け取り

新しい AI チャットボットから、要約された回答とビデオソリューションを入手してください。

Esri Support アプリのダウンロード

関連情報

このトピックについてさらに調べる

ArcGIS エキスパートのサポートを受ける

テクニカル サポートへのお問い合わせ

Esri Support アプリのダウンロード

ダウンロード オプションに移動