Q&A ユニークなID属性の作成

Q: 出力先データセットに書き込む際、個々のフィーチャーにユニークなID属性を与えるにはどのような方法がありますか。

FME 2019.1

A: そのワークスペースの1回の実行によって作成されるデータセット内だけでユニークであれば良いという場合は、Counterトランスフォーマーが便利です。

Counterは、フィーチャーの入力順に連番(1ずつ増える整数)を生成して属性に格納します。出力先データセットに書き出すだけでなく、ワークスペース内だけで使う一時的なIDを与えたい場合にも有用です。必要に応じてStringFormatterで書式を整えたり、StringConcatenator、AttributeCreator、AttributeManagerでプレフィクスやサフィクスをつけたりすることもできます。

Count Output Attribute: 生成した連番を格納する属性名を指定します

Counter Name: カウンターの名前を指定します。入力フィーチャーの属性または属性を使った文字列式を設定することにより、その値が同じフィーチャーのグループごとに同じ開始値から始まる連番を生成することもできます。

Count Start: 連番の開始値(整数)を指定します。

Count Scope:

Global – ワークスペース内に同じ名前(Counter Name)の Counter が複数あった場合、それらは共通のシーケンスに属する連番を生成します。

Local – ワークスペース内に同じ名前の Counter が複数あっても、それぞれが個別のシーケンスに属する連番を生成します。


グローバルにユニークなIDが必要な場合は、以下のトランスフォーマーを使うことができます。

  • UUIDGenerator: 入力フィーチャーごとに UUID (Universally Unique IDentifier) を生成して属性に格納します。
  • GOIDGenerator: 入力フィーチャーごとに GOID (Geographic Object IDentifier) を生成して属性に格納します。