7 演算と解析
7.2 フィールド演算
55
56
5. 他フィールドの値を利用する場合、[フィールド(条件式、コードブロック作成用)]からフィールド をダブルクリックします。値を直接入力したり、その他の演算子や関数を組み入れて入力すること も可能です。例えば、2つの文字列フィールドの値を連結するには以下のように『+』演算子を使用 します。
値を入力
(文字列の場合は『”』で囲むこと)
ダブルクリックで追加
値の連結も可能
(『+』は入力する)
パターン①:値を直接入力する場合
パターン②:既存のフィールドの値を設定する場合
パターン③:既存のフィールドの値を組み合わせて設定する場合
57
条件式に Cal ファイルを指定する方法
次に、インストール時に同梱される計算式(Cal ファイル)を読み込んでフィールド演算を実行する 手順を示します。
高頻度で使用されるような処理に関してはCalファイルとして作成したサンプルをインストールフォ ルダ/bin/scriptに準備しています(『表.Calファイルとその演算内容』参照)。
ここに準備されたCal ファイルを使用することでファイルに記述された計算式を利用してフィールド 演算を実行することができます。
1. メニューバーより、[演算と解析] - [フィールド演算] を選択すると [フィールド演算] ウィンドウ が起動します。
2. [入力フィーチャ レイヤ] から、フィールド演算を実行する対象のレイヤを選択します。コンテン
ツビュー内のレイヤから選択可能です。
3. [対象フィールド] に、2 で選択した[入力フィーチャ レイヤ]が持つフィールドの一覧が表示され
るので、演算対象のフィールドを選択します。
4. [読み込み]ボタンを押します。目的の処理についてのCalファイルを選択します。
[コードブロック]にはPython関数の処理内容が読み込まれ、[条件式]には[コードブロック]の関数
の呼び出し(関数名、引数)が自動的に入力されます。
5. [条件式]でのPython関数の呼び出しで引数が記述されている場合は、[コードブロック]内の引
数の欄で確認して、[条件式]の引数を目的の処理に合わせて変更してください。
6. [OK]ボタンを押してフィールド演算を実行します。
演算対象レイヤ 演算対象フィールド
演算内容
(Python 形式で 関数を記述)
Calファイルを読 み 込 ん だ 場 合 は、関数の説明 も 記 述 さ れ て い ます。
関数名と引数
カッコ内は引数 Calファイルの読み込み
58
表.Calファイル一覧とその演算内容
Calファイル名 演算内容
get_age-年齢の計算.cal フィールドに格納されている日付と引数に設定した日付か
ら年齢を計算します。
getCenterX-X座標の算出.cal ポイントのX座標値、またはポリゴンの重心X座標値を返
します。
getCenterY-Y座標の算出.cal ポイントのY座標値、またはポリゴンの重心Y座標値を返
します。
han2zen_all-英数字_記号_カタカナを半角から全角に変換.cal フィールド内の英数字、記号、カタカナを半角から全角へ
変換します。
han2zen_eisu-英数字を半角から全角に変換.cal フィールド内の英数字を半角から全角へ変換します。
han2zen_kigo-記号を半角から全角に変換.cal フィールド内の記号を半角から全角へ変換します。
left-左側から指定文字数の文字を返す.cal 文字の左側から指定した数の文字列を返す
midByChr_Left-指定文字から左側の文字を返す.cal 指定文字列から左側の文字列を返します。
midByChr_Right-指定文字から右側の文字を返す.cal 指定文字列から右側の文字列を返します。
mid-指定位置から指定文字数の文字を返す.cal 開始位置から指定した数の文字列を返します。
right-右側から指定文字数の文字を返す.cal 右側から指定文字数の文字を返します。
trim-両端空白文字を削除した文字を返す.cal 指定文字の両端から全角半角空白除いた文字列を返し
ます。
zen2han_all-英数字_記号_カタカナを全角から半角に変換.cal フィールド内の英数字、記号、カタカナを全角から半角へ
変換します。
zen2han_eisu-英数字を全角から半角に変換.cal フィールド内の英数字を全角から半角へ変換
zen2han_kigo-記号を全角から半角に変換.cal フィールド内の記号を全角から半角へ変換します。
zfill-数値文字を指定桁で0埋め.cal :数値文字列の左側を指定桁で0埋めする
※ 桁埋めは半角数字のみのフィールドに対して有効で す。
59