シンプルなデータ マッピングの開始
まず、チュートリアルに必要となるすべてのデータが含まれる .zip ファイルをダウンロードします。 データをダウンロードした後、シンプルなデータ マッピング ワークブックを作成してデータを入力します。このワークブックでは、ソース ジオデータベースからターゲットのユーティリティ ネットワーク モデルへのデータの移行方法を定義します。
データのダウンロードと内容確認
まず、このチュートリアル用のデータをダウンロードします。
- Water_Data_Loading .zip ファイルをダウンロードし、コンピューター上の場所 ([ドキュメント] フォルダーなど) に展開します。
- この .zip ファイルを展開した場所を参照し、[Water_Data_Loading] フォルダーを開きます。 [Water Data Loading] ArcGIS Pro プロジェクト パッケージを開きます。
ArcGIS Pro が起動し、サンプルの配水ユーティリティ データのマップが表示されます。
このマップはユーティリティのデータを表します。 現時点では、LGIM (Local Government 情報モデル) スキーマを使用しています。 そのため、特定のフィーチャクラスと属性のセットを使用してデータが記録されています。
- [コンテンツ] ウィンドウで、スクロールして [Fitting]、[Station]、[Service] の各レイヤーを見つけます。
各レイヤーは、それぞれの属性テーブル ([Fitting Type]、[Structure Type]、[Line Type]) に存在する属性を使用してシンボル表示されています。 これらの属性は後で、既存のデータ スキーマからユーティリティ ネットワークのスキーマへのマッピングを開始する際に使用します。
シンプルなマッピングの作成
このセクションでは、シンプルなデータ マッピング ワークブックを作成します。このワークブックは、高水準のデータ マッピングを記録するために使用されます。 このデータ マッピングでは、フィーチャをユーティリティ ネットワークに移行する方法を定義できます。 このプロセスの後半では、ツールによりこのマッピングを読み取り、それを使用してデータ モデルをカスタマイズしたり、データ固有のデータ移行を組み立てたりします。
- [カタログ] ウィンドウで、[ツールボックス] を展開します。 [UtilityDataManagementSupport] ツールボックスを展開します。 [データの移行] ツールセットを展開します。
注意:
リボンの [表示] タブをクリックして [カタログ] ウィンドウを開くことができます。 [ウィンドウ] グループで、[カタログ ウィンドウ] をクリックします。
- [シンプルなデータ マッピングの作成] ツールを開きます。
[ジオプロセシング] ウィンドウが表示され、[シンプルなデータ マッピングの作成] ツールが開きます。 このツールは、ソース ジオデータベースのスキーマを、アセット パッケージと呼ばれる、ユーティリティ ネットワークのスキーマにマッピングする Microsoft Excel ワークブックを作成します。 このチュートリアルでは、ArcGIS Pro プロジェクトの [water_source.gdb] から [WaterEssentials_AssetPackage.gdb] にマッピングします。
- 次のパラメーターを設定します。
- [ソース データセット] で、プロジェクト フォルダーを参照し、[water_source.gdb] を選択します。
- [アセット パッケージ] で、プロジェクト フォルダーを参照し、[WaterEssentials_AssetPackage.gdb] を選択します。
- [出力フォルダー] で、プロジェクト フォルダーを参照します。 右クリックして [フォルダー] を選択し、フォルダーを作成します。 [Migration Workspace] という名前を付けます。 選択して、[OK] をクリックします。
- [出力名] に「Initial Mappings」と入力します。
[シンプルなデータ マッピングの作成] ツールは、サブタイプを使用して、ソース データベースの各レイヤーに格納される設備のタイプを区別します。 データにサブタイプが含まれていない場合は、[ソース タイプ] パラメーターを使用して、各レイヤーのフィーチャを分類するために使用される、ツールの一連のフィールドを手動で設定できます。
このソース データにはサブタイプが含まれていないため、テーブルを作成し、3 つのソース タイプで構成されるように編集します。 ソース タイプは、継手、ステーション構造物、サービス ラインなど、モデルに記録した設備のさまざまなタイプを識別するために重要です。
- [ソース タイプ] で、[テーブルの作成] をクリックします。
[Create_Simple_Data_Mapping_Source_Types] テーブルが作成され、[コンテンツ] ウィンドウに追加されます。 このテーブルに、[Fitting]、[Station]、[Service] の各レイヤーのシンボル表示に使用される属性フィールドを設定します。 これらの属性をテーブルに入力する際には、フィールドのエイリアスではなくフィールド名を使用します。
- [コンテンツ] ウィンドウで、[Create_Simple_Data_Mapping_Source_Types] を右クリックして [開く] を選択します。
[Create_Simple_Data_Mapping_Source_Types] テーブルが開きます。 このレイヤーは空です。 対象となる各属性に対応する 3 つの行を追加します。
- [Create_Simple_Data_Mapping_Source_Types] テーブルで、[クリックして、新しい行を追加します] をクリックします。
- 表示された最初の行で、[ソース タイプ] に「fittingtype」と入力して Enter キーを押します。
- 2 行目を追加し、[ソース タイプ] に「linetype」と入力して Enter キーを押します。
- 3 行目を追加し、[ソース タイプ] に「structtype」と入力して Enter キーを押します。
注意:
入力した値は、このチュートリアルで機能するものです。 しかし、独自のユーティリティ データを使用する場合は、各種アセットを区別するための類似したフィールドを指定する必要があります。
編集した内容をテーブルに保存したら、次に [シンプルなデータ マッピングの作成] ツールを実行します。
- [ジオプロセシング] ウィンドウで、[編集は保存されていません] の下にある [編集の保存] をクリックします。
- [実行] をクリックします。
ツールにより、シンプルなデータ マッピングの Excel ワークブックが [DataMapping] という名前で作成されます。このワークブックを使用して、ソース データ内のすべてのネットワーク レイヤーを、対応するユーティリティ ネットワークのフィーチャにマッピングします。 このテーブルは、データ内に存在するレイヤーとサブタイプを使用して動的に生成されます。
- [Create_Simple_Data_Mapping_Source_Types] テーブルを閉じます。
シンプルなデータ マッピングのデータ設定
[DataMapping] ワークブックが作成されたので、次にソース データをユーティリティ ネットワークのフィーチャクラスに変換する方法を指定します。
まず、ワークブックを開きます。
- [カタログ] ウィンドウで、[フォルダー] を展開します。 [Water_Data_Loading] フォルダーと [Migration Workspace] フォルダーを展開します。
- [Initial Mappings] フォルダーを右クリックし、[ファイル エクスプローラーで表示] を選択します。
ファイル エクスプローラー ウィンドウが表示され、[Initial Mappings] フォルダーが開きます。 [DataMapping] Excel ワークブックが表示されます。
- [DataMapping] Excel ワークブックを開きます。
このスプレッドシートには、各フィーチャクラスのフィーチャ データセット、ソース タイプ、ソース クラスなどの、ソース データベースに関する情報が含まれています。 このテーブルを使用して、ユーティリティ ネットワークへ移行するフィーチャを指定します。 ソース データベースのレイヤーには、ユーティリティ ネットワーク内に対応するフィーチャがないものもあります。その場合は、スプレッドシート内のその行をスキップします。
次に、ソース データで [Source Class] 列に表示されているフィーチャクラスを、[Target Utility Network Layer] 列を使用して、適切なユーティリティ ネットワークのフィーチャクラスにマッピングします。 テーブルの 2 行目にある [wCasing] フィーチャクラスから始めます。 [wCasing] レイヤーは、水道本管への構造補強を表すライン レイヤーであり、ユーティリティ ネットワークの [StructureLine] フィーチャクラスに属します。
- 2 行目の [Target Utility Network Layer] 列で、[StructureLine] を選択します。
次に、[wCasing] レイヤーのアセット グループを選択します。
- 2 行目の [Target Asset Group] 列で、[Pipe Casing] を選択します。
最後に、[wCasing] レイヤーのアセット タイプを選択します。
- 2 行目の [Target Asset Type] 列で、[Casing] を選択します。
後で実行するデータ読み込みプロセスで、[wCasing] フィーチャクラスは、選択した [Target Utility Network Layer]、[Target Asset Group]、[Target Asset Type] に読み込まれます。
次に、同じプロセスを [wControlValve] レイヤーに対して実行します。 制御バルブは、ネットワーク内の水流に影響を及ぼすため、給水装置です。 また、水圧に影響を及ぼすため、[PressureValve] アセット グループにも属します。
- 3 行目で、次のように設定します。
- [Target Utility Network Layer] を [WaterDevice] に設定します。
- [Target Asset Group] を [Pressure Valve] に設定します。
- [Target Asset Type] を [Pressure Reducing] に設定します。
[wControlValve] フィーチャクラスがマッピングされました。 さらに、フィーチャクラス [wFitting] をマッピングします。 [DataMapping] テーブルには、継手を表す複数の行がありますが、8 行目にある [fittingtype] の値は、[Source Definition Query] 列に記載されているとおり [Other] と見なされます。
このターゲット モデルには、この [Other] 設備タイプと完全に一致するものはありませんが、Tee アセット タイプを選択することで、モデル内で T 字形継手のような役割を果たす場所に、これを配置することになります。
- 8 行目で、次のように設定します。
- [Target Utility Network Layer] を [WaterJunction] に設定します。
- [Target Asset Group] を [Fitting] に設定します。
- [Target Asset Type] を [Tee] に設定します。
次に、データ読み込みプロセスの実行中と実行後にこれらの継手を追跡するための新しいアセット タイプを指定します。 さらに、このスプレッドシートを使用して新しいアセット タイプを指定すると、[移行の作成] ツールはこの新しいアセット タイプを自動的に追加して、Tee アセット タイプと同じ構成と動作になるよう設定します。
- 8 行目の [New Asset Type] 列に「Other」と入力します。
この時点で、この作業を続けて、[Source Class] 列に示されている他のフィーチャクラスに対しても同じ手順を実行することも可能です。 ただし、先ほどダウンロードしたプロジェクト パッケージに、完成版のテーブルが含まれています。
- [DataMapping] テーブルを保存し、Excel を閉じます。
- File Explorer で、[Water_Data_Loading] フォルダーを参照します。 [CompleteMapping] Excel ファイルを開きます。
このテーブルは、ソース データをユーティリティ ネットワークにマッピングするために使用されます。 なお、ソース ジオデータベースのすべてのレイヤーがユーティリティ ネットワーク モデルのフィーチャになるわけではありません。 この例では、ソース ジオデータベース内にあるポリゴン境界フィーチャの [wOperationalArea] と [wPressureZone] には [Target Utility Network Layer] の値が指定されていません。
- Excel を閉じます。
これらのレイヤーをユーティリティ ネットワークに移行する場合は、データ移行時にこれらのソース レイヤーをソース ジオデータベースからターゲット ジオデータベースへと手動でコピーして貼り付ける必要があります。
移行ワークスペースの作成
このセクションでは、Excel でデータを設定したシンプルなデータ マッピングを使用して、データ モデルとデータ読み込みワークスペースを作成します。このワークスペースは、ソース データを、対応するユーティリティ ネットワークのフィーチャに変換します。
その後、データ読み込みワークスペースを調整して、システム バルブ レイヤーの必須フィールドの一部にデータを設定し、ユーティリティ ネットワークで操作できるようにします。
- ArcGIS Pro で、[カタログ] ウィンドウに移動します。 必要に応じて、[ツールボックス]、[UtilityDataManagementSupport]、[データの移行] の順に展開します。
- [移行ワークスペースの作成] ツールをダブルクリックします。
[移行ワークスペースの作成] ツールでは、ソース ジオデータベース、データの移行先となるアセット パッケージ、データ入力済みのデータ マッピング テーブル、供給エリアを表すフィーチャクラスが必要になります。 また、このワークスペースの保存先を指定し、名前を付けます。
- [ジオプロセシング] ウィンドウで、次のように設定します。
- [ソース データベース] で、プロジェクト フォルダーを参照し、[water_source.gdb] を選択します。
- [アセット パッケージ] で、プロジェクト フォルダーを参照し、[WaterEssentials_AssetPackage.gdb] を選択します。
- [データ マッピング スプレッドシート] で、プロジェクト フォルダーを参照し、[CompleteMapping] を選択します。
- [供給エリア ポリゴン] で、[water_source.gdb] を参照します。 [WaterDistribution] フィーチャ データセットを開き、[wOperationalArea] フィーチャクラスを選択します。
- [出力フォルダー] で、プロジェクト フォルダーを参照します。 [Migration Workspace] を開き、[Initial Mappings] を選択します。
- [出力名] に「Initial Workspace」と入力します。
ユーティリティ ネットワークを初めて試験的に作成している場合、ソース フィーチャクラスのすべてのフィールドとドメインが、対応するユーティリティ ネットワーク レイヤーにコピーされていることも確認したいため、[フィールドのコピー] オプションを使用します。
すべてのフィールドをコピーすることで、試験的な作成時に移行対象データベースのソースとターゲット モデルを比較しやすくなります。 試験的な作成が完了した後、すべてのフィールドを確認して、残すフィールドと削除するフィールドを判断します。
- [フィールドのコピー] の横にあるチェックボックスをオンにします。
- [実行] をクリックします。
- [カタログ] ウィンドウで、[フォルダー]、[Water_Data_Loading]、[Migration Workspace]、[Initial Mappings]、[Initial Workspace]、[DataLoadingWorkspace] の順に展開します。
注意:
表示されないフォルダーがある場合は、[Water_Data_Loading] フォルダーを右クリックして、[更新] を選択します。
[Initial Workspace] フォルダーには、[Initial Workspace.gdb] というターゲット データ モデルと、[DataLoadingWorkspace] フォルダーがあります。このフォルダーには、Esri データ読み込みツールを使用したデータの移行に必要となるすべてのファイルが含まれています。
ターゲット データ モデルには、シンプルなデータ マッピング ワークブックで指定したすべてのアセット タイプと、フィールドのコピー オプションを使用して移行されたフィールドが含まれています。
ワークスペースを使用して、その作成時のとおりにデータを移行できますが、ユーティリティ ネットワークのいくつかの必須フィールドにデータを設定するために、このワークスペースに対して若干の調整を行う必要があります。
システム バルブ ワークブックの準備
[移行ワークスペースの作成] ツールで、データをユーティリティ ネットワークに移行するデータ読み込みツールで使用される、データ移行ワークスペースが作成されました。 これらは汎用のデータ読み込みツールであるため、ユーティリティ ネットワーク モデルに必要な特殊なフィールドにデータを設定するための専用のロジックが含まれていません。
このモジュールでは、データ読み込みワークスペースを変更して、システム バルブのいくつかの必須フィールドにデータを設定し、ネットワークが適切にトレースできるようにします。
データ ディクショナリを開く
データのマッピングを開始する前に、プロジェクトと共に含まれるデータ ディクショナリを使用して、データ モデルを確認します。
注意:
スキーマに変更を加えた場合は、[スキーマ レポートの生成] ツールを使用して、新規のデータ ディクショナリを生成する必要があります。
- File Explorer で、[Water_Data_Loading] フォルダーに移動します。 [WaterEssentials_DataDictionary] Excel ファイルをダブルクリックします。
Excel が開き、[WaterEssentials_UtilityNetwork] ジオデータベースのデータ ディクショナリが表示されます。
- [Datasets] で、[main.Network] をクリックします。
- [NetworkAttributeAssignment] をクリックします。
このリストにはこのユーティリティ ネットワーク データ モデルに必須のフィールドがすべて表示されます。
これらのフィールドには、データ読み込み時にデフォルト値が入力されますが、ソース データに同様の目的を持つ追加のフィールドがすでに含まれている場合は、ソース フィールドから値をマッピングして、移行時にこれらの新規フィールドに入力する必要があります。
- [NetworkAttributeAssignment] で、[Source Name] フィールドをフィルターして、[main.WaterDevice] のみを表示します。
注意:
[Source Name] 列でフィルターできない場合は、Excel 画面上部の [編集を有効にする] ボタンをクリックする必要があるかもしれません。
[Field Name] の下に表示される以下の値は、ユーティリティ ネットワークが適切に機能するために重要です。
- [Asset Group] - このフィールドはシンプルなデータ マッピング ツールを使用してマッピングされます。 アセット グループ属性は、ユーティリティ ネットワーク クラスの主な分類を表します。
- [Asset Type] - このフィールドは、シンプルなデータ マッピング ツールを使用してマッピングされます。 アセット タイプ属性は、ユーティリティ ネットワーク クラスの補助的な分類を表します。 これにより、各アセット グループをさらに細かく分類できます。
- [Is Subnetwork Controller] - これはユーティリティ ネットワークで管理されるフィールドです。 フィーチャが、サブネットワークの起点を定義するサブネットワーク コントローラーとしてネットワークに加わるかどうかを示します。
- [Tier Name] - これはユーティリティ ネットワークで管理されるフィールドです。 サブネットワークが属している層の名前です。
- [Construction Status] - このフィールドはフィーチャの構築ステータスを作業管理システムから特定します。
- [Lifecycle Status] - このフィールドはトレース中に使用され、フィーチャが稼働中かどうかを特定します。
- [Operable] - このフィールドは分離トレース中に使用され、操作可能な設備を特定します。
- [Normal Status] - このフィールドはトレース中に使用され、バルブが開いているのか閉じているのかを特定します。
次のセクションでは、[移行ワークスペースの作成] ツールで作成した Excel ワークブックを使用して、これらのフィールドをさらに詳しく調べます。
フィールド マッピング
まず、システム バルブ ワークブックの最初のシートのフィールド マッピングにデータを入力します。 利用可能なデータを使用して、ターゲット データ モデルのできるだけ多くのフィールドにデータを入力することが目的です。 フィーチャクラスのすべてのフィールドが必要なわけではないため、あるフィールドの値が存在しない場合やそのフィールドへのデータ入力方法がよく分からない場合は、そのフィールドをスキップし、必要に応じて後で処理してもかまいません。
- ArcGIS Pro の [カタログ] ウィンドウで、[DataReference] を右クリックし、[ファイル エクスプローラーで表示] を選択します。
- File Explorer で、[DataReference] ワークブックを開きます。
このワークブックは、ソース データ内のさまざまなデータセットの概要と、どのデータセットがユーティリティ ネットワークにマッピングされるのかを示します。 ソースとターゲットのデータセット間で属性がどのようにマッピングされるかを理解するために、[MappingWorkbook] 列にあるテーブルの 1 つを詳しく調べます。 ここでは、ユーティリティのシステム バルブの属性をマッピングします。
- [MappingWorkbook] 列の、[DataMapping/Points/wSystemValve-WaterDevice.xlsx] をクリックします。
[wSystemValve-WaterDevice] ワークブックが開きます。 [TargetField] 列にユーティリティ ネットワークのアセット タイプの属性フィールドが一覧表示されます。 ソース データからこれらのユーティリティ ネットワーク属性に入力される、フィールドまたはマッピングされた値は、[Expression] 列で確認できます。
ご覧のとおり、[Expression] 列の値の一部は自動でマッピングされています。 移行ワークスペースの作成ツールは、ソースとターゲットのデータセットで同じ名前のフィールドに対して、データ マッピングを自動で作成します。 また、フィーチャのアセット グループとアセット タイプ フィールドが、シンプルなデータ マッピング ワークブックで指定されたため、これらを計算します。 ただし、ユーティリティ ネットワークで必須となる他のフィールドには、マッピングを作成する必要があります。
前のセクションの最後に、システム バルブ アセット タイプに必須となる複数のフィールドを示しました。 [Expression] 列から、[Asset Group]、[Asset Type]、[Operable] が入力されることが分かります。 [Is Subnetwork Controller] 属性と [Tier Name] 属性はユーティリティ ネットワークが管理するシステム フィールドです。 ただし、[Construction Status]、[Lifecycle Status]、[Normal Status] は入力されません。
ソースの [wSystemValve] フィーチャクラスのどの属性が、これら 3 つの必須フィールドに使用できるかを判断する必要があります。 ソース フィールドの全リストは、[SourceSchema] スプレッドシートで確認できます。
- [SourceSchema] タブをクリックします。
[wSystemValve] フィーチャクラスのスキーマが表示されます。 このフィールド リストを確認して、そのうちのどれが必須フィールドを入力するのに使用できるかを判断します。 所属している組織に社内データ ディクショナリまたはスキーマ リファレンスがあれば、その情報も参照できます。
[NORMALLYOPEN] フィールドはバルブの正常状態を、[ACTIVEFLAG] フィールドはライフサイクル状態の情報を記録します。 また、ユーティリティ ネットワークが、異なるフィールドを使用して、フィーチャの回転を捉えていることも分かりました。 属性は [ROTATION] と呼ばれますが、ユーティリティ ネットワークではこれは [symbolrotation] と呼ばれます。
ソース データ内で [constructionstatus] のフィールドは見つかりませんでしたが、 問題ありません。 データ移行プロセス中は、すべてのフィーチャのこのフィールドにデフォルト値が適用されます。
次に、ワークブックの Mapping タブに戻り、この情報を式のフィールドに追加します。
- [Mapping] タブをクリックします。
- [Expression] 列の [normalstatus] 行で、[!NORMALLYOPEN!] を選択します。
次に、同じ要領で残りのフィールドをマッピングします。
- [Expression] 列の [lifecyclestatus] 行で、[!ACTIVEFLAG!] を選択します。
- [Expression] 列の [symbolrotation] 行で、[!ROTATION!] を選択します。
2 つのモデルの共通フィールドを見つけたところで、ソース データからアセット パッケージにフィーチャをマッピングする最初のステップが完了しました。 次はルックアップを作成して、 ドメイン内の属性値をソース データとユーティリティ ネットワークのアセット パッケージとの間で確実に一致させます。
システム バルブのルックアップの作成
各フィールドのマッピングを作成し、2 つのレイヤー間で各フィールドが直接対応付けられていると想定しました。 このセクションでは、この想定を再検討し、ルックアップを作成して、ドメイン値をソース データとアセット パッケージ間で変換する必要がある状況を特定します。 これは、Yes の値を Y に変換するくらい単純なこともあれば、それより複雑な、ソース データの製造者名リストなどをターゲット データのコード群に変換することもあります。
ソース データセットの [ACTIVEFLAG] ドメイン値を詳しく調べて更新し、それらがユーティリティ ネットワークの [lifecyclestatus] ドメインの期待値と一致するかどうかを確認します。 一致しない場合は、ルックアップを作成して、古い値をユーティリティ ネットワークに適切な新しい値に変換します。
- [wSystemValve-WaterDevice] ワークブックで、[ACTIVEFLAG] タブをクリックします。
注意:
[ACTIVEFLAG] タブが見つかるまでワークブックのタブをスクロールする必要があるかもしれません。
このタブには、ソース データセット内の [ACTIVEFLAG] フィールドのドメイン値が表示されます。
値は 2 つあります。バルブが稼働中であれば 1、すなわち True に、稼働していない場合は 0、すなわち False になります。
次に、ユーティリティ ネットワークのライフサイクル状態のフィールドに適切な値を調べます。
- [WaterEssentials_DataDictionary] ワークブックを復元します。 [TOC] (目次) タブをクリックします。
- [Datasets] で、[main.WaterDevice] をクリックします。
WaterDevice フィーチャクラスに関する詳細情報を含む、ワークブックの新しいタブに自動的に移動します。
次に、このフィーチャクラス内のサブタイプを詳しく調べます。 ユーティリティ ネットワークの各レイヤーのサブタイプ フィールドはそのアセット グループです。
注意:
ユーティリティ ネットワークのすべてのアセット グループには対応するサブタイプがあるため、アセット グループについての説明では、アセット グループという用語とサブタイプという用語が同義で使われることがよくあります。
- [SubtypeFieldInfo] をクリックします。
水関連の装置のアセットがすべて一覧表示されますが、ここでは、システム バルブに注目します。 そこで、テーブルをフィルターして、このアセット タイプのみが表示されるようにします。
- [Subtype Name] 列をフィルターして、[System Valve] のみが表示されるようにします。
ユーティリティ ネットワーク内の [System Valve] とそのフィールドが表示されます。 [Field Name] 列に、このアセット タイプに関連する属性が表示されます。
- [Field Name] 列で、[lifecyclestatus] 属性を表す行を探します。
デフォルト値の [2] が入っています。 データ読み込みプロセス中にこれを更新しなければ、すべてのシステム バルブに 2 の値が付与されます。 2 は何を意味するのでしょうか。 このコード値の意味を知るために、ライフサイクル状態のドメインを確認します。
- [Domain Name] 列にある、[lifecyclestatus] 属性で、[Lifecycle_Status] をクリックします。
このドメインの値を説明する別のワークシートに自動で移動します。 [DomainCodedValue] に、値が 4 つ一覧表示されています。 デフォルト値の [2] は、[稼働中] のアセットを表します。
これで、ユーティリティ ネットワークが使用するライフサイクル状態の値が分かりました。 しかし、ソース データの有効なフラグのフィールドの値は 0 と 1 で、ユーティリティ ネットワークの値と完全には一致しません。 そのため、[wSystemValve-WaterDevice] ワークブック内の [ACTIVEFLAG] タブを更新して、その値をユーティリティ ネットワークに適切な値に変換します。
- [wSystemValve-WaterDevice] ワークブックに戻ります。 必要に応じて、[ACTIVEFLAG] タブをクリックします。
ルックアップを作成し、値をユーティリティ ネットワークに適切な値に変換します。そのために、[ACTIVEFLAG] タブに列を 2 つ追加します。 列の 1 つはコード用で、もう 1 つは説明用です。
- [BooleanDomain (Description)] フィールドの横の列 C に、「New Lifecycle Status」と入力します。 D 列に「Description」と入力します。
注意:
これらの列の作成時には、列に任意の名前を付けられますが、このチュートリアルでは指定された名前を使用します。 ご自身で移行される場合は、ご自身の命名規則に従って名前を付けてください。
- 行 2 の [New Lifecycle Status] 列に、「0」と入力します。 [Description] に、「Out of Service」と入力します。
ソース データセットの値 0 が、ユーティリティ ネットワークの値 0 と一致します。 値 1、すなわち [True] の値を変換する必要があります。 ユーティリティ ネットワークでは、この値は [2] で、その説明は [稼働中] であることを思い出してください。
- 行 3 の [New Lifecycle Status] 列に、「2」と入力します。 [Description] に、「In Service」と入力します。
データが読み込まれると、ソース データの値 1 が 2 に変換されます。 これで、ユーティリティ ネットワークはこのデータを正しく読み取るようになり、システム バルブが稼働中になります。
ルックアップの作成を完了したところで、これらの列を参照するよう、[Mapping] シートを更新します。
- [Mapping] タブをクリックします。
- [lifecyclestatus] 行を見つけます。 以下を実行します。
- [LookupSheet] 列に「ACTIVEFLAG」と入力します。
- [LookupKeys] 列に「ACTIVEFLAG」と入力します。
- [LookupValue] 列に、「New Lifecycle Status」と入力します。
- [LookupDefault] 列に、「2」と入力します。
[LookupSheet] の値は、ルックアップ情報を保存するワークシートのタブを決定します。 [LookupKey] の値は、[LookupSheet] ワークシートのどの列にソース データの元々の値が含まれているのかを示します。 [LookupValue] は、データ移行時に使用され、ユーティリティ ネットワークの値と一致する値がどの列に含まれるかを示します。 [LookupDefault] はデフォルト値になるべき値を決定します。 今回の場合、これは [2]、すなわち [稼働中] です。
値を入力すると赤色でハイライト表示されます。 これは、式とルックアップの両方を同じ行に同時に定義できないからです。 この問題を解決するには、式を削除します。
- [lifecyclestatus] 行の、[Expression] 列内のテキストを削除します。
赤のハイライト表示が解除されます。
- [wSystemValve-WaterDevice] ワークブックを保存します。
- これまでに開いた Excel ワークブックを閉じます。
[WaterEssentials_DataDictionary] ワークブックや [DataReference] ワークブックを保存する必要はありません。
システム バルブのレイヤーに関して、ソース データからユーティリティ ネットワークへの値のマッピングが完了しました。 これでユーティリティ ネットワークをデプロイして、データをこのデータ モデルに移行する準備が整いました。
データのユーティリティ ネットワークへの読み込み
ここでは、データ読み込みツールにより、データ マッピング ワークスペースを使用して、アセット パッケージ ワークスペースにデータを入力します。 そして、このアセット パッケージを使用して、ローカルのユーティリティ ネットワークを品質保証のためにデプロイします。 ユーティリティ ネットワークをデプロイしたら、移行したデータを検証して、データを参照して解決する必要のあるトポロジの問題を特定します。
データ移行の実施
ここでは、データ読み込みジオプロセシング ツールを実行して、ソース ジオデータベースからのデータを、このチュートリアルで作成したワークブックを使用してアセット パッケージに変換します。
- ArcGIS Pro を開きます。 必要に応じて、[Water Data Loading] プロジェクトを開きます。
- リボンの [解析] タブをクリックします。 [ジオプロセシング] グループで、[ツール] をクリックします。
[ジオプロセシング] ウィンドウが表示されます。
- [ツールボックス] タブをクリックします。 [システム] で、[データ管理ツール]、[データの読み込み] の順に展開します。 [ワークスペースを使用したデータの読み込み] ツールを開きます。
注意:
マッピングをテスト中で、ターゲット データベースにデータを設定したくない場合は、[プレビューへのデータの読み込み] ツールを使用して、レビュー用の仮のジオデータベースへの移行を実行します。
- [Data Reference Workbook] で、[参照] をクリックします。 [Water_Data_Loading] フォルダーを参照します。 [Migration Workspace]、[Initial Mappings]、[Initial Workspace]、[DataLoadingWorkSpace] の順にフォルダーを開きます。
- [DataReference] を選択し、[OK] をクリックします。
- [実行] をクリックします。
ユーティリティ ネットワークのデプロイ
ここでは、[Utility Network Package Tools] ツールボックスを使用して、品質保証およびテストのためにユーティリティ ネットワークをローカル ジオデータベースにデプロイします。
- [ジオプロセシング] ウィンドウで、[戻る] をクリックします。
- [プロジェクト] で、[Utility Network Package Tools] ツールボックスを展開します。 [アセット パッケージ] ツールセットを展開します。 [アセット パッケージからジオデータベース] ツールを開きます。
[アセット パッケージからジオデータベース] ツールは、品質保証のために、ユーティリティ ネットワークをローカル ジオデータベースにデプロイするために使用します。
注意:
データをエンタープライズ ジオデータベースにデプロイするには、[ユーティリティ ネットワークのステージング] ツールと [アセット パッケージの適用] ツールを使用します。 これらのツールは完全にクリーンなデータセットを本番環境にデプロイするのに最もよく使われます。
- [アセット パッケージ] で、[Initial Workspace] フォルダーを参照します。 [Initial Workspace.gdb] を選択して [OK] をクリックします。
[供給エリア フィーチャクラス] パラメーターは自動で入力されます。 さらに、これにより、[Initial Workspace] ジオデータベースの内容を使用して、ツールの多くのエレメントが事前に設定されます。 デフォルトで、出力ジオデータベースはプロジェクトのベース ディレクトリに作成されます。
今回が、ソース データをユーティリティ ネットワークに移行する初めての操作であることから、ユーティリティ ネットワークを自動で後処理する機能を無効にする方が望ましいでしょう。 ポスト プロセスのチェックボックスをオフにすれば、トポロジが無効なままでデータ移行の品質保証を実施できます。 ポスト プロセスのチェックボックスがオフになっていない場合、あまりに多くのエラーが検出されると、デプロイメントが失敗します。
- [アセット パッケージ オプション] で、 [ポスト プロセス] の横のチェックボックスをオフにします。
- [実行] をクリックします。
注意:
このツールの実行が完了するまでには、数分かかることがあります。 このツールを独自のデータで実行する場合、入力ジオデータベースのサイズによってはさらに時間がかかることがあります。
品質保証の実施
ローカル ユーティリティ ネットワークのデプロイが完了したので、次は品質保証を実施して、データ内のトポロジ エラーを特定します。 幸いなことに、ユーティリティ ネットワークは、最初に有効にしたときに、ネットワーク内のすべてのフィーチャを検証します。 トポロジが有効になると、ダーティ エリアを使用してフィーチャを編集するたびに、ネットワーク トポロジを継続的に追跡および検証します。
トポロジ エラーが特定されたら、エラーの確認と分類を行うためのレポートを出力します。 このレポートを使用して、ソース データのクリーンアップと構成変更を手動で実施する必要がある問題に対処します。
- [ジオプロセシング] ウィンドウの [戻る] ボタンをクリックします。
- [システム] で、[ユーティリティ ネットワーク ツール] ツールボックスを展開します。 [管理] ツールセットを展開し、 [ネットワーク トポロジの有効化] ツールを開きます。
- [入力ユーティリティ ネットワーク] で、[参照] をクリックします。 [入力ユーティリティ ネットワーク] ウィンドウで、[Water_Data_Loading] フォルダーを参照します。 [Initial Workspace_UtilityNetwork.geodatabase] を開き、 [main.UtilityNetwork] フィーチャ データセットを開きます。 [main.Network] を選択して、[OK] をクリックします。
注意:
[Water_Data_Loading] フォルダーで [Initial Workspace_UtilityNetwork.geodatabase] が見当たらない場合は、 [入力ユーティリティ ネットワーク] ウィンドウで右クリックし、[更新] を選択します。
次に、このツールで検出するエラー数の設定を変更します。
- [高度な設定] を展開します。
- [エラーの最大数] のデフォルト値を消去します。 [エラーのみを生成] の横にあるチェックボックスをオンにします。
[エラーの最大数] を空白のままにすると、ツールが特定するエラー数の制限が解除され、エラーが多すぎることが原因でツールが失敗することがなくなります。
[エラーのみ生成] を選択すると、ネットワーク トポロジを分析のために有効にしなくても、ネットワーク トポロジの検証によるエラーが保持されます。
- [実行] をクリックします。
注意:
チュートリアルのデータであれば、この処理は数秒で完了しますが、 大きなデータセットで実行すると、数分から数時間かかることがあります。
次に、結果を確認し、品質保証レポートを作成します。
- [戻る] ボタンをクリックします。
- [プロジェクト] で、[ユーティリティ データ管理サポート] ツールボックスを展開します。 [ユーティリティ ネットワーク] ツールセットを展開し、 [ユーティリティ ネットワーク エラーの集計] ツールを開きます。
- [入力ネットワーク] で、[Water_Data_Loading] フォルダーを参照します。 [Initial Workspace_UtilityNetwork.geodatabase] を開き、[main.UtilityNetwork] フィーチャ データセットを開きます。 [main.Network] を選択して、[OK] をクリックします。
このツールを使うと、さまざまなタイプのエラーを特定できます。 今回注目するのは、トポロジ エラーのみなので、[エラー オプション] はデフォルトで選択されている [エラー内のダーティ エリアおよび関連付けを抽出] のままにします。
デフォルトで、エラーの集計がプロジェクト フォルダーに保存されます。
- [実行] をクリックします。
[Summary.geodatabase] という名前のジオデータベースが作成されます。 ここに含まれているテーブルの一部を次に調べます。
- [カタログ] ウィンドウの [Water_Data_Loading] フォルダーで、[Summary.geodatabase] を展開します。 [main.View_Error_Summary] を右クリックして、[テーブルを開く] を選択します。
注意:
[Summary.geodatabase] が表示されない場合は、[Water_Data_Loading] フォルダーを右クリックして、[更新] をクリックします。
[main.View_Error_Summary] テーブルが開きます。 このテーブルにはユーティリティ ネットワークの全トポロジ エラーが集計されています。 このサンプルのデータセットには 4 種類のエラーがあります。
- [カタログ] ウィンドウの [Summary.geodatabase] で、[main.View_Errors_By_Type] テーブルを右クリックします。
このテーブルには、移行したデータ内のあらゆる種類のエラーの内訳がより詳細に示されています。 これはソース データの詳細なクリーンアップ計画の作成によく使用されます。
- [main.View_Errors_By_Type] テーブルと [main.View_Error_Summary] テーブルを閉じます。
- [カタログ] ウィンドウの [Summary.geodatabase] で、[main.Data] を展開します。
- [main.Errors] を右クリックし、[新しく追加] にポインターを合わせて、[マップ] を選択します。
ネットワーク エラーを表すポリゴンのレイヤーが、確認用にマップに追加されます。
- マップ上のポリゴンの 1 つを拡大表示します。 ポリゴンをクリックして、エラーを確認します。
エラーを含むこの [main.Errors] フィーチャクラスをソース データのマップに追加すると、本番環境用にユーティリティ ネットワークを準備する際にクリーンアップが必要なエリアが特定されます。 ソース データのクリーンアップを実施する必要がある箇所を示すためにこのフィーチャクラスをエディターに提供すると、有益になることがよくあります。
- [クイック アクセス ツールバー] で [プロジェクトの保存] をクリックします。
このモジュールでは、独自のデータ移行を実行して、ユーティリティ ネットワークを作成しました。 そして、ネットワーク トポロジを有効にして、ソース データのエラーを見つけ、その 1 つを詳しく調べました。
ソース データベースのデータをユーティリティ ネットワークの基本データ モデルの 1 つに移行して、プロトタイプのユーティリティ ネットワークを作成しました。 また、[シンプルなデータ マッピングの作成] ツールを使用して、ソース データベースのデータをターゲット データベースにマッピングするのに使用する、シンプルなデータ マッピング ワークブックを作成しました。 次に、[移行ワークスペースの作成] ツールを使用して、データ移行を作成しました。新しいアセット タイプを追加し、ソース データベースからフィールドをコピーすることにより、モデルを拡張しました。 さらに、フィールド マッピングを変更し、ルックアップを加えてデータ移行を調整して、データを 2 つのモデル間で変換しました。 そして、[ワークスペースへのデータの読み込み] ツールを使用して、データをターゲット アセット パッケージに移行しました。
最後に、[アセット パッケージからジオデータベース] ツールを使用して、ローカル ユーティリティ ネットワークを品質保証のためにデプロイしました。 次に、[ユーティリティ ネットワーク エラーの集計] ツールを使用して、データベース内の全トポロジ エラーのレポートを作成しました。 このレポートを使用すると、データ クリーンアップ計画を作成できます。 データ内のトポロジ エラーの特定方法を理解することは、ユーティリティ ネットワークへの移行の準備において重要な要素です。
ユーティリティ ネットワークの詳細については、このチュートリアル シリーズおよびチュートリアル ギャラリーをご参照ください。
他業種のデータ モデルの詳細については、「Introducing Utility Network Foundations」をご参照ください。 それぞれの基盤には、移行とユーティリティ ネットワークのデプロイの補助に使用するアセット パッケージが含まれています。 デプロイに使用するツールの詳細については、「An overview of the Utility Network Package Toolbox」をご参照ください。
データ移行とデータのクリーンアップのプロセスを行いやすくするためのその他のツールについては、「Utility Data Management Support Tools」をご参照ください。
また、データの読み込みに使用するツールの詳細については、「An overview of the Data Loading toolbox」をご参照ください。