[データの読み込みワークスペースの作成 (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 です。
- MaintainAttachments- データの読み込み処理中にアタッチメントを保持するかどうかを指定するブール値。 デフォルトは True です。
- PreserveGlobalIds- データの読み込み処理中に Global ID を保持するかどうかを指定するブール値。 デフォルトは False です。 サービスに読み込む場合、Global ID は保持できません。
- GeographicTransformations- データが読み込まれるときに使用される有効な地理座標系変換を定義します。
データ マッピング ワークブック
データ マッピング ワークブックは、データ マッピング フォルダーにあり、ジオメトリ タイプ別に整理されています。 各データ マッピング ワークブックは、データ参照ワークブックで定義されたソースとターゲットのペアの 1 つに対応しています。 以下で説明するオプションを使用して、ソースからターゲットにデータをマッピングする方法を定義するには、これらのワークブックを使用します。
マッピング ワークシート
フィールド マッピングを定義するには、このワークシートを使用します。 ワークシートは、ワークブック内に緑色でハイライト表示されます。
次に、列の定義を示します。
- TargetField- ターゲット データセットのフィールド。
- FieldType- ターゲット データセット内の各フィールドのフィールド タイプ。
- Expression- ドロップダウン メニューからフィールドを選択して、フィールドを直接マッピングするか、Python 式を作成します。 たとえば、これは、外部の Python 関数、または数値や文字列などの定数値を参照できます。
- LookupSheet- ルックアップ ワークシートを指定します。 これは、LookupKeys 列と LookupValue 列で使用する必要があります。
- LookupKeys- キーとして使用するルックアップ ワークシートの列を 1 つ以上指定します。 複数の列を使用するには、列をカンマで区切ります。
- LookupValue- ターゲット値として使用するルックアップ ワークシートの列を指定します。
- LookupDefault- ルックアップ ワークシートを使用する場合、このフィールドを使用して、デフォルト値を定義できます。 NULL 値およびルックアップ ワークシートで一致しない値には、この値が割り当てられます。 この列はオプションで、デフォルト値が使用されない場合、空のままにしておくことができます。
マッピング ワークシートの検証
ワークブックの条件付き書式では、特定のエラーや警告のタイプを色分けして表します。 それぞれの色の意味は以下のとおりです。
- 赤色の塗りつぶし - 赤色で塗りつぶされたセルは、ソース フィールドとターゲット フィールドの間に無効なデータ タイプがあることを意味します。 処理の際、ソース データ タイプとターゲット データ タイプが適合する可能性はほとんどなく、おそらくは変更の必要があります。
- オレンジ色の塗りつぶし - オレンジ色で塗りつぶされたセルは、ターゲット フィールドに対して無効なソース フィールド データが存在する可能性があることを意味します。 ソース データ タイプとターゲット データ タイプは適合しない可能性があるため、評価の必要があります。
- 水色の塗りつぶし - 水色で塗りつぶされたセルは、Expression 列と、ルックアップ列のいずれかに値が入力されていることを意味します。 式の列かルックアップ列に値を入れることはできますが、同時に入力はできません。
- 赤色のアウトライン - 赤色で囲まれたセルは、ルックアップ列に値が不足していることを意味します。 ルックアップ シートを使用する場合、LookupSheet 列、LookupKeys 列、LookupValue 列が完成している必要があります。
- 濃い青色の塗りつぶし - 濃い青色で塗りつぶされたセルは、TargetField 列のフィールド名が重複していることを意味します。 この列のすべての値は一意で、ターゲットのスキーマと対応する必要があります。
ルックアップ ワークシート
ソースとターゲット値のマッピングを定義するには、ルックアップ ワークシートを使用します。 これらは、マッピング ワークシートで、ルックアップ キーおよびルックアップ値として使用されます。 シートは、ドメインのコードと説明を含む列を使用して、ソース データ内のすべてのコード値ドメインに対して、自動的に作成されます。 複数値のルックアップをサポートするために、ソース データ内のフィールドを表す追加の列が手動で追加されます。 これらのワークシートは、ワークブック内に青色でハイライト表示されます。
[データの読み込みワークスペースの作成 (Create Data Loading Workspace)] ツールの [予測フィールド マッチング オプション] パラメーターが [ドメイン コード値の説明の類似性] に設定されている場合、ソース ドメインとターゲット ドメインの間に、ルックアップ ワークシートが自動的に生成されます。 最初にソース データ列が追加され、その後に一致するターゲット データ列が追加されます。
グローバル ルックアップ ワークブック
グローバル ルックアップ ワークブックは、ローカル ルックアップ ワークシートと同じように動作しますが、多数のマッピング ワークブックで 1 つのルックアップ ワークシートを使用できます。 グローバル ルックアップ ワークブックは、データ読み込みワークスペースの DataMapping\GlobalLookup ディレクトリにあります。 グローバル ルックアップ ワークシートを参照する場合、マッピング ワークブックの LookupSheet 列で、ルックアップ シート名を括弧で囲みます。 たとえば、グローバル ルックアップ ワークシートの名前が「Materials」の場合、マッピング シートの LookupSheet 列で [Materials] として参照します。 これにより、ローカル ルックアップ シートではなくグローバル ルックアップ ワークシートから値を取得するよう、データ読み込みツールに指示します。
スキーマ ワークシート
ソース データセットとターゲット データセットに関するスキーマ情報を表示するには、これらのワークシートを使用します。 マッピング ワークスペースの作成で使用されますが、処理では使用されません。 これらのワークシートは、ワークブック内に黄色でハイライト表示されます。
情報ワークシート
必要に応じて、ソース サブタイプ値を定義するには、このワークシートを使用します。 このワークシートは、ワークブック内にオレンジ色でハイライト表示されます。
データ マッピング オプション
データ マッピング ワークブックで、データをマッピングするためのオプションがいくつか用意されています。 Lookup 列または Expression 列を使用できますが、1 つのターゲット フィールドに使用できる方法は 1 つだけです。 データの読み込み処理に最適な方法を判断するには、すべてのオプションを確認してください。 以下に示すオプションは、マッピング ワークシートで構成されます。
式
Expression 列を使用して、互換性のあるデータ タイプのフィールドを直接マッピングできます。 一部のソース フィールドとターゲット フィールドは、フィールド名が同じ場合、自動的に照合されます。 自動的に照合されたフィールドを確認して、ソースとターゲットのデータ タイプが一致していること、コード ドメインが存在する場合は、値が等しいことを確認してください。
Expression 列をカスタマイズして、Excel に直接記述された Python 式を使用したり、Scripts フォルダー内の関数を呼び出したりすることもできます。 これが最適なオプションとなるシナリオを以下に示します。
- フィールド値を別のデータ タイプへ変換
- すべてのソース値を 1 つのターゲット値へマッピング
- GUID (Globally Unique Identifier) の作成
- シェープ操作を実行してジオメトリ タイプ間で変換
マッピング テーブル
マッピング テーブルでは、[マッピング テーブルの生成 (Create Data Loading Workspace)] ツールを使用して作成された一致を追加または上書きできます。 マッピング テーブルは、一致をブロックすることもできます。 マッピング テーブルを作成する場合、ソース データをターゲット データセットにマッピングする方法を指定します。 これにより、データ読み込み処理をより細かく制御できるようになり、フィールド、属性、ドメインの説明が正確にマッピングされます。 マッピング テーブルの使用は任意ですが、使用する場合は、[データの読み込みワークスペースの作成 (Create Data Loading Workspace)] ツールでは、入力としてマッピング テーブルを使用します。 テーブルで指定されたマッピングを考慮に入れ、作成される一致とブロックをサポートするために使用します。
マッピング テーブルの詳細については、[マッピング テーブルの生成 (Generate Mapping Table)] ツールのドキュメントをご参照ください。