データの読み込みワークスペースの概念

[データの読み込みワークスペースの作成 (Create Data Loading Workspace)] ツールは、データの読み込みワークスペース、データ参照ワークブック、マッピング ワークブックを作成します。

データの読み込みワークスペース

データの読み込みワークスペースには、フォルダー、Microsoft Excel ワークブック、およびソースからターゲット スキーマへのデータのマッピングを支援する、その他のアイテムが含まれます。 以下では、データ読み込みワークスペースのフォルダー構造について説明します。

  • データ マッピング フォルダーには、ソース データに応じて、次のフォルダーが含まれています。
    • Points - マッピングされた各ソース ポイント データセットのワークブックが含まれます。
    • Polygons - マッピングされた各ソース ポリゴン データセットのワークブックが含まれます。
    • Polylines - マッピングされた各ソース ポリライン データセットのワークブックが含まれます。
    • Table - マッピングされた各ソース テーブル データセットのワークブックが含まれます。
    • GlobalLookup - すべてのマッピング ワークブックで使用するルックアップ テーブルの作成に使用できる GlobalLookup.xlsx ワークブックが含まれます。
  • Scripts フォルダーには、カスタム関数を使用したデータの処理に使用できる、次のスクリプト ファイルが含まれます。 これらの関数は、マッピング ワークブックの Expression 列で使用できます。
    • base.py - マッピング ワークブックで、このファイルの基本的な関数を使用します。
    • shape_operations.py - マッピング ワークブックで、このファイルのシェープ操作関数を使用します。
    • user.py - カスタム関数には、このファイルを使用します。
  • Domains フォルダーには、ソース ワークスペースとターゲット ワークスペース内にあるすべてのドメインに関する、スキーマ情報を含むワークブックが含まれます。
  • DataReference.xlsx ファイルには、ソース、ターゲット、マッピングの各ワークブックへのパス、およびデータ読み込みの設定が含まれます。

データ参照ワークブック

データ参照ワークブックには、ソース、ターゲット、マッピングの各ワークブックへのパスが含まれます。 これらのアイテムの場所が変更された場合は、パスを手動で更新できます。 追加の列は、ソースからターゲットにデータを読み込む方法を制御します (特定のジオプロセシング環境設定を含む)。

次に、列の定義を示します。

  • Source- ソース データセットの場所。
  • SourceDefinitionQuery- ターゲット データセットにマッピングするソース データセットのサブセットを選択する SQL クエリを作成します。 たとえば、属性タイプが 0 のレコードのみを選択して、ターゲット データセットに読み込むには、Type = 0 を使用します。
  • Target- ターゲット データセットの場所。
  • TargetDeleteQuery- 読み込む前にターゲット データセットからデータを選択的に削除する SQL クエリを作成します。 たとえば、1=1 を使用すると、ターゲット データセット内にある既存のすべてのデータが削除されます。
  • MappingWorkbook- データ読み込みワークスペース内のデータ マッピング ワークブックの場所へのリンク。
  • Enabled- データの読み込み処理中にマッピング ワークブックを処理するかスキップするかを指定する True または False 値。 デフォルトは True です。
  • MaintainAttachments- データの読み込み処理中にアタッチメントを保持するかどうかを指定する True または False 値。 デフォルトは True です。
  • PreserveGlobalIds- データの読み込み処理中に Global ID を保持するかどうかを指定する True または False 値。 デフォルトは False です。 サービスに読み込む場合、Global ID は保持できません。
  • GeographicTransformations- データが読み込まれるときに使用される有効な地理座標系変換を定義します。

データ マッピング ワークブック

データ マッピング ワークブックは、データ マッピング フォルダーにあり、ジオメトリ タイプ別に整理されています。 各データ マッピング ワークブックは、データ参照ワークブックで定義されたソースとターゲットのペアの 1 つに対応しています。 以下で説明するオプションを使用して、ソースからターゲットにデータをマッピングする方法を定義するには、これらのワークブックを使用します。

マッピング ワークシート

フィールド マッピングを定義するには、このワークシートを使用します。 ワークシートは、ワークブック内に緑色でハイライト表示されます。

次に、列の定義を示します。

  • TargetField- ターゲット データセットのフィールド。
  • FieldType- ターゲット データセット内の各フィールドのフィールド タイプ。
  • Expression- ドロップダウン メニューからフィールドを選択して、フィールドを直接マッピングするか、Pythonを作成します。 たとえば、これは、外部の Python 関数、または数値や文字列などの定数値を参照できます。
  • LookupSheet- ルックアップ ワークシートを指定します。 これは、LookupKeys 列と LookupValue 列で使用する必要があります。
  • LookupKeys- キーとして使用するルックアップ ワークシートの列を 1 つ以上指定します。 複数の列を使用するには、列をカンマで区切ります。
  • LookupValue- ターゲット値として使用するルックアップ ワークシートの列を指定します。
  • LookupDefault- ルックアップ ワークシートを使用する場合、このフィールドを使用して、デフォルト値を定義できます。 NULL 値およびルックアップ ワークシートで一致しない値には、この値が割り当てられます。 この列はオプションで、デフォルト値が使用されない場合、空のままにしておくことができます。

ルックアップ ワークシート

ソースとターゲット値のマッピングを定義するには、ルックアップ ワークシートを使用します。 これらは、マッピング ワークシートで、ルックアップ キーおよびルックアップ値として使用されます。 シートは、ドメインのコードと説明を含む列を使用して、ソース データ内のすべてのコード値ドメインに対して、自動的に作成されます。 複数値のルックアップをサポートするために、ソース データ内のフィールドを表す追加の列が手動で追加されます。 これらのワークシートは、ワークブック内に青色でハイライト表示されます。

[データの読み込みワークスペースの作成 (Create Data Loading Workspace)] ツールの [予測フィールド マッチング オプション] パラメーターが [ドメイン コード値の説明の類似性] に設定されている場合、ソース ドメインとターゲット ドメインの間に、ルックアップ ワークシートが自動的に生成されます。 最初にソース データ列が追加され、その後に一致するターゲット データ列が追加されます。

スキーマ ワークシート

ソース データセットとターゲット データセットに関するスキーマ情報を表示するには、これらのワークシートを使用します。 マッピング ワークスペースの作成で使用されますが、処理では使用されません。 これらのワークシートは、ワークブック内に黄色でハイライト表示されます。

情報ワークシート

必要に応じて、ソース サブタイプ値を定義するには、このワークシートを使用します。 このワークシートは、ワークブック内にオレンジ色でハイライト表示されます。

データ マッピング オプション

データ マッピング ワークブックで、データをマッピングするためのオプションがいくつか用意されています。 Lookup 列または Expression 列を使用できますが、1 つのターゲット フィールドに使用できる方法は 1 つだけです。 データの読み込み処理に最適な方法を判断するには、すべてのオプションを確認してください。 以下に示すオプションは、マッピング ワークシートで構成されます。

Expression 列を使用して、互換性のあるデータ タイプのフィールドを直接マッピングできます。 一部のソース フィールドとターゲット フィールドは、フィールド名が同じ場合、自動的に照合されます。 自動的に照合されたフィールドを確認して、ソースとターゲットのデータ タイプが一致していること、コード ドメインが存在する場合は、値が等しいことを確認してください。

Expression 列をカスタマイズして、Excel に直接記述された Pythonを使用したり、Scripts フォルダー内の関数を呼び出したりすることもできます。 これが最適なオプションとなるシナリオを以下に示します。

  • フィールド値を別のデータ タイプへ変換
  • すべてのソース値を 1 つのターゲット値へマッピング
  • GUID (Globally Unique Identifier) の作成
  • シェープ操作を実行してジオメトリ タイプ間で変換